# Path: mistletoe/block_token.py
# def tokenize(lines):
# def add_token(token_cls, position=0):
# def remove_token(token_cls):
# def reset_tokens():
#     def __init__(self, lines, tokenize_func):
#     def __contains__(self, text):
#     def read(lines):
#     def __init__(self, lines):
#     def __init__(self, match):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, lines):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, parse_buffer):
#     def start(line):
#     def read(cls, lines):
#     def convert_leading_tabs(string):
#     def __new__(cls, lines):
#     def __init__(self, lines):
#     def start(line):
#     def read(cls, lines):
#     def is_setext_heading(cls, line):
#     def __init__(self, lines):
#     def start(line):
#     def read(cls, lines):
#     def strip(string):
#     def __init__(self, match):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, matches):
#     def start(cls, line):
#     def read(cls, lines):
#     def same_marker_type(leader, other):
#     def __init__(self, parse_buffer, prepend, leader):
#     def in_continuation(line, prepend):
#     def other_token(line):
#     def parse_marker(cls, line):
#     def read(cls, lines, prev_marker=None):
#     def __init__(self, lines):
#     def split_delimiter(delimiter):
#     def parse_align(column):
#     def start(line):
#     def read(lines):
#     def __init__(self, line, row_align=None):
#     def __init__(self, content, align=None):
#     def __new__(cls, _):
#     def start(cls, line):
#     def read(cls, lines):
#     def match_reference(cls, lines, string, offset):
#     def match_link_label(cls, string, offset):
#     def match_link_dest(cls, string, offset):
#     def match_link_title(cls, string, offset):
#     def append_footnotes(matches, root):
#     def backtrack(lines, string, offset):
#     def __init__(self, _):
#     def start(cls, line):
#     def read(lines):
#     def __init__(self, lines):
#     def start(cls, line):
#     def read(cls, lines):
# class BlockToken(object):
# class Document(BlockToken):
# class Heading(BlockToken):
# class SetextHeading(BlockToken):
# class Quote(BlockToken):
# class Paragraph(BlockToken):
# class BlockCode(BlockToken):
# class CodeFence(BlockToken):
# class List(BlockToken):
# class ListItem(BlockToken):
# class Table(BlockToken):
# class TableRow(BlockToken):
# class TableCell(BlockToken):
# class Footnote(BlockToken):
# class ThematicBreak(BlockToken):
# class HTMLBlock(BlockToken):
# 
# Path: mistletoe/span_token.py
# def tokenize_inner(content):
# def add_token(token_cls, position=1):
# def remove_token(token_cls):
# def reset_tokens():
#     def __init__(self, match):
#     def __contains__(self, text):
#     def find(cls, string):
#     def __new__(self, match):
#     def find(cls, string):
#     def __init__(self, match):
#     def find(cls, string):
#     def __init__(self, match):
#     def __init__(self, match):
#     def __init__(self, match):
#     def __init__(self, match):
#     def strip(cls, string):
#     def __init__(self, match):
#     def __init__(self, content):
# class SpanToken:
# class CoreTokens(SpanToken):
# class Strong(SpanToken):
# class Emphasis(SpanToken):
# class InlineCode(SpanToken):
# class Strikethrough(SpanToken):
# class Image(SpanToken):
# class Link(SpanToken):
# class AutoLink(SpanToken):
# class EscapeSequence(SpanToken):
# class LineBreak(SpanToken):
# class RawText(SpanToken):
# class HTMLSpan(SpanToken):
# class XWikiBlockMacroStart(SpanToken):
# class XWikiBlockMacroEnd(SpanToken):


import re
import sys
from mistletoe import block_token, span_token

    def __init__(self, *extras):
        self.render_map = {
            'Strong':         self.render_strong,
            'Emphasis':       self.render_emphasis,
            'InlineCode':     self.render_inline_code,
            'RawText':        self.render_raw_text,
            'Strikethrough':  self.render_strikethrough,
            'Image':          self.render_image,
            'Link':           self.render_link,
            'AutoLink':       self.render_auto_link,
            'EscapeSequence': self.render_escape_sequence,
            'Heading':        self.render_heading,
            'SetextHeading':  self.render_heading,
            'Quote':          self.render_quote,
            'Paragraph':      self.render_paragraph,
            'CodeFence':      self.render_block_code,
            'BlockCode':      self.render_block_code,
            'List':           self.render_list,
            'ListItem':       self.render_list_item,
            'Table':          self.render_table,
            'TableRow':       self.render_table_row,
            'TableCell':      self.render_table_cell,
            'ThematicBreak':  self.render_thematic_break,
            'LineBreak':      self.render_line_break,
            'Document':       self.render_document,
            }
        self._extras = extras

        for token in extras:

