          logger.trace("Filename has valid extension: '%s': %s", filename, retval)  # type: ignore
          return retval
  
      def sorted_items(self) -> Union[List[Dict[str, str]],
                                      List[Tuple[str, "PNGHeaderSourceDict"]],
                                      List[Tuple[str, "PNGHeaderDict"]]]:
          """ Override for specific folder processing """
          raise NotImplementedError()
  
      def process_folder(self) -> Union[Generator[Dict[str, str], None, None],
 
</s> remove                                       Generator[Tuple[str, "PNGHeaderDict"], None, None],
                                      Generator[Tuple[str, "PNGHeaderSourceDict"], None, None]]:
 </s> add                                       Generator[Tuple[str, "PNGHeaderDict"], None, None]]: </s> remove     def _get_items(self) -> Union[List[Dict[str, str]], List[Dict[str, "PNGHeaderSourceDict"]]]:
 </s> add     def _get_items(self) -> Union[List[Dict[str, str]], List[Tuple[str, "PNGHeaderDict"]]]: </s> remove     def sorted_items(self) -> Union[List[Tuple[str, "PNGHeaderDict"]],
                                    List[Tuple[str, "PNGHeaderSourceDict"]]]:
 </s> add     def sorted_items(self) -> List[Tuple[str, "PNGHeaderDict"]]: </s> remove     def process_folder(self) -> Union[Generator[Tuple[str, "PNGHeaderDict"], None, None],
                                      Generator[Tuple[str, "PNGHeaderSourceDict"], None, None]]:
 </s> add     def process_folder(self) -> Generator[Tuple[str, "PNGHeaderDict"], None, None]: </s> remove         for face in cast(Union[List[Tuple[str, "PNGHeaderDict"]],
                               List[Tuple[str, "PNGHeaderSourceDict"]]],
                         self.file_list_sorted):
            src: "PNGHeaderSourceDict" = cast(
                "PNGHeaderDict",
                face[1])["source"] if self._with_alignments else cast("PNGHeaderSourceDict",
                                                                      face[1])
 </s> add         for face in cast(List[Tuple[str, "PNGHeaderDict"]], self.file_list_sorted):
            src = face[1]["source"]
          logger.trace("Filename has valid extension: '%s': %s", filename, retval)  # type: ignore
          return retval
  
      def sorted_items(self) -> Union[List[Dict[str, str]],

                                      List[Tuple[str, "PNGHeaderDict"]]]:
          """ Override for specific folder processing """
          raise NotImplementedError()
  
      def process_folder(self) -> Union[Generator[Dict[str, str], None, None],
keep keep keep keep replace keep keep keep keep keep
 Alignments Tool updates
  - Copy info back to alignments file from faces 
tools/alignments/media.py