func newApplySource(seed string) *applySource {
	h := fnv.New32()
	h.Write([]byte(seed))
	s := &applySource{seed: int64(h.Sum32())}
	s.reset()
	return s
}
func newApplySource(seed string) *applySource {
	h := fnv.New32()
	h.Write([]byte(seed))
	s := &applySource{seed: int64(h.Sum32())}
	s.reset()
	return s
}
func newApplySource ( seed string ) * applySource { h := fnv . New32 ( ) h . Write ( [ ] byte ( seed ) ) s := & applySource { seed : int64 ( h . Sum32 ( ) ) } s . reset ( ) return s }
// newApplySource will create a new source, any source created with the same seed will generate the same sequence of data.
newApplySource will create a new source any source created with the same seed will generate the same sequence of data .