# Path: mistletoe/block_token.py
# def tokenize(lines):
# def add_token(token_cls, position=0):
# def remove_token(token_cls):
# def reset_tokens():
#     def __init__(self, lines, tokenize_func):
#     def __contains__(self, text):
#     def read(lines):
#     def __init__(self, lines):
#     def __init__(self, match):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, lines):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, parse_buffer):
#     def start(line):
#     def read(cls, lines):
#     def convert_leading_tabs(string):
#     def __new__(cls, lines):
#     def __init__(self, lines):
#     def start(line):
#     def read(cls, lines):
#     def is_setext_heading(cls, line):
#     def __init__(self, lines):
#     def start(line):
#     def read(cls, lines):
#     def strip(string):
#     def __init__(self, match):
#     def start(cls, line):
#     def read(cls, lines):
#     def __init__(self, matches):
#     def start(cls, line):
#     def read(cls, lines):
#     def same_marker_type(leader, other):
#     def __init__(self, parse_buffer, prepend, leader):
#     def in_continuation(line, prepend):
#     def other_token(line):
#     def parse_marker(cls, line):
#     def read(cls, lines, prev_marker=None):
#     def __init__(self, lines):
#     def split_delimiter(delimiter):
#     def parse_align(column):
#     def start(line):
#     def read(lines):
#     def __init__(self, line, row_align=None):
#     def __init__(self, content, align=None):
#     def __new__(cls, _):
#     def start(cls, line):
#     def read(cls, lines):
#     def match_reference(cls, lines, string, offset):
#     def match_link_label(cls, string, offset):
#     def match_link_dest(cls, string, offset):
#     def match_link_title(cls, string, offset):
#     def append_footnotes(matches, root):
#     def backtrack(lines, string, offset):
#     def __init__(self, _):
#     def start(cls, line):
#     def read(lines):
#     def __init__(self, lines):
#     def start(cls, line):
#     def read(cls, lines):
# class BlockToken(object):
# class Document(BlockToken):
# class Heading(BlockToken):
# class SetextHeading(BlockToken):
# class Quote(BlockToken):
# class Paragraph(BlockToken):
# class BlockCode(BlockToken):
# class CodeFence(BlockToken):
# class List(BlockToken):
# class ListItem(BlockToken):
# class Table(BlockToken):
# class TableRow(BlockToken):
# class TableCell(BlockToken):
# class Footnote(BlockToken):
# class ThematicBreak(BlockToken):
# class HTMLBlock(BlockToken):
# 
# Path: mistletoe/span_token.py
# def tokenize_inner(content):
# def add_token(token_cls, position=1):
# def remove_token(token_cls):
# def reset_tokens():
#     def __init__(self, match):
#     def __contains__(self, text):
#     def find(cls, string):
#     def __new__(self, match):
#     def find(cls, string):
#     def __init__(self, match):
#     def find(cls, string):
#     def __init__(self, match):
#     def __init__(self, match):
#     def __init__(self, match):
#     def __init__(self, match):
#     def strip(cls, string):
#     def __init__(self, match):
#     def __init__(self, content):
# class SpanToken:
# class CoreTokens(SpanToken):
# class Strong(SpanToken):
# class Emphasis(SpanToken):
# class InlineCode(SpanToken):
# class Strikethrough(SpanToken):
# class Image(SpanToken):
# class Link(SpanToken):
# class AutoLink(SpanToken):
# class EscapeSequence(SpanToken):
# class LineBreak(SpanToken):
# class RawText(SpanToken):
# class HTMLSpan(SpanToken):
# class XWikiBlockMacroStart(SpanToken):
# class XWikiBlockMacroEnd(SpanToken):


# Path: mistletoe/base_renderer.py
import re
import sys
from mistletoe import block_token, span_token


    def __init__(self, *extras):
        self.render_map = {
            'Strong':         self.render_strong,
            'Emphasis':       self.render_emphasis,
            'InlineCode':     self.render_inline_code,
            'RawText':        self.render_raw_text,
            'Strikethrough':  self.render_strikethrough,
            'Image':          self.render_image,
            'Link':           self.render_link,
            'AutoLink':       self.render_auto_link,
            'EscapeSequence': self.render_escape_sequence,
            'Heading':        self.render_heading,
            'SetextHeading':  self.render_heading,
            'Quote':          self.render_quote,
            'Paragraph':      self.render_paragraph,
            'CodeFence':      self.render_block_code,
            'BlockCode':      self.render_block_code,
            'List':           self.render_list,
            'ListItem':       self.render_list_item,
            'Table':          self.render_table,
            'TableRow':       self.render_table_row,
            'TableCell':      self.render_table_cell,
            'ThematicBreak':  self.render_thematic_break,
            'LineBreak':      self.render_line_break,
            'Document':       self.render_document,
            }
        self._extras = extras

        for token in extras:

            if issubclass(token, span_token.SpanToken):