code: def load_dict_values(self, db_key: str, dict_keys: List[str],
                           hierarchical: bool = False) -> List:
          
          result = []
          if not hierarchical:
              _values = self._db.hmget(db_key, *dict_keys)
              result = [ast.literal_eval(_value) for _value in _values]
          else:
              # Get all keys in the set of keys for this dict 'db_key'
              db_keys = self._db.keys(pattern=db_key + '*')
              for _db_key in db_keys:
                  # Check if one of the dict_keys is an entire sub-dict entry
                  for name in _db_key.split(':')[1:]:
                      if name in dict_keys:
                          _values = self._load_values(_db_key)
                          result.append(_values)
  
                  # Look in the sub-dict for any of the dict_keys
                  _values = self._db.hmget(_db_key, *dict_keys)
                  for i, value in enumerate(_values):
                      try:
                          _values[i] = ast.literal_eval(value)
                      except SyntaxError:
                          pass
                      except ValueError:
                          pass
                  result += [value for value in _values if value is not None]
          return result
docs: Load values from a dictionary with the specified dict_keys.
  
          Args:
              db_key (str): Key where the dictionary is stored
              dict_keys (List[str]): Keys within the dictionary to load.
              hierarchical (bool): If True, expect the dictionary to have been
                  stored hierarchically. If False, expect the dictionary to have
                  been stored flat.
  
  
          Returns:
              object: The value stored at dict_key in the dictionary stored at
              key