          logger.trace("%s: %s", qname, retval)
          return retval
  
      @property
      def _all_plugins(self):
          """ Return list of all plugin objects in this pipeline """
          retval = []
          for phase in self._flow:
              plugin_type, idx = self._get_plugin_type_and_index(phase)
              attr = getattr(self, f"_{plugin_type}")
 
</s> remove         logger.trace("%s: %s", qname, retval)
 </s> add         logger.trace("%s: %s", qname, retval)  # type: ignore </s> remove     def _active_plugins(self):
 </s> add     def _active_plugins(self) -> List["PluginExtractor"]: </s> remove     def _vram_per_phase(self):
 </s> add     def _vram_per_phase(self) -> Dict[str, float]: </s> remove         logger.trace("All Plugins: %s", retval)
 </s> add         logger.trace("All Plugins: %s", retval)  # type: ignore </s> remove         logger.trace("Active plugins: %s", retval)
 </s> add         logger.trace("Active plugins: %s", retval)  # type: ignore
    def _all_plugins(self) -> List["PluginExtractor"]:
          logger.trace("%s: %s", qname, retval)
          return retval
  
      @property
    def _all_plugins(self) -> List["PluginExtractor"]:
          """ Return list of all plugin objects in this pipeline """
          retval = []
          for phase in self._flow:
              plugin_type, idx = self._get_plugin_type_and_index(phase)
              attr = getattr(self, f"_{plugin_type}")
keep keep keep keep replace keep keep keep keep keep
 extract: Add batch processing mode 
plugins/extract/pipeline.py