func New(o *Options) (*Jar, error) {
	jar := &Jar{
		entries: make(map[string]map[string]entry),
	}
	if o != nil {
		jar.psList = o.PublicSuffixList
	}
	return jar, nil
}
New returns a new cookie jar. A nil *Options is equivalent to a zero
Options.
package cookiejar
import (
	"errors"
	"fmt"
	"net"
	"net/http"
	"net/url"
	"sort"
	"strings"
	"sync"
	"time"
)
type PublicSuffixList interface {
	PublicSuffix(domain string) string
	String() string
}
type Options struct {
	PublicSuffixList PublicSuffixList
}
type Jar struct {
	psList PublicSuffixList
	mu sync.Mutex
	entries map[string]map[string]entry
	nextSeqNum uint64
}