code: func (d *DedupManager) parseData(path string, raw []byte) {
  	// Setup the decompression and decoders
  	r := bytes.NewReader(raw)
  	decompress := lzw.NewReader(r, lzw.LSB, 8)
  	defer decompress.Close()
  	dec := gob.NewDecoder(decompress)
  
  	// Decode the data
  	var td templateData
  	if err := dec.Decode(&td); err != nil {
  		log.Printf("[ERR] (dedup) failed to decode '%s': %v",
  			path, err)
  		return
  	}
  	if td.Version != version.Version {
  		log.Printf("[WARN] (dedup) created with different version (%s vs %s)",
  			td.Version, version.Version)
  		return
  	}
  	log.Printf("[INFO] (dedup) loading %d dependencies from '%s'",
  		len(td.Data), path)
  
  	// Update the data in the brain
  	for hashCode, value := range td.Data {
  		d.brain.ForceSet(hashCode, value)
  	}
  
  	// Trigger the updateCh
  	select {
  	case d.updateCh <- struct{}{}:
  	default:
  	}
  }
docs: // parseData is used to update brain from a KV data pair