<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">""" 
Python Character Mapping Codec cp424 generated from 'temp/cp424.txt' with gencodec.py.
"""
# Ensure the generated codec works with Python 2.6+.
from __future__ import unicode_literals

import codecs


# Codec APIs
class Codec(codecs.Codec):
    def encode(self, text, errors='strict'):
        return codecs.charmap_encode(text, errors, encoding_table)

    def decode(self, data, errors='strict'):
        return codecs.charmap_decode(data, errors, decoding_table)


class IncrementalEncoder(codecs.IncrementalEncoder):
    def encode(self, text, final=False):
        return codecs.charmap_encode(text, self.errors, encoding_table)[0]


class IncrementalDecoder(codecs.IncrementalDecoder):
    def decode(self, data, final=False):
        return codecs.charmap_decode(data, self.errors, decoding_table)[0]


class StreamWriter(Codec, codecs.StreamWriter):
    pass


class StreamReader(Codec, codecs.StreamReader):
    pass


# encodings module API
def getregentry():
    return codecs.CodecInfo(
        name='cp424',
        encode=Codec().encode,
        decode=Codec().decode,
        incrementalencoder=IncrementalEncoder,
        incrementaldecoder=IncrementalDecoder,
        streamreader=StreamReader,
        streamwriter=StreamWriter,
    )


# Decoding Table

decoding_table = (
    '\x00'      # 0x00 -&gt; NULL
    '\x01'      # 0x01 -&gt; START OF HEADING
    '\x02'      # 0x02 -&gt; START OF TEXT
    '\x03'      # 0x03 -&gt; END OF TEXT
    '\x9c'      # 0x04 -&gt; STRING TERMINATOR
    '\t'        # 0x05 -&gt; CHARACTER TABULATION
    '\x86'      # 0x06 -&gt; START OF SELECTED AREA
    '\x7f'      # 0x07 -&gt; DELETE
    '\x97'      # 0x08 -&gt; END OF GUARDED AREA
    '\x8d'      # 0x09 -&gt; REVERSE LINE FEED
    '\x8e'      # 0x0A -&gt; SINGLE SHIFT TWO
    '\x0b'      # 0x0B -&gt; LINE TABULATION
    '\x0c'      # 0x0C -&gt; FORM FEED (FF)
    '\r'        # 0x0D -&gt; CARRIAGE RETURN (CR)
    '\x0e'      # 0x0E -&gt; SHIFT OUT
    '\x0f'      # 0x0F -&gt; SHIFT IN
    '\x10'      # 0x10 -&gt; DATA LINK ESCAPE
    '\x11'      # 0x11 -&gt; DEVICE CONTROL ONE
    '\x12'      # 0x12 -&gt; DEVICE CONTROL TWO
    '\x13'      # 0x13 -&gt; DEVICE CONTROL THREE
    '\x9d'      # 0x14 -&gt; OPERATING SYSTEM COMMAND
    '\n'        # 0x15 -&gt; LINE FEED (LF)
    '\x08'      # 0x16 -&gt; BACKSPACE
    '\x87'      # 0x17 -&gt; END OF SELECTED AREA
    '\x18'      # 0x18 -&gt; CANCEL
    '\x19'      # 0x19 -&gt; END OF MEDIUM
    '\x92'      # 0x1A -&gt; PRIVATE USE TWO
    '\x8f'      # 0x1B -&gt; SINGLE SHIFT THREE
    '\x1c'      # 0x1C -&gt; INFORMATION SEPARATOR FOUR
    '\x1d'      # 0x1D -&gt; INFORMATION SEPARATOR THREE
    '\x1e'      # 0x1E -&gt; INFORMATION SEPARATOR TWO
    '\x1f'      # 0x1F -&gt; INFORMATION SEPARATOR ONE
    '\x80'      # 0x20 -&gt; PADDING CHARACTER
    '\x81'      # 0x21 -&gt; HIGH OCTET PRESET
    '\x82'      # 0x22 -&gt; BREAK PERMITTED HERE
    '\x83'      # 0x23 -&gt; NO BREAK HERE
    '\x84'      # 0x24 -&gt; LATIN 1 SUPPLEMENT 84
    '\n'        # 0x25 -&gt; LINE FEED (LF)
    '\x17'      # 0x26 -&gt; END OF TRANSMISSION BLOCK
    '\x1b'      # 0x27 -&gt; ESCAPE
    '\x88'      # 0x28 -&gt; CHARACTER TABULATION SET
    '\x89'      # 0x29 -&gt; CHARACTER TABULATION WITH JUSTIFICATION
    '\x8a'      # 0x2A -&gt; LINE TABULATION SET
    '\x8b'      # 0x2B -&gt; PARTIAL LINE FORWARD
    '\x8c'      # 0x2C -&gt; PARTIAL LINE BACKWARD
    '\x05'      # 0x2D -&gt; ENQUIRY
    '\x06'      # 0x2E -&gt; ACKNOWLEDGE
    '\x07'      # 0x2F -&gt; BEL
    '\x90'      # 0x30 -&gt; DEVICE CONTROL STRING
    '\x91'      # 0x31 -&gt; PRIVATE USE ONE
    '\x16'      # 0x32 -&gt; SYNCHRONOUS IDLE
    '\x93'      # 0x33 -&gt; SET TRANSMIT STATE
    '\x94'      # 0x34 -&gt; CANCEL CHARACTER
    '\x95'      # 0x35 -&gt; MESSAGE WAITING
    '\x96'      # 0x36 -&gt; START OF GUARDED AREA
    '\x04'      # 0x37 -&gt; END OF TRANSMISSION
    '\x98'      # 0x38 -&gt; START OF STRING
    '\x99'      # 0x39 -&gt; SINGLE GRAPHIC CHARACTER INTRODUCER
    '\x9a'      # 0x3A -&gt; SINGLE CHARACTER INTRODUCER
    '\x9b'      # 0x3B -&gt; CONTROL SEQUENCE INTRODUCER
    '\x14'      # 0x3C -&gt; DEVICE CONTROL FOUR
    '\x15'      # 0x3D -&gt; NEGATIVE ACKNOWLEDGE
    '\x9e'      # 0x3E -&gt; PRIVACY MESSAGE
    '\x1a'      # 0x3F -&gt; SUBSTITUTE
    ' '         # 0x40 -&gt; SPACE
    '\u05d0'    # 0x41 -&gt; HEBREW LETTER ALEF
    '\u05d1'    # 0x42 -&gt; HEBREW LETTER BET
    '\u05d2'    # 0x43 -&gt; HEBREW LETTER GIMEL
    '\u05d3'    # 0x44 -&gt; HEBREW LETTER DALET
    '\u05d4'    # 0x45 -&gt; HEBREW LETTER HE
    '\u05d5'    # 0x46 -&gt; HEBREW LETTER VAV
    '\u05d6'    # 0x47 -&gt; HEBREW LETTER ZAYIN
    '\u05d7'    # 0x48 -&gt; HEBREW LETTER HET
    '\u05d8'    # 0x49 -&gt; HEBREW LETTER TET
    '\xa2'      # 0x4A -&gt; CENT SIGN
    '.'         # 0x4B -&gt; FULL STOP
    '&lt;'         # 0x4C -&gt; LESS-THAN SIGN
    '('         # 0x4D -&gt; LEFT PARENTHESIS
    '+'         # 0x4E -&gt; PLUS SIGN
    '|'         # 0x4F -&gt; VERTICAL LINE
    '&amp;'         # 0x50 -&gt; AMPERSAND
    '\u05d9'    # 0x51 -&gt; HEBREW LETTER YOD
    '\u05da'    # 0x52 -&gt; HEBREW LETTER FINAL KAF
    '\u05db'    # 0x53 -&gt; HEBREW LETTER KAF
    '\u05dc'    # 0x54 -&gt; HEBREW LETTER LAMED
    '\u05dd'    # 0x55 -&gt; HEBREW LETTER FINAL MEM
    '\u05de'    # 0x56 -&gt; HEBREW LETTER MEM
    '\u05df'    # 0x57 -&gt; HEBREW LETTER FINAL NUN
    '\u05e0'    # 0x58 -&gt; HEBREW LETTER NUN
    '\u05e1'    # 0x59 -&gt; HEBREW LETTER SAMEKH
    '!'         # 0x5A -&gt; EXCLAMATION MARK
    '$'         # 0x5B -&gt; DOLLAR SIGN
    '*'         # 0x5C -&gt; ASTERISK
    ')'         # 0x5D -&gt; RIGHT PARENTHESIS
    ';'         # 0x5E -&gt; SEMICOLON
    '\xac'      # 0x5F -&gt; NOT SIGN
    '-'         # 0x60 -&gt; HYPHEN-MINUS
    '/'         # 0x61 -&gt; SOLIDUS
    '\u05e2'    # 0x62 -&gt; HEBREW LETTER AYIN
    '\u05e3'    # 0x63 -&gt; HEBREW LETTER FINAL PE
    '\u05e4'    # 0x64 -&gt; HEBREW LETTER PE
    '\u05e5'    # 0x65 -&gt; HEBREW LETTER FINAL TSADI
    '\u05e6'    # 0x66 -&gt; HEBREW LETTER TSADI
    '\u05e7'    # 0x67 -&gt; HEBREW LETTER QOF
    '\u05e8'    # 0x68 -&gt; HEBREW LETTER RESH
    '\u05e9'    # 0x69 -&gt; HEBREW LETTER SHIN
    '\xa6'      # 0x6A -&gt; BROKEN BAR
    ','         # 0x6B -&gt; COMMA
    '%'         # 0x6C -&gt; PERCENT SIGN
    '_'         # 0x6D -&gt; LOW LINE
    '&gt;'         # 0x6E -&gt; GREATER-THAN SIGN
    '?'         # 0x6F -&gt; QUESTION MARK
    '\ufffd'    # 0x70 -&gt; REPLACEMENT CHARACTER
    '\u05ea'    # 0x71 -&gt; HEBREW LETTER TAV
    '\ufffd'    # 0x72 -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x73 -&gt; REPLACEMENT CHARACTER
    '\xa0'      # 0x74 -&gt; NO-BREAK SPACE
    '\ufffd'    # 0x75 -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x76 -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x77 -&gt; REPLACEMENT CHARACTER
    '\u2017'    # 0x78 -&gt; DOUBLE LOW LINE
    '`'         # 0x79 -&gt; GRAVE ACCENT
    ':'         # 0x7A -&gt; COLON
    '#'         # 0x7B -&gt; NUMBER SIGN
    '@'         # 0x7C -&gt; COMMERCIAL AT
    "'"         # 0x7D -&gt; APOSTROPHE
    '='         # 0x7E -&gt; EQUALS SIGN
    '"'         # 0x7F -&gt; QUOTATION MARK
    '\ufffd'    # 0x80 -&gt; REPLACEMENT CHARACTER
    'a'         # 0x81 -&gt; LATIN SMALL LETTER A
    'b'         # 0x82 -&gt; LATIN SMALL LETTER B
    'c'         # 0x83 -&gt; LATIN SMALL LETTER C
    'd'         # 0x84 -&gt; LATIN SMALL LETTER D
    'e'         # 0x85 -&gt; LATIN SMALL LETTER E
    'f'         # 0x86 -&gt; LATIN SMALL LETTER F
    'g'         # 0x87 -&gt; LATIN SMALL LETTER G
    'h'         # 0x88 -&gt; LATIN SMALL LETTER H
    'i'         # 0x89 -&gt; LATIN SMALL LETTER I
    '\xab'      # 0x8A -&gt; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
    '\xbb'      # 0x8B -&gt; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
    '\ufffd'    # 0x8C -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x8D -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x8E -&gt; REPLACEMENT CHARACTER
    '\xb1'      # 0x8F -&gt; PLUS-MINUS SIGN
    '\xb0'      # 0x90 -&gt; DEGREE SIGN
    'j'         # 0x91 -&gt; LATIN SMALL LETTER J
    'k'         # 0x92 -&gt; LATIN SMALL LETTER K
    'l'         # 0x93 -&gt; LATIN SMALL LETTER L
    'm'         # 0x94 -&gt; LATIN SMALL LETTER M
    'n'         # 0x95 -&gt; LATIN SMALL LETTER N
    'o'         # 0x96 -&gt; LATIN SMALL LETTER O
    'p'         # 0x97 -&gt; LATIN SMALL LETTER P
    'q'         # 0x98 -&gt; LATIN SMALL LETTER Q
    'r'         # 0x99 -&gt; LATIN SMALL LETTER R
    '\ufffd'    # 0x9A -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x9B -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0x9C -&gt; REPLACEMENT CHARACTER
    '\xb8'      # 0x9D -&gt; CEDILLA
    '\ufffd'    # 0x9E -&gt; REPLACEMENT CHARACTER
    '\xa4'      # 0x9F -&gt; CURRENCY SIGN
    '\xb5'      # 0xA0 -&gt; MICRO SIGN
    '~'         # 0xA1 -&gt; TILDE
    's'         # 0xA2 -&gt; LATIN SMALL LETTER S
    't'         # 0xA3 -&gt; LATIN SMALL LETTER T
    'u'         # 0xA4 -&gt; LATIN SMALL LETTER U
    'v'         # 0xA5 -&gt; LATIN SMALL LETTER V
    'w'         # 0xA6 -&gt; LATIN SMALL LETTER W
    'x'         # 0xA7 -&gt; LATIN SMALL LETTER X
    'y'         # 0xA8 -&gt; LATIN SMALL LETTER Y
    'z'         # 0xA9 -&gt; LATIN SMALL LETTER Z
    '\ufffd'    # 0xAA -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xAB -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xAC -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xAD -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xAE -&gt; REPLACEMENT CHARACTER
    '\xae'      # 0xAF -&gt; REGISTERED SIGN
    '^'         # 0xB0 -&gt; CIRCUMFLEX ACCENT
    '\xa3'      # 0xB1 -&gt; POUND SIGN
    '\xa5'      # 0xB2 -&gt; YEN SIGN
    '\u2022'    # 0xB3 -&gt; BULLET
    '\xa9'      # 0xB4 -&gt; COPYRIGHT SIGN
    '\xa7'      # 0xB5 -&gt; SECTION SIGN
    '\xb6'      # 0xB6 -&gt; PILCROW SIGN
    '\xbc'      # 0xB7 -&gt; VULGAR FRACTION ONE QUARTER
    '\xbd'      # 0xB8 -&gt; VULGAR FRACTION ONE HALF
    '\xbe'      # 0xB9 -&gt; VULGAR FRACTION THREE QUARTERS
    '['         # 0xBA -&gt; LEFT SQUARE BRACKET
    ']'         # 0xBB -&gt; RIGHT SQUARE BRACKET
    '\u203e'    # 0xBC -&gt; OVERLINE
    '\xa8'      # 0xBD -&gt; DIAERESIS
    '\xb4'      # 0xBE -&gt; ACUTE ACCENT
    '\xd7'      # 0xBF -&gt; MULTIPLICATION SIGN
    '{'         # 0xC0 -&gt; LEFT CURLY BRACKET
    'A'         # 0xC1 -&gt; LATIN CAPITAL LETTER A
    'B'         # 0xC2 -&gt; LATIN CAPITAL LETTER B
    'C'         # 0xC3 -&gt; LATIN CAPITAL LETTER C
    'D'         # 0xC4 -&gt; LATIN CAPITAL LETTER D
    'E'         # 0xC5 -&gt; LATIN CAPITAL LETTER E
    'F'         # 0xC6 -&gt; LATIN CAPITAL LETTER F
    'G'         # 0xC7 -&gt; LATIN CAPITAL LETTER G
    'H'         # 0xC8 -&gt; LATIN CAPITAL LETTER H
    'I'         # 0xC9 -&gt; LATIN CAPITAL LETTER I
    '\xad'      # 0xCA -&gt; SOFT HYPHEN
    '\ufffd'    # 0xCB -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xCC -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xCD -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xCE -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xCF -&gt; REPLACEMENT CHARACTER
    '}'         # 0xD0 -&gt; RIGHT CURLY BRACKET
    'J'         # 0xD1 -&gt; LATIN CAPITAL LETTER J
    'K'         # 0xD2 -&gt; LATIN CAPITAL LETTER K
    'L'         # 0xD3 -&gt; LATIN CAPITAL LETTER L
    'M'         # 0xD4 -&gt; LATIN CAPITAL LETTER M
    'N'         # 0xD5 -&gt; LATIN CAPITAL LETTER N
    'O'         # 0xD6 -&gt; LATIN CAPITAL LETTER O
    'P'         # 0xD7 -&gt; LATIN CAPITAL LETTER P
    'Q'         # 0xD8 -&gt; LATIN CAPITAL LETTER Q
    'R'         # 0xD9 -&gt; LATIN CAPITAL LETTER R
    '\xb9'      # 0xDA -&gt; SUPERSCRIPT ONE
    '\ufffd'    # 0xDB -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xDC -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xDD -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xDE -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xDF -&gt; REPLACEMENT CHARACTER
    '\\'        # 0xE0 -&gt; REVERSE SOLIDUS
    '\xf7'      # 0xE1 -&gt; DIVISION SIGN
    'S'         # 0xE2 -&gt; LATIN CAPITAL LETTER S
    'T'         # 0xE3 -&gt; LATIN CAPITAL LETTER T
    'U'         # 0xE4 -&gt; LATIN CAPITAL LETTER U
    'V'         # 0xE5 -&gt; LATIN CAPITAL LETTER V
    'W'         # 0xE6 -&gt; LATIN CAPITAL LETTER W
    'X'         # 0xE7 -&gt; LATIN CAPITAL LETTER X
    'Y'         # 0xE8 -&gt; LATIN CAPITAL LETTER Y
    'Z'         # 0xE9 -&gt; LATIN CAPITAL LETTER Z
    '\xb2'      # 0xEA -&gt; SUPERSCRIPT TWO
    '\ufffd'    # 0xEB -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xEC -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xED -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xEE -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xEF -&gt; REPLACEMENT CHARACTER
    '0'         # 0xF0 -&gt; DIGIT ZERO
    '1'         # 0xF1 -&gt; DIGIT ONE
    '2'         # 0xF2 -&gt; DIGIT TWO
    '3'         # 0xF3 -&gt; DIGIT THREE
    '4'         # 0xF4 -&gt; DIGIT FOUR
    '5'         # 0xF5 -&gt; DIGIT FIVE
    '6'         # 0xF6 -&gt; DIGIT SIX
    '7'         # 0xF7 -&gt; DIGIT SEVEN
    '8'         # 0xF8 -&gt; DIGIT EIGHT
    '9'         # 0xF9 -&gt; DIGIT NINE
    '\xb3'      # 0xFA -&gt; SUPERSCRIPT THREE
    '\ufffd'    # 0xFB -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xFC -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xFD -&gt; REPLACEMENT CHARACTER
    '\ufffd'    # 0xFE -&gt; REPLACEMENT CHARACTER
    '\x9f'      # 0xFF -&gt; APPLICATION PROGRAM COMMAND
)


# Encoding table
encoding_table = codecs.charmap_build(decoding_table)
</pre></body></html>