```\n    function test_badDebtLiquidationAnte() public {\n\n        // malicious user borrows at max leverage + some safety margin\n        uint256 margin0 = 1e18;\n        uint256 borrows0 = 100e18;\n\n        deal(address(asset0), address(account), margin0);\n\n        bytes memory data = abi.encode(Action.BORROW, borrows0, 0);\n        account.modify(this, data, (1 << 32));\n\n        // borrow increased by 50%\n        _setInterest(lender0, 15000);\n\n        emit log_named_uint("User borrow:", lender0.borrowBalance(address(account)));\n        emit log_named_uint("User assets:", asset0.balanceOf(address(account)));\n\n        // warn account\n        account.warn((1 << 32));\n\n        // skip warning time\n        skip(LIQUIDATION_GRACE_PERIOD);\n        lender0.accrueInterest();\n\n        // liquidation reverts because it requires asset the account doesn't have to swap\n        vm.expectRevert();\n        account.liquidate(this, bytes(""), 1, (1 << 32));\n\n        // liquidate with max strain to avoid revert when trying to swap assets account doesn't have\n        account.liquidate(this, bytes(""), type(uint256).max, (1 << 32));\n\n        emit log_named_uint("Liquidated User borrow:", lender0.borrowBalance(address(account)));\n        emit log_named_uint("Liquidated User assets:", asset0.balanceOf(address(account)));\n        emit log_named_uint("Liquidated User ante:", address(account).balance);\n    }\n```\n