# Path: ephypype/externals/click/_compat.py
# PY2 = sys.version_info[0] == 2
# CYGWIN = sys.platform.startswith('cygwin')
# APP_ENGINE = ('APPENGINE_RUNTIME' in os.environ and
#               'Development/' in os.environ['SERVER_SOFTWARE'])
# WIN = sys.platform.startswith('win') and not APP_ENGINE
# DEFAULT_COLUMNS = 80
#     DEFAULT_COLUMNS = 79
# def get_filesystem_encoding():
# def _make_text_stream(stream, encoding, errors,
#                       force_readable=False, force_writable=False):
# def is_ascii_encoding(encoding):
# def get_best_encoding(stream):
#     def __init__(self, stream, encoding, errors,
#                  force_readable=False, force_writable=False, **extra):
#         def write(self, x):
#         def writelines(self, lines):
#     def __del__(self):
#     def isatty(self):
#     def __init__(self, stream, force_readable=False, force_writable=False):
#     def __getattr__(self, name):
#     def read1(self, size):
#     def readable(self):
#     def writable(self):
#     def seekable(self):
#     def is_bytes(x):
#     def set_binary_mode(f):
#         def set_binary_mode(f):
#         def set_binary_mode(f):
#     def isidentifier(x):
#     def get_binary_stdin():
#     def get_binary_stdout():
#     def get_binary_stderr():
#     def get_text_stdin(encoding=None, errors=None):
#     def get_text_stdout(encoding=None, errors=None):
#     def get_text_stderr(encoding=None, errors=None):
#     def filename_to_ui(value):
#     def is_bytes(x):
#     def _is_binary_reader(stream, default=False):
#     def _is_binary_writer(stream, default=False):
#     def _find_binary_reader(stream):
#     def _find_binary_writer(stream):
#     def _stream_is_misconfigured(stream):
#     def _is_compatible_text_stream(stream, encoding, errors):
#     def _force_correct_text_reader(text_reader, encoding, errors,
#                                    force_readable=False):
#     def _force_correct_text_writer(text_writer, encoding, errors,
#                                    force_writable=False):
#     def get_binary_stdin():
#     def get_binary_stdout():
#     def get_binary_stderr():
#     def get_text_stdin(encoding=None, errors=None):
#     def get_text_stdout(encoding=None, errors=None):
#     def get_text_stderr(encoding=None, errors=None):
#     def filename_to_ui(value):
# def get_streerror(e, default=None):
# def open_stream(filename, mode='r', encoding=None, errors='strict',
#                 atomic=False):
#     def __init__(self, f, tmp_filename, real_filename):
#     def name(self):
#     def close(self, delete=False):
#     def __getattr__(self, name):
#     def __enter__(self):
#     def __exit__(self, exc_type, exc_value, tb):
#     def __repr__(self):
# def strip_ansi(value):
# def should_strip_ansi(stream=None, color=None):
#     def _get_argv_encoding():
#         def raw_input(prompt=''):
#         def auto_wrap_for_ansi(stream, color=None):
#             def _safe_write(s):
#         def get_winterm_size():
#     def _get_argv_encoding():
# def term_len(x):
# def isatty(stream):
# def _make_cached_stream_func(src_func, wrapper_func):
#     def func():
# class _NonClosingTextIOWrapper(io.TextIOWrapper):
# class _FixupStream(object):
# class _AtomicFile(object):


import os
import sys
import struct
import inspect
import itertools
    import getpass
        import shutil
            import fcntl
            import termios
from ._compat import raw_input, text_type, string_types, \
     isatty, strip_ansi, get_winterm_size, DEFAULT_COLUMNS, WIN
