code: def _create_parser(cls, seed_values=None):
      
      seed_values = seed_values or {}
      buildroot = seed_values.get('buildroot', get_buildroot())
  
      all_seed_values = {
        'buildroot': buildroot,
        'homedir': os.path.expanduser('~'),
        'user': getpass.getuser(),
        'pants_bootstrapdir': get_pants_cachedir(),
        'pants_configdir': get_pants_configdir(),
      }
  
      def update_dir_from_seed_values(key, default):
        all_seed_values[key] = seed_values.get(key, os.path.join(buildroot, default))
  
      update_dir_from_seed_values('pants_workdir', '.pants.d')
      update_dir_from_seed_values('pants_supportdir', 'build-support')
      update_dir_from_seed_values('pants_distdir', 'dist')
  
      return configparser.ConfigParser(all_seed_values)
docs: Creates a config parser that supports %([key-name])s value substitution.
  
      A handful of seed values will be set to act as if specified in the loaded config file's DEFAULT
      section, and be available for use in substitutions.  The caller may override some of these
      seed values.
  
      :param seed_values: A dict with optional override seed values for buildroot, pants_workdir,
                          pants_supportdir and pants_distdir.