code: def _ExpandUsersHomeDirectoryPathSegments(
        cls, path_segments, path_separator, user_accounts):
      
      if not path_segments:
        return []
  
      user_paths = []
  
      first_path_segment = path_segments[0].lower()
      if first_path_segment not in ('%%users.homedir%%', '%%users.userprofile%%'):
        if cls._IsWindowsDrivePathSegment(path_segments[0]):
          path_segments[0] = ''
  
        user_path = path_separator.join(path_segments)
        user_paths.append(user_path)
  
      else:
        for user_account in user_accounts:
          user_path_segments = user_account.GetUserDirectoryPathSegments()
  
          if not user_path_segments:
            continue
  
          if cls._IsWindowsDrivePathSegment(user_path_segments[0]):
            user_path_segments[0] = ''
  
          # Prevent concatenating two consecutive path segment separators.
          if not user_path_segments[-1]:
            user_path_segments.pop()
  
          user_path_segments.extend(path_segments[1:])
  
          user_path = path_separator.join(user_path_segments)
          user_paths.append(user_path)
  
      return user_paths
docs: Expands a path to contain all users home or profile directories.
  
      Expands the artifacts path variable "%%users.homedir%%" or
      "%%users.userprofile%%".
  
      Args:
        path_segments (list[str]): path segments.
        path_separator (str): path segment separator.
        user_accounts (list[UserAccountArtifact]): user accounts.
  
      Returns:
        list[str]: paths returned for user accounts without a drive indicator.