                          logger.warning("The option(s) %s are not valid selections for '%s': '%s'. "
                                         "setting to: '%s'", invalid, section, item, valid)
                          self.config.set(section, item, valid)
                  else:  # Single-select items
                      opt_value = self.config.get(section, item)
                      if opt_value.lower() == "none" and any(choice.lower() == "none"
                                                             for choice in opt["choices"]):
                          continue
                      if opt_value not in opt["choices"]:
                          default = str(opt["default"])
 
</s> remove                                        "setting to: '%s'", invalid, section, item, valid)
                        self.config.set(section, item, valid)
 </s> add                                        "setting to: '%s'", invalid, section_name, item, valid)
                        self.config.set(section_name, item, valid) </s> remove                                                            for choice in opt["choices"]):
 </s> add                                                            for choice in opt.choices): </s> remove                     if opt_value not in opt["choices"]:
                        default = str(opt["default"])
 </s> add                     if opt_value not in opt.choices:
                        default = str(opt.default) </s> remove                     if not all(val in opt["choices"] for val in opt_value):
                        invalid = [val for val in opt_value if val not in opt["choices"]]
                        valid = ", ".join(val for val in opt_value if val in opt["choices"])
 </s> add                     if not all(val in opt.choices for val in opt_values):
                        invalid = [val for val in opt_values if val not in opt.choices]
                        valid = ", ".join(val for val in opt_values if val in opt.choices) </s> remove                 if opt["type"] == list:  # Multi-select items
                    opt_value = self._parse_list(section, item)
                    if not opt_value:  # No option selected
 </s> add                 if opt.datatype == list:  # Multi-select items
                    opt_values = self._parse_list(section_name, item)
                    if not opt_values:  # No option selected
                    if opt.choices == "colorchooser":
                        continue
                    opt_value = self.config.get(section_name, item)
                          logger.warning("The option(s) %s are not valid selections for '%s': '%s'. "
                                         "setting to: '%s'", invalid, section, item, valid)
                          self.config.set(section, item, valid)
                  else:  # Single-select items
                    if opt.choices == "colorchooser":
                        continue
                    opt_value = self.config.get(section_name, item)
                      if opt_value.lower() == "none" and any(choice.lower() == "none"
                                                             for choice in opt["choices"]):
                          continue
                      if opt_value not in opt["choices"]:
                          default = str(opt["default"])
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