abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller. 
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }
}
function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }
/**
 * @dev Destroys `amount` tokens from the caller. 
 *
 * See {ERC20-_burn}.
 */