# ***************************************************************************
# *
# *   Copyright (C) 1995-2002, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 34B00401.RPMAP100 and 040134B0.TPMAP100
#
<code_set_name>               "ibm-1025_P100-1995"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-1025_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |0
<U000B> \x0B |0
<U000C> \x0C |0
<U000D> \x0D |0
<U000E> \x0E |0
<U000F> \x0F |0
<U0010> \x10 |0
<U0011> \x11 |0
<U0012> \x12 |0
<U0013> \x13 |0
<U0014> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x4F |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \x4A |0
<U005C> \xE0 |0
<U005D> \x5A |0
<U005E> \x5F |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007B> \xC0 |0
<U007C> \x6A |0
<U007D> \xD0 |0
<U007E> \xA1 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00A7> \xE1 |0
<U00AD> \x73 |0
<U0401> \x63 |0
<U0402> \x59 |0
<U0403> \x62 |0
<U0404> \x64 |0
<U0405> \x65 |0
<U0406> \x66 |0
<U0407> \x67 |0
<U0408> \x68 |0
<U0409> \x69 |0
<U040A> \x70 |0
<U040B> \x71 |0
<U040C> \x72 |0
<U040E> \x74 |0
<U040F> \x75 |0
<U0410> \xB9 |0
<U0411> \xBA |0
<U0412> \xED |0
<U0413> \xBF |0
<U0414> \xBC |0
<U0415> \xBD |0
<U0416> \xEC |0
<U0417> \xFA |0
<U0418> \xCB |0
<U0419> \xCC |0
<U041A> \xCD |0
<U041B> \xCE |0
<U041C> \xCF |0
<U041D> \xDA |0
<U041E> \xDB |0
<U041F> \xDC |0
<U0420> \xDE |0
<U0421> \xDF |0
<U0422> \xEA |0
<U0423> \xEB |0
<U0424> \xBE |0
<U0425> \xCA |0
<U0426> \xBB |0
<U0427> \xFE |0
<U0428> \xFB |0
<U0429> \xFD |0
<U042A> \x57 |0
<U042B> \xEF |0
<U042C> \xEE |0
<U042D> \xFC |0
<U042E> \xB8 |0
<U042F> \xDD |0
<U0430> \x77 |0
<U0431> \x78 |0
<U0432> \xAF |0
<U0433> \x8D |0
<U0434> \x8A |0
<U0435> \x8B |0
<U0436> \xAE |0
<U0437> \xB2 |0
<U0438> \x8F |0
<U0439> \x90 |0
<U043A> \x9A |0
<U043B> \x9B |0
<U043C> \x9C |0
<U043D> \x9D |0
<U043E> \x9E |0
<U043F> \x9F |0
<U0440> \xAA |0
<U0441> \xAB |0
<U0442> \xAC |0
<U0443> \xAD |0
<U0444> \x8C |0
<U0445> \x8E |0
<U0446> \x80 |0
<U0447> \xB6 |0
<U0448> \xB3 |0
<U0449> \xB5 |0
<U044A> \xB7 |0
<U044B> \xB1 |0
<U044C> \xB0 |0
<U044D> \xB4 |0
<U044E> \x76 |0
<U044F> \xA0 |0
<U0451> \x44 |0
<U0452> \x42 |0
<U0453> \x43 |0
<U0454> \x45 |0
<U0455> \x46 |0
<U0456> \x47 |0
<U0457> \x48 |0
<U0458> \x49 |0
<U0459> \x51 |0
<U045A> \x52 |0
<U045B> \x53 |0
<U045C> \x54 |0
<U045E> \x55 |0
<U045F> \x56 |0
<U2116> \x58 |0
<UFF01> \x4F |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \x4A |1
<UFF3C> \xE0 |1
<UFF3D> \x5A |1
<UFF3E> \x5F |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5B> \xC0 |1
<UFF5C> \x6A |1
<UFF5D> \xD0 |1
<UFF5E> \xA1 |1
END CHARMAP
