<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _extract_lines(filename, f_globals, line_no, around):
 """ Extracts a block of lines from the given file :param filename: Name of the source file :param f_globals: Globals of the frame of the current code :param line_no: Current line of code :param around: Number of line to print before and after the current one """

    current_line = linecache.getline(filename, line_no, f_globals)
    if not current_line:
        # No data on this line
        return ""

    lines = []
    # Add some lines before
    for pre_line_no in range(line_no - around, line_no):
        pre_line = linecache.getline(filename, pre_line_no, f_globals)
        lines.append("{0}".format(pre_line.rstrip()))

    # The line itself
    lines.append("{0}".format(current_line.rstrip()))

    # Add some lines after
    for pre_line_no in range(line_no + 1, line_no + around + 1):
        pre_line = linecache.getline(filename, pre_line_no, f_globals)
        lines.append("{0}".format(pre_line.rstrip()))

    # Smart left strip
    minimal_tab = None
    for line in lines:
        if line.strip():
            tab = len(line) - len(line.lstrip())
            if minimal_tab is None or tab < minimal_tab:
                minimal_tab = tab

    if minimal_tab > 0:
        lines = [line[minimal_tab:] for line in lines]

    # Add some place for a marker
    marked_line = ">> {0}".format(lines[around])
    lines = ["   {0}".format(line) for line in lines]
    lines[around] = marked_line
    lines.append("")
    return lines