          buf.RepeatCount = 1
          buf.Char = character
          return buf
  
      @staticmethod
      def terminate_all_children():
          """ Terminates all children """
          logger.debug("Terminating Process...")
          print("Terminating Process...", flush=True)
          children = psutil.Process().children(recursive=True)
          for child in children:
 
</s> remove     @staticmethod
    def generate_windows_keypress(character):
        """ Generate an 'Enter' key press to terminate Windows training """
 </s> add     @classmethod
    def _generate_windows_keypress(cls, character: str) -> bytes:
        """ Generate a Windows keypress

        Parameters
        ----------
        character: str
            The caracter to generate the keypress for

        Returns
        -------
        bytes
            The generated Windows keypress
        """ </s> remove             timeout = self.config.user_config_dict.get("timeout", 120)
 </s> add             timeout = self._config.user_config_dict.get("timeout", 120) </s> remove     def terminate_in_thread(self, command, process):
        """ Terminate the subprocess """
 </s> add         Parameters
        ----------
        command: str
            The command that is running

        process: :class:`subprocess.Popen`
            The running process

        Returns
        -------
        bool
            ``True`` when this function exits
        """ </s> remove     def capture_tqdm(self, string):
        """ Capture tqdm output for progress bar """
        logger.trace("Capturing tqdm")
        tqdm = self.consoleregex["tqdm"].match(string)
        if not tqdm:
 </s> add     def _capture_tqdm(self, string: str) -> bool:
        """ Capture tqdm output for progress bar

        Parameters
        ----------
        string: str
            An output line read from stdout

        Returns
        -------
        bool
            ``True`` if a tqdm line was captured from stdout, otherwise ``False``
        """
        logger.trace("Capturing tqdm")  # type:ignore[attr-defined]
        mtqdm = self._consoleregex["tqdm"].match(string)
        if not mtqdm: </s> remove             _ = self.thread.get_result()  # Terminate the LongRunningTask object
            self.thread = None
 </s> add             _ = self._thread.get_result()  # Terminate the LongRunningTask object
            self._thread = None

    def _terminate_in_thread(self, command: str, process: Popen) -> bool:
        """ Terminate the subprocess
    @classmethod
    def _terminate_all_children(cls) -> None:
          buf.RepeatCount = 1
          buf.Char = character
          return buf
  
    @classmethod
    def _terminate_all_children(cls) -> None:
    @classmethod
    def _terminate_all_children(cls) -> None:
          """ Terminates all children """
          logger.debug("Terminating Process...")
          print("Terminating Process...", flush=True)
          children = psutil.Process().children(recursive=True)
          for child in children:
keep keep keep keep replace replace keep keep keep keep keep
 bugfix: GUI force stdout/stderr reading to utf-8 
lib/gui/wrapper.py