      `["mtcnn_det_v1.1.py", "mtcnn_det_v1.2.py", "mtcnn_det_v1.3.py"]`, `["resnet_ssd_v1.caffemodel"
      ,"resnet_ssd_v1.prototext"]`
      """
  
      def __init__(self, model_filename, git_model_id):
          self.logger = logging.getLogger(__name__)
          if not isinstance(model_filename, list):
              model_filename = [model_filename]
          self._model_filename = model_filename
          self._cache_dir = os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), ".fs_cache")
 
</s> remove         return None
 </s> add         return "" </s> remove         self.logger.trace(retval)
 </s> add         self.logger.trace(retval)  # type: ignore </s> remove     def _model_exists(self):
 </s> add     def _model_exists(self) -> bool: </s> remove     allparts = []
 </s> add     allparts: List[str] = [] </s> remove         fs_backend = config.get("backend", None)
        if fs_backend is None or fs_backend.lower() not in self._backends.values():
 </s> add         fs_backend = config.get("backend", "").lower()
        if not fs_backend or fs_backend not in self._backends.values():
    def __init__(self, model_filename: Union[str, List[str]], git_model_id: int) -> None:
      `["mtcnn_det_v1.1.py", "mtcnn_det_v1.2.py", "mtcnn_det_v1.3.py"]`, `["resnet_ssd_v1.caffemodel"
      ,"resnet_ssd_v1.prototext"]`
      """
  
    def __init__(self, model_filename: Union[str, List[str]], git_model_id: int) -> None:
          self.logger = logging.getLogger(__name__)
          if not isinstance(model_filename, list):
              model_filename = [model_filename]
          self._model_filename = model_filename
          self._cache_dir = os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), ".fs_cache")
keep keep keep keep replace keep keep keep keep keep
 lib.Utils - add DPI detector 
lib/utils.py