<s> """<STR_LIT>""" <EOL> NUL = <NUM_LIT> <EOL> SOH = <NUM_LIT> <EOL> STX = <NUM_LIT> <EOL> ETX = <NUM_LIT> <EOL> EOT = <NUM_LIT> <EOL> ENQ = <NUM_LIT> <EOL> ACK = <NUM_LIT> <EOL> BEL = <NUM_LIT> <EOL> BS = <NUM_LIT> <EOL> TAB = <NUM_LIT> <EOL> HT = <NUM_LIT> <EOL> LF = <NUM_LIT> <EOL> NL = <NUM_LIT> <EOL> VT = <NUM_LIT> <EOL> FF = <NUM_LIT> <EOL> CR = <NUM_LIT> <EOL> SO = <NUM_LIT> <EOL> SI = <NUM_LIT> <EOL> DLE = <NUM_LIT> <EOL> DC1 = <NUM_LIT> <EOL> DC2 = <NUM_LIT> <EOL> DC3 = <NUM_LIT> <EOL> DC4 = <NUM_LIT> <EOL> NAK = <NUM_LIT> <EOL> SYN = <NUM_LIT> <EOL> ETB = <NUM_LIT> <EOL> CAN = <NUM_LIT> <EOL> EM = <NUM_LIT> <EOL> SUB = <NUM_LIT> <EOL> ESC = <NUM_LIT> <EOL> FS = <NUM_LIT> <EOL> GS = <NUM_LIT> <EOL> RS = <NUM_LIT> <EOL> US = <NUM_LIT> <EOL> SP = <NUM_LIT> <EOL> DEL = <NUM_LIT> <EOL> controlnames = [ <EOL> "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , <EOL> "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , <EOL> "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , <EOL> "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT>" , <EOL> "<STR_LIT>" <EOL> ] <EOL> def _ctoi ( c ) : <EOL> if type ( c ) == type ( "<STR_LIT>" ) : <EOL> return ord ( c ) <EOL> else : <EOL> return c <EOL> def isalnum ( c ) : return isalpha ( c ) or isdigit ( c ) <EOL> def isalpha ( c ) : return isupper ( c ) or islower ( c ) <EOL> def isascii ( c ) : return _ctoi ( c ) <= <NUM_LIT> <EOL> def isblank ( c ) : return _ctoi ( c ) in ( <NUM_LIT:8> , <NUM_LIT:32> ) <EOL> def iscntrl ( c ) : return _ctoi ( c ) <= <NUM_LIT> <EOL> def isdigit ( c ) : return _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> <EOL> def isgraph ( c ) : return _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> <EOL> def islower ( c ) : return _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> <EOL> def isprint ( c ) : return _ctoi ( c ) >= <NUM_LIT:32> and _ctoi ( c ) <= <NUM_LIT> <EOL> def ispunct ( c ) : return _ctoi ( c ) != <NUM_LIT:32> and not isalnum ( c ) <EOL> def isspace ( c ) : return _ctoi ( c ) in ( <NUM_LIT:9> , <NUM_LIT:10> , <NUM_LIT:11> , <NUM_LIT:12> , <NUM_LIT> , <NUM_LIT:32> ) <EOL> def isupper ( c ) : return _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> <EOL> def isxdigit ( c ) : return isdigit ( c ) or ( _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> ) or ( _ctoi ( c ) >= <NUM_LIT> and _ctoi ( c ) <= <NUM_LIT> ) <EOL> def isctrl ( c ) : return _ctoi ( c ) < <NUM_LIT:32> <EOL> def ismeta ( c ) : return _ctoi ( c ) > <NUM_LIT> <EOL> def ascii ( c ) : <EOL> if type ( c ) == type ( "<STR_LIT>" ) : <EOL> return chr ( _ctoi ( c ) & <NUM_LIT> ) <EOL> else : <EOL> return _ctoi ( c ) & <NUM_LIT> <EOL> def ctrl ( c ) : <EOL> if type ( c ) == type ( "<STR_LIT>" ) : <EOL> return chr ( _ctoi ( c ) & <NUM_LIT> ) <EOL> else : <EOL> return _ctoi ( c ) & <NUM_LIT> <EOL> def alt ( c ) : <EOL> if type ( c ) == type ( "<STR_LIT>" ) : <EOL> return chr ( _ctoi ( c ) | <NUM_LIT> ) <EOL> else : <EOL> return _ctoi ( c ) | <NUM_LIT> <EOL> def unctrl ( c ) : <EOL> bits = _ctoi ( c ) <EOL> if bits == <NUM_LIT> : <EOL> rep = "<STR_LIT>" <EOL> elif isprint ( bits & <NUM_LIT> ) : <EOL> rep = chr ( bits & <NUM_LIT> ) <EOL> else : <EOL> rep = "<STR_LIT>" + chr ( ( ( bits & <NUM_LIT> ) | <NUM_LIT> ) + <NUM_LIT> ) <EOL> if bits & <NUM_LIT> : <EOL> return "<STR_LIT:!>" + rep <EOL> return rep </s>
