ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙimport sys class CaptureStream: def __init__(self): self.contents = "" def write(self, text): self.contents += text def close(self): pass def flush(self): pass class CaptureOutput: def __init__(self, hide): self.hide = hide self._prev_streams = None self.stdout, self.stderr = None, None def __enter__(self): if self.hide: self._prev_streams = [ sys.stdout, sys.stderr, sys.__stdout__, sys.__stderr__, ] self.stdout = CaptureStream() self.stderr = CaptureStream() sys.stdout, sys.__stdout__ = self.stdout, self.stdout sys.stderr, sys.__stderr__ = self.stderr, self.stderr return self def get_hidden_stdout(self): return self.stdout.contents def get_hidden_stderr(self): return self.stderr.contents def __exit__(self, exc_type, exc_val, exc_tb): if self.hide: sys.stdout, sys.stderr, sys.__stdout__, sys.__stderr__ = self._prev_streams del self._prev_streams