                  raise ValueError(err)
              return configfile
          dirname = os.path.dirname(sys.modules[self.__module__].__file__)
          folder, fname = os.path.split(dirname)
          retval = os.path.join(os.path.dirname(folder), "config", "{}.ini".format(fname))
          logger.debug("Config File location: '%s'", retval)
          return retval
  
      def add_section(self, title=None, info=None):
          """ Add a default section to config file """
 
</s> remove     def add_section(self, title=None, info=None):
        """ Add a default section to config file """
 </s> add     def add_section(self, title: str, info: str) -> None:
        """ Add a default section to config file

        Parameters
        ----------
        title: str
            The title for the section
        info: str
            The helptext for the section
        """ </s> remove                 err = "Config file does not exist at: {}".format(configfile)
 </s> add                 err = f"Config file does not exist at: {configfile}" </s> remove     def get_config_file(self, configfile):
        """ Return the config file from the calling folder or the provided file """
 </s> add     def _get_config_file(self, configfile: Optional[str]) -> str:
        """ Return the config file from the calling folder or the provided file

        Parameters
        ----------
        configfile: str or ``None``
            Path to a config file. ``None`` for default location.

        Returns
        -------
        str
            The full path to the configuration file
        """ </s> remove         if None in (title, info):
            raise ValueError("Default config sections must have a title and "
                             "information text")
        self.defaults[title] = OrderedDict()
        self.defaults[title]["helptext"] = info

    def add_item(self, section=None, title=None, datatype=str, default=None, info=None,
                 rounding=None, min_max=None, choices=None, gui_radio=False, fixed=True,
                 group=None):
 </s> add         self.defaults[title] = ConfigSection(helptext=info, items=OrderedDict())

    def add_item(self,
                 section: Optional[str] = None,
                 title: Optional[str] = None,
                 datatype: type = str,
                 default: ConfigValueType = None,
                 info: Optional[str] = None,
                 rounding: Optional[int] = None,
                 min_max: Optional[Union[Tuple[int, int], Tuple[float, float]]] = None,
                 choices: Optional[Union[str, List[str]]] = None,
                 gui_radio: bool = False,
                 fixed: bool = True,
                 group: Optional[str] = None) -> None: </s> remove             func = self.config.get
        retval = func(section, option)
 </s> add             retval = self.config.get(section, option)

        retval = os.path.join(os.path.dirname(folder), "config", f"{fname}.ini")
                  raise ValueError(err)
              return configfile
          dirname = os.path.dirname(sys.modules[self.__module__].__file__)
          folder, fname = os.path.split(dirname)
        retval = os.path.join(os.path.dirname(folder), "config", f"{fname}.ini")
          logger.debug("Config File location: '%s'", retval)
          return retval
  
      def add_section(self, title=None, info=None):
          """ Add a default section to config file """
keep keep keep keep replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
lib/config.py