```\n  function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n      _transfer(sender, recipient, amount);\n      _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));\n      return true;\n  }\n```\n