code: func wholeOffsets(zm []zipMetaInfo) []uint64 {
  	i := 0
  	var offsets []uint64
  	var currentOffset uint64
  	for _, z := range zm {
  		if i != z.wholePartIndex {
  			continue
  		}
  		offsets = append(offsets, currentOffset)
  		currentOffset += uint64(z.dataSize)
  		i++
  	}
  	// add the last computed offset to the slice, as it's useful info too: it's the
  	// size of all the data in the zip.
  	offsets = append(offsets, currentOffset)
  	return offsets
  }
docs: // wholeOffsets returns the offset for each part of a file f, in order, assuming
  // zm are all the (wholePartIndex) ordered zip parts that constitute that file. If
  // zm seems to contain duplicates, they are skipped. The additional last item of
  // the returned slice is the sum of all the parts, i.e. the whole size of f.