(lines: List[str], header: bool = False)
return block_lines
Parse and return a single block, popping off the start of `lines`.

    If parsing a header block, we stop after we reach a line that is not a
    comment. Otherwise, we stop after reaching an empty line.

    :param lines: list of lines
    :param header: whether we are parsing a header block
    :return: list of lines that form the single block
Parse and return a single block, popping off the start of `lines`.
Parse and return a single block popping off the start of lines .
def parse_block(lines: List[str], header: bool = False) -> List[str]:
    """Parse and return a single block, popping off the start of `lines`.

    If parsing a header block, we stop after we reach a line that is not a
    comment. Otherwise, we stop after reaching an empty line.

    :param lines: list of lines
    :param header: whether we are parsing a header block
    :return: list of lines that form the single block
    """
    block_lines = []
    while lines and lines[0] and (not header or lines[0].startswith('#')):
        block_lines.append(lines.pop(0))
    return block_lines
def parse_block ( lines : List [ str ] , header : bool = False ) -> List [ str ] : block_lines = [ ] while lines and lines [ 0 ] and ( not header or lines [ 0 ] . startswith ( '#' ) ) : block_lines . append ( lines . pop ( 0 ) ) return block_lines