```\\nfunction innerHandleOp(bytes memory callData, UserOpInfo memory opInfo, bytes calldata context) external returns (uint256 actualGasCost) {\\n    uint256 preGas = gasleft();\\n    require(msg.sender == address(this), "AA92 internal call only");\\n    MemoryUserOp memory mUserOp = opInfo.mUserOp;\\n\\n    uint callGasLimit = mUserOp.callGasLimit;\\nunchecked {\\n    // handleOps was called with gas limit too low. abort entire bundle.\\n    if (gasleft() < callGasLimit + mUserOp.verificationGasLimit + 5000) {\\n        assembly {\\n            mstore(0, INNER_OUT_OF_GAS)\\n            revert(0, 32)\\n        }\\n    }\\n}\\n\\n    IPaymaster.PostOpMode mode = IPaymaster.PostOpMode.opSucceeded;\\n    if (callData.length > 0) {\\n        bool success = Exec.call(mUserOp.sender, 0, callData, callGasLimit);\\n        if (!success) {\\n            bytes memory result = Exec.getReturnData(REVERT_REASON_MAX_LEN);\\n            if (result.length > 0) {\\n                emit UserOperationRevertReason(opInfo.userOpHash, mUserOp.sender, mUserOp.nonce, result);\\n            }\\n            mode = IPaymaster.PostOpMode.opReverted;\\n        }\\n    }\\n\\nunchecked {\\n    uint256 actualGas = preGas - gasleft() + opInfo.preOpGas;\\n    //note: opIndex is ignored (relevant only if mode==postOpReverted, which is only possible outside of innerHandleOp)\\n    return _handlePostOp(0, mode, opInfo, context, actualGas);\\n}\\n}\\n```\\n