    function _mint(
        address operator,
        address account,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
    internal
    {
        require(account != address(0), "ERC777: mint to the zero address");
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        _callTokensReceived(operator, address(0), account, amount, userData, operatorData, true);
        emit Minted(operator, account, amount, userData, operatorData);
        emit Transfer(address(0), account, amount);
    }