          return helptext
  
      def load_config(self):
          """ Load values from config """
          logger.verbose("Loading config: '%s'", self.configfile)
          self.config.read(self.configfile)
  
      def save_config(self):
          """ Save a config file """
          logger.info("Updating config at: '%s'", self.configfile)
 
</s> remove     def save_config(self):
 </s> add     def save_config(self) -> None: </s> remove     def load_config(self):
 </s> add     def _load_config(self) -> None: </s> remove         with open(self.configfile, "w") as f_cfgfile:
 </s> add         with open(self.configfile, "w", encoding="utf-8", errors="replace") as f_cfgfile: </s> remove     def check_exists(self):
        """ Check that a config file exists """
 </s> add     def _check_exists(self) -> bool:
        """ Check that a config file exists

        Returns
        -------
        bool
            ``True`` if the given configuration file exists
        """ </s> remove             helptext = "\n{}".format(helptext)
 </s> add             helptext = f"\n{helptext}"
        logger.verbose("Loading config: '%s'", self.configfile)  # type:ignore[attr-defined]
          return helptext
  
      def load_config(self):
          """ Load values from config """
        logger.verbose("Loading config: '%s'", self.configfile)  # type:ignore[attr-defined]
          self.config.read(self.configfile)
  
      def save_config(self):
          """ Save a config file """
          logger.info("Updating config at: '%s'", self.configfile)
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