code: func (d *Downloader) DownloadBinaries(dir string) (map[string]string, error) {
  	if err := os.MkdirAll(dir, 0755); err != nil {
  		return nil, fmt.Errorf("error creating bin dir: %s", err)
  	}
  	paths := make(map[string]string, len(binaries))
  	for _, bin := range binaries {
  		path, err := d.downloadGzippedFile(bin, dir, true)
  		if err != nil {
  			return nil, err
  		}
  		if err := os.Chmod(path, 0755); err != nil {
  			return nil, err
  		}
  		paths[bin] = path
  	}
  	// symlink flynn to flynn-linux-amd64
  	if err := symlink("flynn-linux-amd64", filepath.Join(dir, "flynn")); err != nil {
  		return nil, err
  	}
  	return paths, nil
  }
docs: // DownloadBinaries downloads the Flynn binaries using the tuf client to the
  // given dir with the version suffixed (e.g. /usr/local/bin/flynn-host.v20150726.0)
  // and updates non-versioned symlinks.