from .utils import echo
from .exceptions import Abort, UsageError
from .types import convert_type, Choice, Path
from .globals import resolve_color_default
    from ._termui_impl import pager
    from ._termui_impl import ProgressBar
    from ._termui_impl import Editor
    from ._termui_impl import open_url
        from ._termui_impl import getchar as f
    from ._termui_impl import raw_terminal as f
    :param bar_template: the format string to use as template for the bar.
                         The parameters in it are ``label`` for the label,
                         ``bar`` for the progress bar and ``info`` for the
                         info section.
    :param info_sep: the separator between multiple info items (eta etc.)
    :param width: the width of the progress bar in characters, 0 means full
                  terminal width
    :param file: the file to write to.  If this is not a terminal then
                 only the label is printed.
    :param color: controls if the terminal supports ANSI colors or not.  The
                  default is autodetection.  This is only needed if ANSI
                  codes are included anywhere in the progress bar output
                  which is not the case by default.
    """
    color = resolve_color_default(color)
    return ProgressBar(iterable=iterable, length=length, show_eta=show_eta,
                       show_percent=show_percent, show_pos=show_pos,
                       item_show_func=item_show_func, fill_char=fill_char,
                       empty_char=empty_char, bar_template=bar_template,
                       info_sep=info_sep, file=file, label=label,
                       width=width, color=color)


def clear():
    """Clears the terminal screen.  This will have the effect of clearing
    the whole visible space of the terminal and moving the cursor to the
    top left.  This does not do anything if not connected to a terminal.

    .. versionadded:: 2.0
    """

# Path: ephypype/externals/click/_compat.py
# PY2 = sys.version_info[0] == 2
# CYGWIN = sys.platform.startswith('cygwin')
# APP_ENGINE = ('APPENGINE_RUNTIME' in os.environ and
#               'Development/' in os.environ['SERVER_SOFTWARE'])
# WIN = sys.platform.startswith('win') and not APP_ENGINE
# DEFAULT_COLUMNS = 80
#     DEFAULT_COLUMNS = 79
# def get_filesystem_encoding():
# def _make_text_stream(stream, encoding, errors,
#                       force_readable=False, force_writable=False):
# def is_ascii_encoding(encoding):
# def get_best_encoding(stream):
#     def __init__(self, stream, encoding, errors,
#                  force_readable=False, force_writable=False, **extra):
#         def write(self, x):
#         def writelines(self, lines):
#     def __del__(self):
#     def isatty(self):
#     def __init__(self, stream, force_readable=False, force_writable=False):
#     def __getattr__(self, name):
#     def read1(self, size):
#     def readable(self):
#     def writable(self):
#     def seekable(self):
#     def is_bytes(x):
#     def set_binary_mode(f):
#         def set_binary_mode(f):
#         def set_binary_mode(f):
#     def isidentifier(x):
#     def get_binary_stdin():
#     def get_binary_stdout():
#     def get_binary_stderr():
#     def get_text_stdin(encoding=None, errors=None):
#     def get_text_stdout(encoding=None, errors=None):
#     def get_text_stderr(encoding=None, errors=None):
#     def filename_to_ui(value):
#     def is_bytes(x):
#     def _is_binary_reader(stream, default=False):
#     def _is_binary_writer(stream, default=False):
#     def _find_binary_reader(stream):
#     def _find_binary_writer(stream):
#     def _stream_is_misconfigured(stream):
#     def _is_compatible_text_stream(stream, encoding, errors):
#     def _force_correct_text_reader(text_reader, encoding, errors,
#                                    force_readable=False):
#     def _force_correct_text_writer(text_writer, encoding, errors,
#                                    force_writable=False):
#     def get_binary_stdin():
#     def get_binary_stdout():
#     def get_binary_stderr():
#     def get_text_stdin(encoding=None, errors=None):
#     def get_text_stdout(encoding=None, errors=None):
#     def get_text_stderr(encoding=None, errors=None):
#     def filename_to_ui(value):
# def get_streerror(e, default=None):
# def open_stream(filename, mode='r', encoding=None, errors='strict',
#                 atomic=False):
#     def __init__(self, f, tmp_filename, real_filename):
#     def name(self):
#     def close(self, delete=False):
#     def __getattr__(self, name):
#     def __enter__(self):
#     def __exit__(self, exc_type, exc_value, tb):
#     def __repr__(self):
# def strip_ansi(value):
# def should_strip_ansi(stream=None, color=None):
#     def _get_argv_encoding():
#         def raw_input(prompt=''):
#         def auto_wrap_for_ansi(stream, color=None):
#             def _safe_write(s):
#         def get_winterm_size():
#     def _get_argv_encoding():
# def term_len(x):
# def isatty(stream):
# def _make_cached_stream_func(src_func, wrapper_func):
#     def func():
# class _NonClosingTextIOWrapper(io.TextIOWrapper):
# class _FixupStream(object):
# class _AtomicFile(object):


# Path: ephypype/externals/click/termui.py
import os
import sys
import struct
import inspect
import itertools
    import getpass
        import shutil
            import fcntl
            import termios
from ._compat import raw_input, text_type, string_types, \
     isatty, strip_ansi, get_winterm_size, DEFAULT_COLUMNS, WIN
from .utils import echo
from .exceptions import Abort, UsageError
from .types import convert_type, Choice, Path
from .globals import resolve_color_default
    from ._termui_impl import pager
    from ._termui_impl import ProgressBar
    from ._termui_impl import Editor
    from ._termui_impl import open_url
        from ._termui_impl import getchar as f
    from ._termui_impl import raw_terminal as f

    :param bar_template: the format string to use as template for the bar.
                         The parameters in it are ``label`` for the label,
                         ``bar`` for the progress bar and ``info`` for the
                         info section.
    :param info_sep: the separator between multiple info items (eta etc.)
    :param width: the width of the progress bar in characters, 0 means full
                  terminal width
    :param file: the file to write to.  If this is not a terminal then
                 only the label is printed.
    :param color: controls if the terminal supports ANSI colors or not.  The
                  default is autodetection.  This is only needed if ANSI
                  codes are included anywhere in the progress bar output
                  which is not the case by default.
    """
    color = resolve_color_default(color)
    return ProgressBar(iterable=iterable, length=length, show_eta=show_eta,
                       show_percent=show_percent, show_pos=show_pos,
                       item_show_func=item_show_func, fill_char=fill_char,
                       empty_char=empty_char, bar_template=bar_template,
                       info_sep=info_sep, file=file, label=label,
                       width=width, color=color)


def clear():
    """Clears the terminal screen.  This will have the effect of clearing
    the whole visible space of the terminal and moving the cursor to the
    top left.  This does not do anything if not connected to a terminal.

    .. versionadded:: 2.0
    """

    if not isatty(sys.stdout):