--- /dev/null
+# Source: https://hg.python.org/cpython/file/2.7/Lib/sre_constants.py\r
+\r
+from typing import Dict, List, TypeVar\r
+\r
+MAGIC = ... # type: int\r
+MAXREPEAT = ... # type: int\r
+\r
+class error(Exception): ...\r
+\r
+FAILURE = ... # type: str\r
+SUCCESS = ... # type: str\r
+ANY = ... # type: str\r
+ANY_ALL = ... # type: str\r
+ASSERT = ... # type: str\r
+ASSERT_NOT = ... # type: str\r
+AT = ... # type: str\r
+BIGCHARSET = ... # type: str\r
+BRANCH = ... # type: str\r
+CALL = ... # type: str\r
+CATEGORY = ... # type: str\r
+CHARSET = ... # type: str\r
+GROUPREF = ... # type: str\r
+GROUPREF_IGNORE = ... # type: str\r
+GROUPREF_EXISTS = ... # type: str\r
+IN = ... # type: str\r
+IN_IGNORE = ... # type: str\r
+INFO = ... # type: str\r
+JUMP = ... # type: str\r
+LITERAL = ... # type: str\r
+LITERAL_IGNORE = ... # type: str\r
+MARK = ... # type: str\r
+MAX_REPEAT = ... # type: str\r
+MAX_UNTIL = ... # type: str\r
+MIN_REPEAT = ... # type: str\r
+MIN_UNTIL = ... # type: str\r
+NEGATE = ... # type: str\r
+NOT_LITERAL = ... # type: str\r
+NOT_LITERAL_IGNORE = ... # type: str\r
+RANGE = ... # type: str\r
+REPEAT = ... # type: str\r
+REPEAT_ONE = ... # type: str\r
+SUBPATTERN = ... # type: str\r
+MIN_REPEAT_ONE = ... # type: str\r
+AT_BEGINNING = ... # type: str\r
+AT_BEGINNING_LINE = ... # type: str\r
+AT_BEGINNING_STRING = ... # type: str\r
+AT_BOUNDARY = ... # type: str\r
+AT_NON_BOUNDARY = ... # type: str\r
+AT_END = ... # type: str\r
+AT_END_LINE = ... # type: str\r
+AT_END_STRING = ... # type: str\r
+AT_LOC_BOUNDARY = ... # type: str\r
+AT_LOC_NON_BOUNDARY = ... # type: str\r
+AT_UNI_BOUNDARY = ... # type: str\r
+AT_UNI_NON_BOUNDARY = ... # type: str\r
+CATEGORY_DIGIT = ... # type: str\r
+CATEGORY_NOT_DIGIT = ... # type: str\r
+CATEGORY_SPACE = ... # type: str\r
+CATEGORY_NOT_SPACE = ... # type: str\r
+CATEGORY_WORD = ... # type: str\r
+CATEGORY_NOT_WORD = ... # type: str\r
+CATEGORY_LINEBREAK = ... # type: str\r
+CATEGORY_NOT_LINEBREAK = ... # type: str\r
+CATEGORY_LOC_WORD = ... # type: str\r
+CATEGORY_LOC_NOT_WORD = ... # type: str\r
+CATEGORY_UNI_DIGIT = ... # type: str\r
+CATEGORY_UNI_NOT_DIGIT = ... # type: str\r
+CATEGORY_UNI_SPACE = ... # type: str\r
+CATEGORY_UNI_NOT_SPACE = ... # type: str\r
+CATEGORY_UNI_WORD = ... # type: str\r
+CATEGORY_UNI_NOT_WORD = ... # type: str\r
+CATEGORY_UNI_LINEBREAK = ... # type: str\r
+CATEGORY_UNI_NOT_LINEBREAK = ... # type: str\r
+\r
+_T = TypeVar('_T')\r
+def makedict(list: List[_T]) -> Dict[_T, int]: ...\r
+\r
+OP_IGNORE = ... # type: Dict[str, str]\r
+AT_MULTILINE = ... # type: Dict[str, str]\r
+AT_LOCALE = ... # type: Dict[str, str]\r
+AT_UNICODE = ... # type: Dict[str, str]\r
+CH_LOCALE = ... # type: Dict[str, str]\r
+CH_UNICODE = ... # type: Dict[str, str]\r
+SRE_FLAG_TEMPLATE = ... # type: int\r
+SRE_FLAG_IGNORECASE = ... # type: int\r
+SRE_FLAG_LOCALE = ... # type: int\r
+SRE_FLAG_MULTILINE = ... # type: int\r
+SRE_FLAG_DOTALL = ... # type: int\r
+SRE_FLAG_UNICODE = ... # type: int\r
+SRE_FLAG_VERBOSE = ... # type: int\r
+SRE_FLAG_DEBUG = ... # type: int\r
+SRE_INFO_PREFIX = ... # type: int\r
+SRE_INFO_LITERAL = ... # type: int\r
+SRE_INFO_CHARSET = ... # type: int\r