  
  
  def get_cache(side: Literal["a", "b"],
                filenames: Optional[List[str]] = None,
                config: Optional["ConfigType"] = None,
                size: Optional[int] = None,
                coverage_ratio: Optional[float] = None) -> "_Cache":
      """ Obtain a :class:`_Cache` object for the given side. If the object does not pre-exist then
      create it.
  
 
</s> remove                  variable: Optional[str] = None) -> None:
 </s> add                  variable: Optional[str] = None,
                 parent: Optional[tk.Frame] = None) -> None: </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                  config: "ConfigType",
 </s> add                  config: Dict[str, "ConfigValueType"], </s> remove             preview_images = int(self._config.get("preview_images", 14))
            preview_images = min(max(preview_images, 2), 16)
 </s> add             preview_images = min(max(num_images, 2), 16)
              config: Optional[Dict[str, "ConfigValueType"]] = None,
  
  
  def get_cache(side: Literal["a", "b"],
                filenames: Optional[List[str]] = None,
              config: Optional[Dict[str, "ConfigValueType"]] = None,
                size: Optional[int] = None,
                coverage_ratio: Optional[float] = None) -> "_Cache":
      """ Obtain a :class:`_Cache` object for the given side. If the object does not pre-exist then
      create it.
  
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/training/cache.py