func NewV4() (UUID, error) {
	return DefaultGenerator.NewV4()
}
NewV4 returns a randomly generated UUID.
package uuid
import (
	"crypto/md5"
	"crypto/rand"
	"crypto/sha1"
	"encoding/binary"
	"fmt"
	"hash"
	"io"
	"net"
	"os"
	"sync"
	"time"
)
const epochStart = 122192928000000000
type epochFunc func() time.Time
type HWAddrFunc func() (net.HardwareAddr, error)
var DefaultGenerator Generator = NewGen()
var (
	posixUID = uint32(os.Getuid())
	posixGID = uint32(os.Getgid())
)
func NewV1() (UUID, error) {
	return DefaultGenerator.NewV1()
}
func NewV2(domain byte) (UUID, error) {
	return DefaultGenerator.NewV2(domain)
}
func NewV3(ns UUID, name string) UUID {
	return DefaultGenerator.NewV3(ns, name)
}