docs: def merge_from_dict(self, dct, lists_only=False):
          """
          Merges a dictionary into this configuration object.
  
          See :meth:`ConfigurationObject.merge` for details.
  
          :param dct: Values to update the ConfigurationObject with.
          :type dct: dict
          :param lists_only: Ignore single-value attributes and update dictionary options.
          :type lists_only: bool
          """
          if not dct:
              return
          self.clean()
          all_props = self.__class__.CONFIG_PROPERTIES
          for key, value in six.iteritems(dct):
              attr_config = all_props.get(key)
              if attr_config:
                  attr_type, default, input_func, merge_func = attr_config[:4]
                  if (merge_func is not False and value != default and
                          (not lists_only or (attr_type and issubclass(attr_type, list)))):
                      if input_func:
                          value = input_func(value)
                      self._merge_value(attr_type, merge_func, key, value)
              else:
                  self.merge_default_from_dict(key, value, lists_only=lists_only)