input: Write a function to find the maximum value within a nested dictionary. The function should return the highest value found in any of the dictionary's nested levels. If the dictionary is empty, it should return None.
  def findMaxValue(dict):
      max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val
  
  assert findMaxValue({"key1": {"value1": 10, "value2": 20}, "key2": {"value3": 40}}) == 40
  assert findMaxValue({"a": 5, "b": {"c": 30, "d": {"e": 20}}}) == 30
  assert findMaxValue({"x": {"y": 15, "z": {"w": 12}}}) == 15
  assert findMaxValue({}) == None
  assert findMaxValue({"key": {"inner_key": {"deep_key": 80}}}) == 80
output: def findMaxValue(dict):
      max_val = None
      for key, value in dict.items():
          if isinstance(value, dict):
              max_val = max(findMaxValue(value), max_val)
          else:
              max_val = max(value, max_val)
      return max_val