Upgrade to ICU 57.1, step two

Fixed and applied patches
Removed obsolete patches
Minor source changes to fix compiler errors
Update README.fuchsia to reflect changes to patches

Applied:
patches/locale_google.patch (fixed some issues during apply)
patches/locale1.patch
patches/linebrk.patch
patches/wordbrk.patch (updated)
patches/khmer-dictbe.patch
patches/cjdict.patch (updated)
patches/wpo.patch
patches/data.build.patch
patches/data_symb.patch
patches/tzdetect.patch
patches/utf32.patch
patches/remove_si.patch
patches/locale_extra.patch (updated)

Removed obsolete patch files
(obsolete after upgrade to 57-1)
patches/emoji_props.patch
patches/measure_format.patch
patches/regexcmp.patch
patches/relative_date.patch
patches/utext.patch
patches/xlit_badcast.patch

Updated time zone information
./scripts/update_tz.sh 2016f

Change-Id: I4360d8dd9e132a3bb9f4a08c378cfd8386155f2a
diff --git a/BUILD.gn b/BUILD.gn
index ad88545..baf73b8 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -105,6 +105,9 @@
   # find  source/i18n -maxdepth 1  ! -type d  | egrep  '\.(c|cpp|h)$' |\
   # sort | sed 's/^\(.*\)$/    "\1",/'
   sources = [
+    "source/common/locdspnm.cpp",
+    "source/common/ucurr.cpp",
+    "source/common/ucurrimp.h",
     "source/i18n/affixpatternparser.cpp",
     "source/i18n/affixpatternparser.h",
     "source/i18n/alphaindex.cpp",
@@ -260,7 +263,6 @@
     "source/i18n/islamcal.h",
     "source/i18n/japancal.cpp",
     "source/i18n/japancal.h",
-    "source/i18n/locdspnm.cpp",
     "source/i18n/measfmt.cpp",
     "source/i18n/measunit.cpp",
     "source/i18n/measure.cpp",
@@ -389,8 +391,6 @@
     "source/i18n/ucol_sit.cpp",
     "source/i18n/ucoleitr.cpp",
     "source/i18n/ucsdet.cpp",
-    "source/i18n/ucurr.cpp",
-    "source/i18n/ucurrimp.h",
     "source/i18n/udat.cpp",
     "source/i18n/udateintervalformat.cpp",
     "source/i18n/udatpg.cpp",
@@ -467,7 +467,7 @@
     "source/i18n/unicode/fpositer.h",
     "source/i18n/unicode/gender.h",
     "source/i18n/unicode/gregocal.h",
-    "source/i18n/unicode/locdspnm.h",
+    "source/common/unicode/locdspnm.h",
     "source/i18n/unicode/measfmt.h",
     "source/i18n/unicode/measunit.h",
     "source/i18n/unicode/measure.h",
@@ -502,15 +502,15 @@
     "source/i18n/unicode/ucoleitr.h",
     "source/i18n/unicode/ucol.h",
     "source/i18n/unicode/ucsdet.h",
-    "source/i18n/unicode/ucurr.h",
+    "source/common/unicode/ucurr.h",
     "source/i18n/unicode/udateintervalformat.h",
     "source/i18n/unicode/udat.h",
     "source/i18n/unicode/udatpg.h",
-    "source/i18n/unicode/udisplaycontext.h",
+    "source/common/unicode/udisplaycontext.h",
     "source/i18n/unicode/ufieldpositer.h",
     "source/i18n/unicode/uformattable.h",
     "source/i18n/unicode/ugender.h",
-    "source/i18n/unicode/uldnames.h",
+    "source/common/unicode/uldnames.h",
     "source/i18n/unicode/ulocdata.h",
     "source/i18n/unicode/umsg.h",
     "source/i18n/unicode/unirepl.h",
@@ -652,8 +652,6 @@
     "source/common/servslkf.cpp",
     "source/common/sharedobject.cpp",
     "source/common/sharedobject.h",
-    "source/common/simplepatternformatter.cpp",
-    "source/common/simplepatternformatter.h",
     "source/common/sprpimpl.h",
     "source/common/stringpiece.cpp",
     "source/common/stringtriebuilder.cpp",
@@ -777,8 +775,6 @@
     "source/common/uresdata.h",
     "source/common/uresimp.h",
     "source/common/ureslocs.h",
-    "source/common/uresource.cpp",
-    "source/common/uresource.h",
     "source/common/usc_impl.c",
     "source/common/usc_impl.h",
     "source/common/uscript.c",
@@ -957,7 +953,6 @@
   data_assembly = "$target_gen_dir/${data_bundle_prefix}_dat.S"
   action("make_data_assembly") {
     script = "scripts/make_data_assembly.py"
-
     inputs = [
       "$data_dir/$data_bundle",
     ]
diff --git a/README.fuchsia b/README.fuchsia
index d313e3b..0e08ff4 100644
--- a/README.fuchsia
+++ b/README.fuchsia
@@ -148,21 +148,7 @@
 
   - patches/locale1.patch: Minor fixes for Korean
 
-
-2. Applied post-56 fixes from the upstream for measure/date format bugs
-
-  - patches/measure_format.patch: combined patch of 12 CLs taken
-    from bugs below.
-  - upstream bugs
-    http://bugs.icu-project.org/trac/ticket/11986
-    http://bugs.icu-project.org/trac/ticket/12031
-    http://bugs.icu-project.org/trac/ticket/12030
-    http://bugs.icu-project.org/trac/ticket/12041
-
-  - patches/relative_date.patch from Android
-    https://android.googlesource.com/platform/external/icu/+/f9ffd5b%5E%21
-
-3. Breakiterator patches
+2. Breakiterator patches
   - patches/linebrk.patch
     a. Drop *_loose.txt for all locales and use the corresponding normal.txt
     b. Drop local patches we used to have for the following issues. They'll
@@ -185,7 +171,7 @@
     patch: patches/cjdict.patch
     upstream bug: http://bugs.icu-project.org/trac/ticket/10888
 
-4. Timezone data update
+3. Timezone data update
   Run scripts/update_tz.sh to grab the latest version of the
   following timezone data files and put them in source/data/misc
 
@@ -198,7 +184,7 @@
   are available at
   http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016f/44/
 
-5. Build-related changes
+4. Build-related changes
 
   - patches/wpo.patch
     upstream bugs : http://bugs.icu-project.org/trac/ticket/8043
@@ -210,51 +196,28 @@
       Put ICU_DATA_ENTRY_POINT(icudtXX_dat) in common when we use
       the icu data file or icudt.dll
 
-6. Apply a timezone detection API fix
+5. Apply a timezone detection API fix
   - patches/tzdetect.patch
   - upstream bugs
     http://bugs.icu-project.org/trac/ticket/11623
 
-7. Fix 'bad cast' found in Transliterator with a cfi build
-  - patches/xlit_badcast.patch
-  - upstream bug (fixed in the upstream. Will be in ICU 57 release)
-    http://bugs.icu-project.org/trac/ticket/11937
-
-8. Add back UTF-32 converters temporarily even when
+6. Add back UTF-32 converters temporarily even when
    UCONFIG_ONLY_HTML_CONVERSION is defined until UTF-32 is
    removed from Blink. See
    http://www.icu-project.org/trac/ticket/11296 and
    http://crbug.com/417850
 
-   - patches/utf32.patch
+  - patches/utf32.patch
 
-9. Fix a UText bug found in uregex_open fuzzer.
-  - patches/utext.patch
-  - upstream bug (fixed in trunk in Jan, 2016. Will be in ICU 57 release)
-    http://bugs.icu-project.org/trac/ticket/12130
-
-10. Fix a bug in regex compiler.
-  - patches/regexcmp.patch
-  - upstream bug (fixed in the upstream. Will be in ICU 57 release)
-    http://bugs.icu-project.org/trac/ticket/12138
-
-11. Remove an unnecessary static initializer
+7. Remove an unnecessary static initializer
   - patches/remove_si.patch
-  - upstream bug (fixed in trunk. Will be in ICU 57 release)
+  - upstream bug (fixed in trunk. Should be in ICU 57 release but
+    patch still seems to apply)
     http://bugs.icu-project.org/trac/ticket/12408
 
-12. Cherry pick locale data fixes from the upstream and Android
+8. Cherry pick locale data fixes from the upstream and Android
   - patches/locale_extra.patch
-  - upstream bugs
-        http://unicode.org/cldr/trac/ticket/9045 (en-AU date format)
+  - upstream bug
         http://unicode.org/cldr/trac/ticket/7969 (percent sign in ar and fa)
-  - Android patch for the 2nd bug
+  - Android patch for the bug
         https://android.googlesource.com/platform/external/icu/+/56b2b8b
-
-13. Add Emoji properties support by cherry-picking from 57.1
-  - patches/emoji_props.patch
-  - Upstream change cherry-picked
-        http://bugs.icu-project.org/trac/changeset/38183
-  - source/data/in/{pnames,uprops}.icu were copied from the upstream,
-    but they're just for the record. Their contents are hard-coded
-    in the source files patched by the above patch.
diff --git a/common/icudtb.dat b/common/icudtb.dat
index c8485c3..9a616e0 100644
--- a/common/icudtb.dat
+++ b/common/icudtb.dat
Binary files differ
diff --git a/common/icudtl.dat b/common/icudtl.dat
index b3e6a70..9325da2 100644
--- a/common/icudtl.dat
+++ b/common/icudtl.dat
Binary files differ
diff --git a/patches/cjdict.patch b/patches/cjdict.patch
index ca1afc3..6fae71c 100644
--- a/patches/cjdict.patch
+++ b/patches/cjdict.patch
@@ -1,7 +1,7 @@
-diff --git a/source/data/brkitr/cjdict.txt b/source/data/brkitr/cjdict.txt
+diff --git a/source/data/brkitr/dictionaries/cjdict.txt b/source/data/brkitr/dictionaries/cjdict.txt
 index debeabd..cb9abac 100644
---- a/source/data/brkitr/cjdict.txt
-+++ b/source/data/brkitr/cjdict.txt
+--- a/source/data/brkitr/dictionaries/cjdict.txt
++++ b/source/data/brkitr/dictionaries/cjdict.txt
 @@ -36724,7 +36724,9 @@
  七团	132
  七国	115
diff --git a/patches/emoji_props.patch b/patches/emoji_props.patch
deleted file mode 100644
index 1a53fd2..0000000
--- a/patches/emoji_props.patch
+++ /dev/null
@@ -1,7535 +0,0 @@
-diff --git a/source/common/propname_data.h b/source/common/propname_data.h
-index 9629437..521b9db 100644
---- a/source/common/propname_data.h
-+++ b/source/common/propname_data.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 1999-2015, International Business Machines
-+ * Copyright (C) 1999-2016, International Business Machines
-  * Corporation and others.  All Rights Reserved.
-  *
-  * file name: propname_data.h
-@@ -13,87 +13,87 @@
- 
- U_NAMESPACE_BEGIN
- 
--const int32_t PropNameData::indexes[8]={0x20,0x12b0,0x4427,0x8994,0x8994,0x8994,0x2f,0};
-+const int32_t PropNameData::indexes[8]={0x20,0x12d0,0x446f,0x8a58,0x8a58,0x8a58,0x2f,0};
- 
--const int32_t PropNameData::valueMaps[1188]={
--6,0,0x39,0,0xcd,0x356,0xcd,0x36c,0xcd,0x381,0xcd,0x397,0xcd,0x3a2,0xcd,0x3c3,
--0xcd,0x3d3,0xcd,0x3e2,0xcd,0x3f0,0xcd,0x414,0xcd,0x42b,0xcd,0x443,0xcd,0x45a,0xcd,0x469,
--0xcd,0x478,0xcd,0x489,0xcd,0x497,0xcd,0x4a9,0xcd,0x4c3,0xcd,0x4de,0xcd,0x4f3,0xcd,0x510,
--0xcd,0x521,0xcd,0x52c,0xcd,0x54b,0xcd,0x561,0xcd,0x572,0xcd,0x582,0xcd,0x59d,0xcd,0x5b6,
--0xcd,0x5c7,0xcd,0x5e1,0xcd,0x5f4,0xcd,0x604,0xcd,0x61e,0xcd,0x62b,0xcd,0x642,0xcd,0x656,
--0xcd,0x66c,0xcd,0x680,0xcd,0x696,0xcd,0x6b0,0xcd,0x6c8,0xcd,0x6e4,0xcd,0x6ec,0xcd,0x6f4,
--0xcd,0x6fc,0xcd,0x704,0xcd,0x70d,0xcd,0x71a,0xcd,0x72d,0xcd,0x74a,0xcd,0x767,0xcd,0x784,
--0xcd,0x7a2,0xcd,0x7c0,0xcd,0x1000,0x1016,0x7e4,0x147,0xa04,0x162,0x28b3,0xd3,0x28d2,0x26d,0x2a10,
--0x283,0x2a6a,0x28d,0x2cc7,0x2af,0x33dc,0x309,0x344c,0x313,0x36da,0x33f,0x3718,0x347,0x406e,0x3f2,0x40ec,
--0x3fc,0x4111,0x402,0x412b,0x408,0x414c,0x40f,0x4166,0xd3,0x418b,0xd3,0x41b1,0x416,0x4237,0x427,0x42b0,
--0x43a,0x434d,0x44f,0x2000,0x2001,0x4384,0x456,0x3000,0x3001,0x4410,0,0x4000,0x400e,0x4422,0,0x442b,
--0,0x4445,0,0x4456,0,0x4467,0,0x447d,0,0x4486,0,0x44a3,0,0x44c1,0,0x44df,
--0,0x44fd,0,0x4513,0,0x4527,0,0x453d,0,0x7000,0x7001,0x4556,0,0x6cd,0x12,0,
--1,0x12,0x20,0x6eb,0x49,0,1,7,8,9,0xa,0xb,0xc,0xd,0xe,0xf,
--0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
--0x20,0x21,0x22,0x23,0x24,0x54,0x5b,0x67,0x6b,0x76,0x7a,0x81,0x82,0x84,0x85,0xc8,
--0xca,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xe9,0xea,0xf0,0x2e,0x40,
--0x4c,0x56,0x67,0x72,0x7f,0x8c,0x99,0xa6,0xb3,0xc0,0xcd,0xda,0xe7,0xf4,0x101,0x10e,
--0x11b,0x128,0x135,0x142,0x14f,0x15c,0x169,0x176,0x183,0x190,0x19d,0x1aa,0x1b7,0x1c4,0x1d1,0x1de,
--0x1eb,0x1fa,0x209,0x218,0x227,0x236,0x245,0x254,0x263,0x27d,0x291,0x2a5,0x2c0,0x2cf,0x2d8,0x2e8,
--0x2f0,0x2f9,0x308,0x311,0x321,0x332,0x343,0x87d,1,0,0x17,0x7f3,0x804,0x815,0x829,0x840,
--0x858,0x86a,0x87f,0x896,0x8ab,0x8bb,0x8cd,0x8ea,0x906,0x918,0x935,0x951,0x96d,0x982,0x997,0x9b1,
--0x9cc,0x9e7,0xa1f,1,0,0x107,0xa0f,0xa1c,0xa2f,0xa57,0xa75,0xa93,0xaab,0xad6,0xb00,0xb18,
--0xb2b,0xb3e,0xb4d,0xb5c,0xb6b,0xb7a,0xb91,0xba2,0xbb5,0xbc8,0xbd5,0xbe2,0xbf1,0xc02,0xc17,0xc28,
--0xc33,0xc3c,0xc4d,0xc5e,0xc71,0xc83,0xc96,0xca9,0xce8,0xcf5,0xd02,0xd0f,0xd24,0xd54,0xd6e,0xd8f,
--0xdba,0xddd,0xe3b,0xe62,0xe7d,0xe8c,0xeb3,0xedb,0xefe,0xf21,0xf4b,0xf64,0xf83,0xfa6,0xfca,0xfdd,
--0xff7,0x1021,0x1039,0x1061,0x108a,0x109d,0x10b0,0x10c3,0x10ea,0x10f9,0x1119,0x1147,0x1165,0x1193,0x11af,0x11ca,
--0x11e3,0x11fc,0x121d,0x124d,0x126c,0x128e,0x12c2,0x12ef,0x1334,0x1355,0x137f,0x13a0,0x13c9,0x13dc,0x140f,0x1426,
--0x1435,0x1446,0x1471,0x1488,0x14b9,0x14e7,0x152a,0x1535,0x156e,0x157f,0x1590,0x159d,0x15b0,0x15ea,0x160e,0x1632,
--0x166c,0x16a4,0x16cf,0x16e7,0x1713,0x173f,0x174c,0x175b,0x1778,0x179a,0x17c8,0x17e8,0x180f,0x1836,0x1855,0x1868,
--0x1879,0x188a,0x18af,0x18d4,0x18fb,0x192f,0x195c,0x197a,0x198d,0x19a6,0x19df,0x19ee,0x1a0e,0x1a30,0x1a52,0x1a69,
--0x1a80,0x1aad,0x1ac6,0x1adf,0x1b10,0x1b3a,0x1b55,0x1b68,0x1b87,0x1b90,0x1ba3,0x1bc1,0x1bdf,0x1bf2,0x1c09,0x1c1e,
--0x1c53,0x1c77,0x1c8c,0x1c9b,0x1cae,0x1cd2,0x1cdb,0x1cff,0x1d16,0x1d29,0x1d38,0x1d43,0x1d64,0x1d7c,0x1d8b,0x1d9a,
--0x1da9,0x1dc0,0x1dd5,0x1dea,0x1e23,0x1e36,0x1e52,0x1e5d,0x1e6a,0x1e98,0x1ebc,0x1edf,0x1ef2,0x1f14,0x1f27,0x1f42,
--0x1f65,0x1f88,0x1fad,0x1fbe,0x1fed,0x201a,0x2031,0x204c,0x205b,0x2086,0x20be,0x20f8,0x2126,0x2137,0x2144,0x2168,
--0x2177,0x2193,0x21ad,0x21ca,0x2202,0x2217,0x2244,0x2263,0x2291,0x22b1,0x22e5,0x22f4,0x231e,0x2341,0x236c,0x2377,
--0x2388,0x23a3,0x23c7,0x23d4,0x23e9,0x2410,0x243b,0x2472,0x2485,0x2496,0x24c6,0x24d7,0x24e6,0x24fb,0x2519,0x252c,
--0x253f,0x2556,0x2573,0x257e,0x2587,0x25a9,0x25be,0x25e3,0x25fa,0x2623,0x263e,0x2653,0x266c,0x268d,0x26c2,0x26d3,
--0x2704,0x2728,0x2739,0x2752,0x275d,0x278a,0x27ac,0x27da,0x280d,0x281c,0x282d,0x284a,0x288c,0x1ad4,1,0,
--0x12,0x28e9,0x28f9,0x290c,0x291c,0x292c,0x293b,0x294b,0x295d,0x2970,0x2982,0x2992,0x29a2,0x29b1,0x29c0,0x29d0,
--0x29dd,0x29ec,0x2a00,0x1b92,1,0,6,0x2a25,0x2a30,0x2a3d,0x2a4a,0x2a57,0x2a62,0x1bd6,1,0,
--0x1e,0x2a7f,0x2a8e,0x2aa3,0x2ab8,0x2acd,0x2ae1,0x2af2,0x2b06,0x2b19,0x2b2a,0x2b43,0x2b55,0x2b66,0x2b7a,0x2b8d,
--0x2ba5,0x2bb7,0x2bc2,0x2bd2,0x2be0,0x2bf5,0x2c0a,0x2c20,0x2c3a,0x2c50,0x2c60,0x2c74,0x2c88,0x2c99,0x2cb1,0x1e01,
--1,0,0x56,0x2cd9,0x2cfc,0x2d05,0x2d12,0x2d1d,0x2d26,0x2d31,0x2d3a,0x2d53,0x2d58,0x2d61,0x2d7e,0x2d87,
--0x2d94,0x2d9d,0x2dc1,0x2dc8,0x2dd1,0x2de4,0x2def,0x2df8,0x2e03,0x2e1c,0x2e25,0x2e34,0x2e3f,0x2e48,0x2e53,0x2e5c,
--0x2e63,0x2e6c,0x2e77,0x2e80,0x2e99,0x2ea2,0x2eaf,0x2eba,0x2ecb,0x2ed6,0x2eeb,0x2f02,0x2f0b,0x2f14,0x2f2d,0x2f38,
--0x2f41,0x2f4a,0x2f61,0x2f7e,0x2f89,0x2f9a,0x2fa5,0x2fac,0x2fb9,0x2fc6,0x2ff3,0x3008,0x3011,0x302c,0x304f,0x3070,
--0x3091,0x30b6,0x30dd,0x30fe,0x3121,0x3142,0x3169,0x318a,0x31af,0x31ce,0x31ed,0x320c,0x3229,0x324a,0x326b,0x328e,
--0x32b3,0x32d2,0x32f1,0x3312,0x3339,0x335e,0x337d,0x339e,0x33c1,0x20b5,1,0,6,0x33ed,0x33fc,0x340c,
--0x341c,0x342c,0x343d,0x2113,1,0,0x28,0x345b,0x3467,0x3475,0x3484,0x3493,0x34a3,0x34b4,0x34c8,0x34dd,
--0x34f3,0x3506,0x351a,0x352a,0x3533,0x353e,0x354e,0x356a,0x357c,0x358a,0x3599,0x35a5,0x35ba,0x35ce,0x35e1,0x35ef,
--0x3603,0x3611,0x361b,0x362d,0x3639,0x3647,0x3657,0x365e,0x3665,0x366c,0x3673,0x367a,0x3690,0x36b1,0x36c3,0x2355,
--1,0,4,0x36eb,0x36f6,0x3702,0x370c,0x237b,1,0,0xa7,0x3723,0x3730,0x3745,0x3752,0x3761,
--0x376f,0x377e,0x378d,0x379f,0x37ae,0x37bc,0x37cd,0x37dc,0x37eb,0x37f8,0x3804,0x3813,0x3822,0x382c,0x3839,0x3846,
--0x3855,0x3863,0x3872,0x387e,0x3888,0x3894,0x38a4,0x38b4,0x38c2,0x38ce,0x38df,0x38eb,0x38f7,0x3905,0x3912,0x391e,
--0x392b,0xc28,0x3938,0x3946,0x3960,0x3969,0x3977,0x3985,0x3991,0x39a0,0x39ae,0x39bc,0x39c8,0x39d7,0x39e5,0x39f3,
--0x3a00,0x3a0f,0x3a2a,0x3a39,0x3a4a,0x3a5b,0x3a6e,0x3a80,0x3a8f,0x3aa1,0x3ab0,0x3abc,0x3ac7,0x1d38,0x3ad4,0x3adf,
--0x3aea,0x3af5,0x3b00,0x3b1b,0x3b26,0x3b31,0x3b3c,0x3b4f,0x3b63,0x3b6e,0x3b7d,0x3b8c,0x3b97,0x3ba2,0x3baf,0x3bbe,
--0x3bcc,0x3bd7,0x3bf2,0x3bfc,0x3c0d,0x3c1e,0x3c2d,0x3c3e,0x3c49,0x3c54,0x3c5f,0x3c6a,0x3c75,0x3c80,0x3c8b,0x3c95,
--0x3ca0,0x3cb0,0x3cbb,0x3cc9,0x3cd6,0x3ce1,0x3cf0,0x3cfd,0x3d0a,0x3d19,0x3d26,0x3d37,0x3d49,0x3d59,0x3d64,0x3d77,
--0x3d8e,0x3d9c,0x3da9,0x3db4,0x3dc1,0x3dd2,0x3dee,0x3e04,0x3e0f,0x3e2c,0x3e3c,0x3e4b,0x3e56,0x3e61,0x1e52,0x3e6d,
--0x3e78,0x3e90,0x3ea0,0x3eaf,0x3ebd,0x3ecb,0x3ed6,0x3ee1,0x3ef5,0x3f0c,0x3f24,0x3f34,0x3f44,0x3f54,0x3f66,0x3f71,
--0x3f7c,0x3f86,0x3f91,0x3f9f,0x3fb2,0x3fbe,0x3fc9,0x3fd4,0x3ff0,0x3ffd,0x400b,0x4024,0x2752,0x4033,0x2573,0x4040,
--0x404e,0x4060,0x2bd8,1,0,6,0x4088,0x409b,0x40ab,0x40b9,0x40ca,0x40da,0x2c34,0x12,0,1,
--0x4104,0x410a,0x2c41,0x12,0,1,0x4104,0x410a,0x2c4e,1,0,3,0x4104,0x410a,0x4143,0x2c64,
--1,0,3,0x4104,0x410a,0x4143,0x2c7a,1,0,0xd,0x41cd,0x41d7,0x41e3,0x41ea,0x41f5,0x41fa,
--0x4201,0x4208,0x4211,0x4216,0x421b,0x422b,0x36c3,0x2ce8,1,0,0xf,0x41cd,0x424a,0x4254,0x425e,0x4269,
--0x3599,0x4273,0x427f,0x4287,0x428e,0x4298,0x41e3,0x41ea,0x41fa,0x42a2,0x2d6f,1,0,0x11,0x41cd,0x42bf,
--0x425e,0x42cb,0x42d8,0x42e6,0x3599,0x42f1,0x41e3,0x4302,0x41fa,0x4311,0x431f,0x36c3,0x36b1,0x432b,0x433c,0x2e47,
--1,0,3,0x436b,0x4373,0x437b,0x2e60,0x36,1,2,4,8,0xe,0x10,0x20,0x3e,
--0x40,0x80,0x100,0x1c0,0x200,0x400,0x800,0xe00,0x1000,0x2000,0x4000,0x7000,0x8000,0x10000,0x20000,0x40000,
--0x78001,0x80000,0x100000,0x200000,0x400000,0x800000,0x1000000,0x2000000,0x4000000,0x8000000,0xf000000,0x10000000,0x20000000,0x30f80000,0x2a7f,0x2a8e,
--0x2aa3,0x2ab8,0x43b2,0x2acd,0x2ae1,0x43a8,0x2af2,0x2b06,0x2b19,0x43c3,0x2b2a,0x2b43,0x2b55,0x43da,0x2b66,0x2b7a,
--0x2b8d,0x4403,0x2ba5,0x2bb7,0x2bc2,0x2bd2,0x439f,0x2be0,0x2bf5,0x2c0a,0x2c20,0x2c3a,0x2c50,0x2c60,0x2c74,0x2c88,
--0x43f9,0x2c99,0x2cb1,0x43e4
-+const int32_t PropNameData::valueMaps[1196]={
-+6,0,0x3d,0,0xd5,0x356,0xd5,0x36c,0xd5,0x381,0xd5,0x397,0xd5,0x3a2,0xd5,0x3c3,
-+0xd5,0x3d3,0xd5,0x3e2,0xd5,0x3f0,0xd5,0x414,0xd5,0x42b,0xd5,0x443,0xd5,0x45a,0xd5,0x469,
-+0xd5,0x478,0xd5,0x489,0xd5,0x497,0xd5,0x4a9,0xd5,0x4c3,0xd5,0x4de,0xd5,0x4f3,0xd5,0x510,
-+0xd5,0x521,0xd5,0x52c,0xd5,0x54b,0xd5,0x561,0xd5,0x572,0xd5,0x582,0xd5,0x59d,0xd5,0x5b6,
-+0xd5,0x5c7,0xd5,0x5e1,0xd5,0x5f4,0xd5,0x604,0xd5,0x61e,0xd5,0x62b,0xd5,0x642,0xd5,0x656,
-+0xd5,0x66c,0xd5,0x680,0xd5,0x696,0xd5,0x6b0,0xd5,0x6c8,0xd5,0x6e4,0xd5,0x6ec,0xd5,0x6f4,
-+0xd5,0x6fc,0xd5,0x704,0xd5,0x70d,0xd5,0x71a,0xd5,0x72d,0xd5,0x74a,0xd5,0x767,0xd5,0x784,
-+0xd5,0x7a2,0xd5,0x7c0,0xd5,0x7e4,0xd5,0x7f1,0xd5,0x818,0xd5,0x837,0xd5,0x1000,0x1016,0x860,
-+0x14f,0xa80,0x16a,0x292f,0xdb,0x294e,0x275,0x2a8c,0x28b,0x2ae6,0x295,0x2d43,0x2b7,0x3458,0x311,0x34c8,
-+0x31b,0x3756,0x347,0x3794,0x34f,0x40ea,0x3fa,0x4168,0x404,0x418d,0x40a,0x41a7,0x410,0x41c8,0x417,0x41e2,
-+0xdb,0x4207,0xdb,0x422d,0x41e,0x42b3,0x42f,0x432c,0x442,0x43c9,0x457,0x2000,0x2001,0x4400,0x45e,0x3000,
-+0x3001,0x448c,0,0x4000,0x400e,0x449e,0,0x44a7,0,0x44c1,0,0x44d2,0,0x44e3,0,0x44f9,
-+0,0x4502,0,0x451f,0,0x453d,0,0x455b,0,0x4579,0,0x458f,0,0x45a3,0,0x45b9,
-+0,0x7000,0x7001,0x45d2,0,0x6f5,0x12,0,1,0x12,0x20,0x713,0x49,0,1,7,
-+8,9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
-+0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x54,0x5b,0x67,
-+0x6b,0x76,0x7a,0x81,0x82,0x84,0x85,0xc8,0xca,0xd6,0xd8,0xda,0xdc,0xde,0xe0,0xe2,
-+0xe4,0xe6,0xe8,0xe9,0xea,0xf0,0x2e,0x40,0x4c,0x56,0x67,0x72,0x7f,0x8c,0x99,0xa6,
-+0xb3,0xc0,0xcd,0xda,0xe7,0xf4,0x101,0x10e,0x11b,0x128,0x135,0x142,0x14f,0x15c,0x169,0x176,
-+0x183,0x190,0x19d,0x1aa,0x1b7,0x1c4,0x1d1,0x1de,0x1eb,0x1fa,0x209,0x218,0x227,0x236,0x245,0x254,
-+0x263,0x27d,0x291,0x2a5,0x2c0,0x2cf,0x2d8,0x2e8,0x2f0,0x2f9,0x308,0x311,0x321,0x332,0x343,0x8a5,
-+1,0,0x17,0x86f,0x880,0x891,0x8a5,0x8bc,0x8d4,0x8e6,0x8fb,0x912,0x927,0x937,0x949,0x966,
-+0x982,0x994,0x9b1,0x9cd,0x9e9,0x9fe,0xa13,0xa2d,0xa48,0xa63,0xa47,1,0,0x107,0xa8b,0xa98,
-+0xaab,0xad3,0xaf1,0xb0f,0xb27,0xb52,0xb7c,0xb94,0xba7,0xbba,0xbc9,0xbd8,0xbe7,0xbf6,0xc0d,0xc1e,
-+0xc31,0xc44,0xc51,0xc5e,0xc6d,0xc7e,0xc93,0xca4,0xcaf,0xcb8,0xcc9,0xcda,0xced,0xcff,0xd12,0xd25,
-+0xd64,0xd71,0xd7e,0xd8b,0xda0,0xdd0,0xdea,0xe0b,0xe36,0xe59,0xeb7,0xede,0xef9,0xf08,0xf2f,0xf57,
-+0xf7a,0xf9d,0xfc7,0xfe0,0xfff,0x1022,0x1046,0x1059,0x1073,0x109d,0x10b5,0x10dd,0x1106,0x1119,0x112c,0x113f,
-+0x1166,0x1175,0x1195,0x11c3,0x11e1,0x120f,0x122b,0x1246,0x125f,0x1278,0x1299,0x12c9,0x12e8,0x130a,0x133e,0x136b,
-+0x13b0,0x13d1,0x13fb,0x141c,0x1445,0x1458,0x148b,0x14a2,0x14b1,0x14c2,0x14ed,0x1504,0x1535,0x1563,0x15a6,0x15b1,
-+0x15ea,0x15fb,0x160c,0x1619,0x162c,0x1666,0x168a,0x16ae,0x16e8,0x1720,0x174b,0x1763,0x178f,0x17bb,0x17c8,0x17d7,
-+0x17f4,0x1816,0x1844,0x1864,0x188b,0x18b2,0x18d1,0x18e4,0x18f5,0x1906,0x192b,0x1950,0x1977,0x19ab,0x19d8,0x19f6,
-+0x1a09,0x1a22,0x1a5b,0x1a6a,0x1a8a,0x1aac,0x1ace,0x1ae5,0x1afc,0x1b29,0x1b42,0x1b5b,0x1b8c,0x1bb6,0x1bd1,0x1be4,
-+0x1c03,0x1c0c,0x1c1f,0x1c3d,0x1c5b,0x1c6e,0x1c85,0x1c9a,0x1ccf,0x1cf3,0x1d08,0x1d17,0x1d2a,0x1d4e,0x1d57,0x1d7b,
-+0x1d92,0x1da5,0x1db4,0x1dbf,0x1de0,0x1df8,0x1e07,0x1e16,0x1e25,0x1e3c,0x1e51,0x1e66,0x1e9f,0x1eb2,0x1ece,0x1ed9,
-+0x1ee6,0x1f14,0x1f38,0x1f5b,0x1f6e,0x1f90,0x1fa3,0x1fbe,0x1fe1,0x2004,0x2029,0x203a,0x2069,0x2096,0x20ad,0x20c8,
-+0x20d7,0x2102,0x213a,0x2174,0x21a2,0x21b3,0x21c0,0x21e4,0x21f3,0x220f,0x2229,0x2246,0x227e,0x2293,0x22c0,0x22df,
-+0x230d,0x232d,0x2361,0x2370,0x239a,0x23bd,0x23e8,0x23f3,0x2404,0x241f,0x2443,0x2450,0x2465,0x248c,0x24b7,0x24ee,
-+0x2501,0x2512,0x2542,0x2553,0x2562,0x2577,0x2595,0x25a8,0x25bb,0x25d2,0x25ef,0x25fa,0x2603,0x2625,0x263a,0x265f,
-+0x2676,0x269f,0x26ba,0x26cf,0x26e8,0x2709,0x273e,0x274f,0x2780,0x27a4,0x27b5,0x27ce,0x27d9,0x2806,0x2828,0x2856,
-+0x2889,0x2898,0x28a9,0x28c6,0x2908,0x1afc,1,0,0x12,0x2965,0x2975,0x2988,0x2998,0x29a8,0x29b7,0x29c7,
-+0x29d9,0x29ec,0x29fe,0x2a0e,0x2a1e,0x2a2d,0x2a3c,0x2a4c,0x2a59,0x2a68,0x2a7c,0x1bba,1,0,6,0x2aa1,
-+0x2aac,0x2ab9,0x2ac6,0x2ad3,0x2ade,0x1bfe,1,0,0x1e,0x2afb,0x2b0a,0x2b1f,0x2b34,0x2b49,0x2b5d,0x2b6e,
-+0x2b82,0x2b95,0x2ba6,0x2bbf,0x2bd1,0x2be2,0x2bf6,0x2c09,0x2c21,0x2c33,0x2c3e,0x2c4e,0x2c5c,0x2c71,0x2c86,0x2c9c,
-+0x2cb6,0x2ccc,0x2cdc,0x2cf0,0x2d04,0x2d15,0x2d2d,0x1e29,1,0,0x56,0x2d55,0x2d78,0x2d81,0x2d8e,0x2d99,
-+0x2da2,0x2dad,0x2db6,0x2dcf,0x2dd4,0x2ddd,0x2dfa,0x2e03,0x2e10,0x2e19,0x2e3d,0x2e44,0x2e4d,0x2e60,0x2e6b,0x2e74,
-+0x2e7f,0x2e98,0x2ea1,0x2eb0,0x2ebb,0x2ec4,0x2ecf,0x2ed8,0x2edf,0x2ee8,0x2ef3,0x2efc,0x2f15,0x2f1e,0x2f2b,0x2f36,
-+0x2f47,0x2f52,0x2f67,0x2f7e,0x2f87,0x2f90,0x2fa9,0x2fb4,0x2fbd,0x2fc6,0x2fdd,0x2ffa,0x3005,0x3016,0x3021,0x3028,
-+0x3035,0x3042,0x306f,0x3084,0x308d,0x30a8,0x30cb,0x30ec,0x310d,0x3132,0x3159,0x317a,0x319d,0x31be,0x31e5,0x3206,
-+0x322b,0x324a,0x3269,0x3288,0x32a5,0x32c6,0x32e7,0x330a,0x332f,0x334e,0x336d,0x338e,0x33b5,0x33da,0x33f9,0x341a,
-+0x343d,0x20dd,1,0,6,0x3469,0x3478,0x3488,0x3498,0x34a8,0x34b9,0x213b,1,0,0x28,0x34d7,
-+0x34e3,0x34f1,0x3500,0x350f,0x351f,0x3530,0x3544,0x3559,0x356f,0x3582,0x3596,0x35a6,0x35af,0x35ba,0x35ca,0x35e6,
-+0x35f8,0x3606,0x3615,0x3621,0x3636,0x364a,0x365d,0x366b,0x367f,0x368d,0x3697,0x36a9,0x36b5,0x36c3,0x36d3,0x36da,
-+0x36e1,0x36e8,0x36ef,0x36f6,0x370c,0x372d,0x373f,0x237d,1,0,4,0x3767,0x3772,0x377e,0x3788,0x23a3,
-+1,0,0xa7,0x379f,0x37ac,0x37c1,0x37ce,0x37dd,0x37eb,0x37fa,0x3809,0x381b,0x382a,0x3838,0x3849,0x3858,
-+0x3867,0x3874,0x3880,0x388f,0x389e,0x38a8,0x38b5,0x38c2,0x38d1,0x38df,0x38ee,0x38fa,0x3904,0x3910,0x3920,0x3930,
-+0x393e,0x394a,0x395b,0x3967,0x3973,0x3981,0x398e,0x399a,0x39a7,0xca4,0x39b4,0x39c2,0x39dc,0x39e5,0x39f3,0x3a01,
-+0x3a0d,0x3a1c,0x3a2a,0x3a38,0x3a44,0x3a53,0x3a61,0x3a6f,0x3a7c,0x3a8b,0x3aa6,0x3ab5,0x3ac6,0x3ad7,0x3aea,0x3afc,
-+0x3b0b,0x3b1d,0x3b2c,0x3b38,0x3b43,0x1db4,0x3b50,0x3b5b,0x3b66,0x3b71,0x3b7c,0x3b97,0x3ba2,0x3bad,0x3bb8,0x3bcb,
-+0x3bdf,0x3bea,0x3bf9,0x3c08,0x3c13,0x3c1e,0x3c2b,0x3c3a,0x3c48,0x3c53,0x3c6e,0x3c78,0x3c89,0x3c9a,0x3ca9,0x3cba,
-+0x3cc5,0x3cd0,0x3cdb,0x3ce6,0x3cf1,0x3cfc,0x3d07,0x3d11,0x3d1c,0x3d2c,0x3d37,0x3d45,0x3d52,0x3d5d,0x3d6c,0x3d79,
-+0x3d86,0x3d95,0x3da2,0x3db3,0x3dc5,0x3dd5,0x3de0,0x3df3,0x3e0a,0x3e18,0x3e25,0x3e30,0x3e3d,0x3e4e,0x3e6a,0x3e80,
-+0x3e8b,0x3ea8,0x3eb8,0x3ec7,0x3ed2,0x3edd,0x1ece,0x3ee9,0x3ef4,0x3f0c,0x3f1c,0x3f2b,0x3f39,0x3f47,0x3f52,0x3f5d,
-+0x3f71,0x3f88,0x3fa0,0x3fb0,0x3fc0,0x3fd0,0x3fe2,0x3fed,0x3ff8,0x4002,0x400d,0x401b,0x402e,0x403a,0x4045,0x4050,
-+0x406c,0x4079,0x4087,0x40a0,0x27ce,0x40af,0x25ef,0x40bc,0x40ca,0x40dc,0x2c00,1,0,6,0x4104,0x4117,
-+0x4127,0x4135,0x4146,0x4156,0x2c5c,0x12,0,1,0x4180,0x4186,0x2c69,0x12,0,1,0x4180,0x4186,
-+0x2c76,1,0,3,0x4180,0x4186,0x41bf,0x2c8c,1,0,3,0x4180,0x4186,0x41bf,0x2ca2,1,
-+0,0xd,0x4249,0x4253,0x425f,0x4266,0x4271,0x4276,0x427d,0x4284,0x428d,0x4292,0x4297,0x42a7,0x373f,0x2d10,
-+1,0,0xf,0x4249,0x42c6,0x42d0,0x42da,0x42e5,0x3615,0x42ef,0x42fb,0x4303,0x430a,0x4314,0x425f,0x4266,
-+0x4276,0x431e,0x2d97,1,0,0x11,0x4249,0x433b,0x42da,0x4347,0x4354,0x4362,0x3615,0x436d,0x425f,0x437e,
-+0x4276,0x438d,0x439b,0x373f,0x372d,0x43a7,0x43b8,0x2e6f,1,0,3,0x43e7,0x43ef,0x43f7,0x2e88,0x36,
-+1,2,4,8,0xe,0x10,0x20,0x3e,0x40,0x80,0x100,0x1c0,0x200,0x400,0x800,0xe00,
-+0x1000,0x2000,0x4000,0x7000,0x8000,0x10000,0x20000,0x40000,0x78001,0x80000,0x100000,0x200000,0x400000,0x800000,0x1000000,0x2000000,
-+0x4000000,0x8000000,0xf000000,0x10000000,0x20000000,0x30f80000,0x2afb,0x2b0a,0x2b1f,0x2b34,0x442e,0x2b49,0x2b5d,0x4424,0x2b6e,0x2b82,
-+0x2b95,0x443f,0x2ba6,0x2bbf,0x2bd1,0x4456,0x2be2,0x2bf6,0x2c09,0x447f,0x2c21,0x2c33,0x2c3e,0x2c4e,0x441b,0x2c5c,
-+0x2c71,0x2c86,0x2c9c,0x2cb6,0x2ccc,0x2cdc,0x2cf0,0x2d04,0x4475,0x2d15,0x2d2d,0x4460
- };
- 
--const uint8_t PropNameData::bytesTries[12663]={
-+const uint8_t PropNameData::bytesTries[12703]={
- 0,0x15,0x6d,0xc3,0x16,0x73,0xc1,0xea,0x76,0x5f,0x76,0x68,0x77,0x90,0x78,1,
- 0x64,0x50,0x69,0x10,0x64,1,0x63,0x30,0x73,0x62,0x13,0x74,0x61,0x72,0x74,0x63,
- 0x60,0x16,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x61,0x13,0x69,0x67,0x69,0x74,0x81,
-@@ -171,724 +171,726 @@ const uint8_t PropNameData::bytesTries[12663]={
- 0x65,0x61,0x6b,0xc3,0x12,0x14,0x78,0x74,0x65,0x6e,0x64,0x37,0x12,0x61,0x73,0x65,
- 0x35,0x11,0x78,0x74,0x37,0xc2,5,1,0x62,0xc3,0x12,0x6d,0xd9,0x20,0,0x1c,
- 0x6e,0x65,0x72,0x61,0x6c,0x63,0x61,0x74,0x65,0x67,0x6f,0x72,0x79,0xc2,5,0x13,
--0x6d,0x61,0x73,0x6b,0xd9,0x20,0,0x61,0x72,0x62,0xa2,0x57,0x63,0xa2,0xc9,0x64,
--0xa4,0x96,0x65,1,0x61,0x36,0x78,0x10,0x74,0x30,0x14,0x65,0x6e,0x64,0x65,0x72,
--0x31,0xc2,4,0x1b,0x73,0x74,0x61,0x73,0x69,0x61,0x6e,0x77,0x69,0x64,0x74,0x68,
--0xc3,4,3,0x67,0x44,0x68,0x4a,0x6c,0x4e,0x73,0x1a,0x63,0x69,0x69,0x68,0x65,
--0x78,0x64,0x69,0x67,0x69,0x74,0x23,0x10,0x65,0xd9,0x40,0,0x11,0x65,0x78,0x23,
--1,0x6e,0x38,0x70,0x11,0x68,0x61,0x20,0x14,0x62,0x65,0x74,0x69,0x63,0x21,0x11,
--0x75,0x6d,0x79,4,0x63,0xc3,0,0x69,0x3e,0x6c,0xa2,0x57,0x6d,0xa2,0x64,0x70,
--1,0x62,0xd9,0x40,0xd,0x74,0xc3,0x15,0x11,0x64,0x69,2,0x63,0x54,0x6d,0x74,
--0x70,0x1b,0x61,0x69,0x72,0x65,0x64,0x62,0x72,0x61,0x63,0x6b,0x65,0x74,0xd8,0x40,
--0xd,0x13,0x74,0x79,0x70,0x65,0xc3,0x15,0x24,1,0x6c,0x30,0x6f,0x14,0x6e,0x74,
--0x72,0x6f,0x6c,0x25,0x12,0x61,0x73,0x73,0xc3,0,0x26,0x14,0x69,0x72,0x72,0x6f,
--0x72,1,0x65,0x38,0x69,0x16,0x6e,0x67,0x67,0x6c,0x79,0x70,0x68,0xd9,0x40,1,
--0x10,0x64,0x27,2,0x61,0x32,0x6b,0xc3,1,0x6f,0x11,0x63,0x6b,0xc3,1,0x11,
--0x6e,0x6b,0x7b,0x10,0x67,0xd9,0x40,1,6,0x68,0x7c,0x68,0x54,0x69,0x85,0x6f,
--0xa2,0x6f,0x77,4,0x63,0x30,0x6b,0x36,0x6c,0x87,0x74,0x8b,0x75,0x89,1,0x66,
--0x8d,0x6d,0x8f,0x11,0x63,0x66,0x91,0x18,0x61,0x6e,0x67,0x65,0x73,0x77,0x68,0x65,
--0x6e,4,0x63,0x44,0x6c,0x6c,0x6e,0x7e,0x74,0x98,0x75,0x18,0x70,0x70,0x65,0x72,
--0x63,0x61,0x73,0x65,0x64,0x89,0x12,0x61,0x73,0x65,1,0x66,0x30,0x6d,0x14,0x61,
--0x70,0x70,0x65,0x64,0x8f,0x14,0x6f,0x6c,0x64,0x65,0x64,0x8d,0x18,0x6f,0x77,0x65,
--0x72,0x63,0x61,0x73,0x65,0x64,0x87,0x1c,0x66,0x6b,0x63,0x63,0x61,0x73,0x65,0x66,
--0x6f,0x6c,0x64,0x65,0x64,0x91,0x18,0x69,0x74,0x6c,0x65,0x63,0x61,0x73,0x65,0x64,
--0x8b,0x13,0x6d,0x70,0x65,0x78,0x33,0x61,0x2e,0x63,0xa2,0x48,0x66,0xd9,0x40,2,
--1,0x6e,0x72,0x73,0x10,0x65,3,0x64,0x83,0x66,0x3a,0x69,0x4a,0x73,0x17,0x65,
--0x6e,0x73,0x69,0x74,0x69,0x76,0x65,0x65,0x15,0x6f,0x6c,0x64,0x69,0x6e,0x67,0xd9,
--0x40,2,0x17,0x67,0x6e,0x6f,0x72,0x61,0x62,0x6c,0x65,0x85,0x13,0x6f,0x6e,0x69,
--0x63,0x1f,0x61,0x6c,0x63,0x6f,0x6d,0x62,0x69,0x6e,0x69,0x6e,0x67,0x63,0x6c,0x61,
--0x73,0x73,0xc3,2,0x10,0x63,0xc3,2,3,0x61,0x30,0x65,0x34,0x69,0xa2,0x41,
--0x74,0xc3,3,0x11,0x73,0x68,0x29,2,0x63,0x3a,0x66,0x58,0x70,0x2c,0x16,0x72,
--0x65,0x63,0x61,0x74,0x65,0x64,0x2d,0x1d,0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x69,
--0x6f,0x6e,0x74,0x79,0x70,0x65,0xc3,3,0x15,0x61,0x75,0x6c,0x74,0x69,0x67,0x1f,
--0x6e,0x6f,0x72,0x61,0x62,0x6c,0x65,0x63,0x6f,0x64,0x65,0x70,0x6f,0x69,0x6e,0x74,
--0x2b,0x2a,0x10,0x61,0x2e,0x15,0x63,0x72,0x69,0x74,0x69,0x63,0x2f,3,0x66,0x34,
--0x6e,0x3e,0x74,0x42,0x79,0x22,0x11,0x65,0x73,0x23,0x20,0x13,0x61,0x6c,0x73,0x65,
--0x21,0x20,0x10,0x6f,0x21,0x22,0x12,0x72,0x75,0x65,0x23,0xa,0x6b,0x5b,0x6f,0x23,
--0x6f,0x3c,0x72,0x4c,0x76,1,0x69,0x24,0x72,0x33,0x13,0x72,0x61,0x6d,0x61,0x33,
--0x10,0x76,0x22,0x14,0x65,0x72,0x6c,0x61,0x79,0x23,0xa2,0xe2,0x13,0x69,0x67,0x68,
--0x74,0xa3,0xe2,0x6b,0x58,0x6c,0x74,0x6e,3,0x6b,0x2f,0x6f,0x30,0x72,0x21,0x75,
--0x12,0x6b,0x74,0x61,0x2f,0x19,0x74,0x72,0x65,0x6f,0x72,0x64,0x65,0x72,0x65,0x64,
--0x21,1,0x61,0x24,0x76,0x31,0x18,0x6e,0x61,0x76,0x6f,0x69,0x63,0x69,0x6e,0x67,
--0x31,0xa2,0xe0,0x12,0x65,0x66,0x74,0xa3,0xe0,0x61,0x5c,0x62,0xa2,0x77,0x63,0xa2,
--0x96,0x64,0xa4,0xa,0x69,1,0x6f,0x26,0x73,0xa3,0xf0,0x1a,0x74,0x61,0x73,0x75,
--0x62,0x73,0x63,0x72,0x69,0x70,0x74,0xa3,0xf0,0xa2,0xe6,3,0x62,0xa0,0x6c,0xa3,
--0xe4,0x72,0xa3,0xe8,0x74,2,0x61,0x74,0x62,0x7c,0x74,0x14,0x61,0x63,0x68,0x65,
--0x64,1,0x61,0x3e,0x62,0x13,0x65,0x6c,0x6f,0x77,0xa2,0xca,0x13,0x6c,0x65,0x66,
--0x74,0xa3,0xc8,0x13,0x62,0x6f,0x76,0x65,0xa2,0xd6,0x14,0x72,0x69,0x67,0x68,0x74,
--0xa3,0xd8,0xa2,0xd6,0x10,0x72,0xa3,0xd8,0xa2,0xca,0x10,0x6c,0xa3,0xc8,0x12,0x6f,
--0x76,0x65,0xa2,0xe6,1,0x6c,0x30,0x72,0x13,0x69,0x67,0x68,0x74,0xa3,0xe8,0x12,
--0x65,0x66,0x74,0xa3,0xe4,0xa2,0xdc,2,0x65,0x2c,0x6c,0xa3,0xda,0x72,0xa3,0xde,
--0x12,0x6c,0x6f,0x77,0xa2,0xdc,1,0x6c,0x30,0x72,0x13,0x69,0x67,0x68,0x74,0xa3,
--0xde,0x12,0x65,0x66,0x74,0xa3,0xda,0x11,0x63,0x63,4,0x31,0x3c,0x32,0xa2,0x42,
--0x33,0xa2,0x56,0x38,0xa2,0x64,0x39,0x10,0x31,0xa3,0x5b,9,0x35,0xa,0x35,0x3f,
--0x36,0x41,0x37,0x43,0x38,0x45,0x39,0x47,0x30,0x30,0x31,0x3c,0x32,0x42,0x33,0x4e,
--0x34,0x3d,0x34,1,0x33,0xa3,0x67,0x37,0xa3,0x6b,0x36,0x10,0x38,0xa3,0x76,0x38,
--1,0x32,0xa3,0x7a,0x39,0xa3,0x81,0x3a,2,0x30,0xa3,0x82,0x32,0xa3,0x84,0x33,
--0xa3,0x85,9,0x35,0xa,0x35,0x53,0x36,0x55,0x37,0x57,0x38,0x59,0x39,0x5b,0x30,
--0x49,0x31,0x4b,0x32,0x4d,0x33,0x4f,0x34,0x51,6,0x33,8,0x33,0x63,0x34,0x65,
--0x35,0x67,0x36,0x69,0x30,0x5d,0x31,0x5f,0x32,0x61,0x10,0x34,0xa3,0x54,2,0x61,
--0xa3,0xea,0x62,0xa3,0xe9,0x6f,0x13,0x75,0x62,0x6c,0x65,1,0x61,0x30,0x62,0x13,
--0x65,0x6c,0x6f,0x77,0xa3,0xe9,0x13,0x62,0x6f,0x76,0x65,0xa3,0xea,0xb,0x6e,0xc0,
--0xca,0x72,0x5f,0x72,0x46,0x73,0xa2,0x48,0x77,1,0x68,0x24,0x73,0x33,0x17,0x69,
--0x74,0x65,0x73,0x70,0x61,0x63,0x65,0x33,0x22,1,0x69,0x30,0x6c,2,0x65,0x3d,
--0x69,0x4b,0x6f,0x3f,0x18,0x67,0x68,0x74,0x74,0x6f,0x6c,0x65,0x66,0x74,0x22,2,
--0x65,0x38,0x69,0x48,0x6f,0x16,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x3f,0x17,0x6d,
--0x62,0x65,0x64,0x64,0x69,0x6e,0x67,0x3d,0x15,0x73,0x6f,0x6c,0x61,0x74,0x65,0x4b,
--0x30,0x1e,0x65,0x67,0x6d,0x65,0x6e,0x74,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,
--0x72,0x31,0x6e,0xa2,0x41,0x6f,0xa2,0x53,0x70,2,0x61,0x66,0x64,0x86,0x6f,0x1b,
--0x70,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x61,0x6c,1,0x66,0x32,0x69,
--0x15,0x73,0x6f,0x6c,0x61,0x74,0x65,0x4d,0x14,0x6f,0x72,0x6d,0x61,0x74,0x41,0x1f,
--0x72,0x61,0x67,0x72,0x61,0x70,0x68,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,
--0x2f,1,0x66,0x41,0x69,0x4d,1,0x6f,0x28,0x73,0x10,0x6d,0x43,0x1b,0x6e,0x73,
--0x70,0x61,0x63,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x43,1,0x6e,0x35,0x74,0x19,
--0x68,0x65,0x72,0x6e,0x65,0x75,0x74,0x72,0x61,0x6c,0x35,0x65,0x88,0x65,0x98,0x66,
--0xa2,0x6a,0x6c,0x20,1,0x65,0x30,0x72,2,0x65,0x37,0x69,0x49,0x6f,0x39,0x18,
--0x66,0x74,0x74,0x6f,0x72,0x69,0x67,0x68,0x74,0x20,2,0x65,0x38,0x69,0x48,0x6f,
--0x16,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x39,0x17,0x6d,0x62,0x65,0x64,0x64,0x69,
--0x6e,0x67,0x37,0x15,0x73,0x6f,0x6c,0x61,0x74,0x65,0x49,3,0x6e,0x25,0x73,0x27,
--0x74,0x29,0x75,0x15,0x72,0x6f,0x70,0x65,0x61,0x6e,2,0x6e,0x3c,0x73,0x46,0x74,
--0x18,0x65,0x72,0x6d,0x69,0x6e,0x61,0x74,0x6f,0x72,0x29,0x14,0x75,0x6d,0x62,0x65,
--0x72,0x25,0x17,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x27,1,0x69,0x28,0x73,
--0x10,0x69,0x47,0x1f,0x72,0x73,0x74,0x73,0x74,0x72,0x6f,0x6e,0x67,0x69,0x73,0x6f,
--0x6c,0x61,0x74,0x65,0x47,0x61,0x4e,0x62,0x84,0x63,1,0x6f,0x24,0x73,0x2d,0x1c,
--0x6d,0x6d,0x6f,0x6e,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x2d,2,0x6c,
--0x3b,0x6e,0x2b,0x72,0x13,0x61,0x62,0x69,0x63,1,0x6c,0x30,0x6e,0x14,0x75,0x6d,
--0x62,0x65,0x72,0x2b,0x14,0x65,0x74,0x74,0x65,0x72,0x3b,0x2e,1,0x6e,0x45,0x6f,
--0x1c,0x75,0x6e,0x64,0x61,0x72,0x79,0x6e,0x65,0x75,0x74,0x72,0x61,0x6c,0x45,0,
--0x15,0x6d,0xc7,0x44,0x73,0xc3,0x75,0x76,0x9c,0x76,0x92,0x77,0xa2,0x8b,0x79,0x10,
--0x69,2,0x6a,0x3c,0x72,0x68,0x73,0x17,0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,0x73,
--0xa3,0x48,0x12,0x69,0x6e,0x67,0xa2,0x74,0x1e,0x68,0x65,0x78,0x61,0x67,0x72,0x61,
--0x6d,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x74,0x16,0x61,0x64,0x69,0x63,0x61,
--0x6c,0x73,0xa3,0x49,2,0x61,0x36,0x65,0x7a,0x73,0xa2,0x6c,0x12,0x73,0x75,0x70,
--0xa3,0x7d,1,0x69,0xa3,0x9f,0x72,0x1e,0x69,0x61,0x74,0x69,0x6f,0x6e,0x73,0x65,
--0x6c,0x65,0x63,0x74,0x6f,0x72,0x73,0xa2,0x6c,0x19,0x73,0x75,0x70,0x70,0x6c,0x65,
--0x6d,0x65,0x6e,0x74,0xa3,0x7d,1,0x64,0x3c,0x72,0x19,0x74,0x69,0x63,0x61,0x6c,
--0x66,0x6f,0x72,0x6d,0x73,0xa3,0x91,0x14,0x69,0x63,0x65,0x78,0x74,0xa2,0xaf,0x16,
--0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,0xa3,0xaf,0x18,0x61,0x72,0x61,0x6e,0x67,0x63,
--0x69,0x74,0x69,0xa3,0xfc,0x73,0xa2,0x4b,0x74,0xa6,0x2b,0x75,2,0x63,0x82,0x67,
--0x92,0x6e,0x1f,0x69,0x66,0x69,0x65,0x64,0x63,0x61,0x6e,0x61,0x64,0x69,0x61,0x6e,
--0x61,0x62,0x6f,0x1f,0x72,0x69,0x67,0x69,0x6e,0x61,0x6c,0x73,0x79,0x6c,0x6c,0x61,
--0x62,0x69,0x63,0x73,0x62,0x17,0x65,0x78,0x74,0x65,0x6e,0x64,0x65,0x64,0xa3,0xad,
--0x11,0x61,0x73,0x62,0x12,0x65,0x78,0x74,0xa3,0xad,0x15,0x61,0x72,0x69,0x74,0x69,
--0x63,0xa3,0x78,7,0x6f,0xc1,0x5b,0x6f,0x54,0x70,0x68,0x75,0xa2,0x43,0x79,1,
--0x6c,0x2c,0x72,0x12,0x69,0x61,0x63,0x3b,0x17,0x6f,0x74,0x69,0x6e,0x61,0x67,0x72,
--0x69,0xa3,0x8f,0x18,0x72,0x61,0x73,0x6f,0x6d,0x70,0x65,0x6e,0x67,0xa3,0xda,1,
--0x61,0x32,0x65,0x14,0x63,0x69,0x61,0x6c,0x73,0xa3,0x56,0x12,0x63,0x69,0x6e,0x1f,
--0x67,0x6d,0x6f,0x64,0x69,0x66,0x69,0x65,0x72,0x6c,0x65,0x74,0x74,0x65,0x72,0x73,
--0x2d,2,0x6e,0x48,0x70,0x76,0x74,0x1d,0x74,0x6f,0x6e,0x73,0x69,0x67,0x6e,0x77,
--0x72,0x69,0x74,0x69,0x6e,0x67,0xa5,6,0x15,0x64,0x61,0x6e,0x65,0x73,0x65,0xa2,
--0x9b,0x12,0x73,0x75,0x70,0xa2,0xdb,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,
--0xdb,4,0x61,0xa2,0xa8,0x65,0x5c,0x6d,0x9e,0x70,0xa2,0x4b,0x73,0x13,0x79,0x6d,
-+0x6d,0x61,0x73,0x6b,0xd9,0x20,0,0x61,0xa2,0x50,0x62,0xa2,0x7e,0x63,0xa2,0xf0,
-+0x64,0xa4,0xbd,0x65,2,0x61,0x3a,0x6d,0x58,0x78,0x10,0x74,0x30,0x14,0x65,0x6e,
-+0x64,0x65,0x72,0x31,0xc2,4,0x1b,0x73,0x74,0x61,0x73,0x69,0x61,0x6e,0x77,0x69,
-+0x64,0x74,0x68,0xc3,4,0x12,0x6f,0x6a,0x69,0x92,1,0x6d,0x3c,0x70,0x1a,0x72,
-+0x65,0x73,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x95,0x16,0x6f,0x64,0x69,0x66,
-+0x69,0x65,0x72,0x96,0x13,0x62,0x61,0x73,0x65,0x99,3,0x67,0x44,0x68,0x4a,0x6c,
-+0x4e,0x73,0x1a,0x63,0x69,0x69,0x68,0x65,0x78,0x64,0x69,0x67,0x69,0x74,0x23,0x10,
-+0x65,0xd9,0x40,0,0x11,0x65,0x78,0x23,1,0x6e,0x38,0x70,0x11,0x68,0x61,0x20,
-+0x14,0x62,0x65,0x74,0x69,0x63,0x21,0x11,0x75,0x6d,0x79,4,0x63,0xc3,0,0x69,
-+0x3e,0x6c,0xa2,0x57,0x6d,0xa2,0x64,0x70,1,0x62,0xd9,0x40,0xd,0x74,0xc3,0x15,
-+0x11,0x64,0x69,2,0x63,0x54,0x6d,0x74,0x70,0x1b,0x61,0x69,0x72,0x65,0x64,0x62,
-+0x72,0x61,0x63,0x6b,0x65,0x74,0xd8,0x40,0xd,0x13,0x74,0x79,0x70,0x65,0xc3,0x15,
-+0x24,1,0x6c,0x30,0x6f,0x14,0x6e,0x74,0x72,0x6f,0x6c,0x25,0x12,0x61,0x73,0x73,
-+0xc3,0,0x26,0x14,0x69,0x72,0x72,0x6f,0x72,1,0x65,0x38,0x69,0x16,0x6e,0x67,
-+0x67,0x6c,0x79,0x70,0x68,0xd9,0x40,1,0x10,0x64,0x27,2,0x61,0x32,0x6b,0xc3,
-+1,0x6f,0x11,0x63,0x6b,0xc3,1,0x11,0x6e,0x6b,0x7b,0x10,0x67,0xd9,0x40,1,
-+6,0x68,0x7c,0x68,0x54,0x69,0x85,0x6f,0xa2,0x6f,0x77,4,0x63,0x30,0x6b,0x36,
-+0x6c,0x87,0x74,0x8b,0x75,0x89,1,0x66,0x8d,0x6d,0x8f,0x11,0x63,0x66,0x91,0x18,
-+0x61,0x6e,0x67,0x65,0x73,0x77,0x68,0x65,0x6e,4,0x63,0x44,0x6c,0x6c,0x6e,0x7e,
-+0x74,0x98,0x75,0x18,0x70,0x70,0x65,0x72,0x63,0x61,0x73,0x65,0x64,0x89,0x12,0x61,
-+0x73,0x65,1,0x66,0x30,0x6d,0x14,0x61,0x70,0x70,0x65,0x64,0x8f,0x14,0x6f,0x6c,
-+0x64,0x65,0x64,0x8d,0x18,0x6f,0x77,0x65,0x72,0x63,0x61,0x73,0x65,0x64,0x87,0x1c,
-+0x66,0x6b,0x63,0x63,0x61,0x73,0x65,0x66,0x6f,0x6c,0x64,0x65,0x64,0x91,0x18,0x69,
-+0x74,0x6c,0x65,0x63,0x61,0x73,0x65,0x64,0x8b,0x13,0x6d,0x70,0x65,0x78,0x33,0x61,
-+0x2e,0x63,0xa2,0x48,0x66,0xd9,0x40,2,1,0x6e,0x72,0x73,0x10,0x65,3,0x64,
-+0x83,0x66,0x3a,0x69,0x4a,0x73,0x17,0x65,0x6e,0x73,0x69,0x74,0x69,0x76,0x65,0x65,
-+0x15,0x6f,0x6c,0x64,0x69,0x6e,0x67,0xd9,0x40,2,0x17,0x67,0x6e,0x6f,0x72,0x61,
-+0x62,0x6c,0x65,0x85,0x13,0x6f,0x6e,0x69,0x63,0x1f,0x61,0x6c,0x63,0x6f,0x6d,0x62,
-+0x69,0x6e,0x69,0x6e,0x67,0x63,0x6c,0x61,0x73,0x73,0xc3,2,0x10,0x63,0xc3,2,
-+3,0x61,0x30,0x65,0x34,0x69,0xa2,0x41,0x74,0xc3,3,0x11,0x73,0x68,0x29,2,
-+0x63,0x3a,0x66,0x58,0x70,0x2c,0x16,0x72,0x65,0x63,0x61,0x74,0x65,0x64,0x2d,0x1d,
-+0x6f,0x6d,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x74,0x79,0x70,0x65,0xc3,3,
-+0x15,0x61,0x75,0x6c,0x74,0x69,0x67,0x1f,0x6e,0x6f,0x72,0x61,0x62,0x6c,0x65,0x63,
-+0x6f,0x64,0x65,0x70,0x6f,0x69,0x6e,0x74,0x2b,0x2a,0x10,0x61,0x2e,0x15,0x63,0x72,
-+0x69,0x74,0x69,0x63,0x2f,3,0x66,0x34,0x6e,0x3e,0x74,0x42,0x79,0x22,0x11,0x65,
-+0x73,0x23,0x20,0x13,0x61,0x6c,0x73,0x65,0x21,0x20,0x10,0x6f,0x21,0x22,0x12,0x72,
-+0x75,0x65,0x23,0xa,0x6b,0x5b,0x6f,0x23,0x6f,0x3c,0x72,0x4c,0x76,1,0x69,0x24,
-+0x72,0x33,0x13,0x72,0x61,0x6d,0x61,0x33,0x10,0x76,0x22,0x14,0x65,0x72,0x6c,0x61,
-+0x79,0x23,0xa2,0xe2,0x13,0x69,0x67,0x68,0x74,0xa3,0xe2,0x6b,0x58,0x6c,0x74,0x6e,
-+3,0x6b,0x2f,0x6f,0x30,0x72,0x21,0x75,0x12,0x6b,0x74,0x61,0x2f,0x19,0x74,0x72,
-+0x65,0x6f,0x72,0x64,0x65,0x72,0x65,0x64,0x21,1,0x61,0x24,0x76,0x31,0x18,0x6e,
-+0x61,0x76,0x6f,0x69,0x63,0x69,0x6e,0x67,0x31,0xa2,0xe0,0x12,0x65,0x66,0x74,0xa3,
-+0xe0,0x61,0x5c,0x62,0xa2,0x77,0x63,0xa2,0x96,0x64,0xa4,0xa,0x69,1,0x6f,0x26,
-+0x73,0xa3,0xf0,0x1a,0x74,0x61,0x73,0x75,0x62,0x73,0x63,0x72,0x69,0x70,0x74,0xa3,
-+0xf0,0xa2,0xe6,3,0x62,0xa0,0x6c,0xa3,0xe4,0x72,0xa3,0xe8,0x74,2,0x61,0x74,
-+0x62,0x7c,0x74,0x14,0x61,0x63,0x68,0x65,0x64,1,0x61,0x3e,0x62,0x13,0x65,0x6c,
-+0x6f,0x77,0xa2,0xca,0x13,0x6c,0x65,0x66,0x74,0xa3,0xc8,0x13,0x62,0x6f,0x76,0x65,
-+0xa2,0xd6,0x14,0x72,0x69,0x67,0x68,0x74,0xa3,0xd8,0xa2,0xd6,0x10,0x72,0xa3,0xd8,
-+0xa2,0xca,0x10,0x6c,0xa3,0xc8,0x12,0x6f,0x76,0x65,0xa2,0xe6,1,0x6c,0x30,0x72,
-+0x13,0x69,0x67,0x68,0x74,0xa3,0xe8,0x12,0x65,0x66,0x74,0xa3,0xe4,0xa2,0xdc,2,
-+0x65,0x2c,0x6c,0xa3,0xda,0x72,0xa3,0xde,0x12,0x6c,0x6f,0x77,0xa2,0xdc,1,0x6c,
-+0x30,0x72,0x13,0x69,0x67,0x68,0x74,0xa3,0xde,0x12,0x65,0x66,0x74,0xa3,0xda,0x11,
-+0x63,0x63,4,0x31,0x3c,0x32,0xa2,0x42,0x33,0xa2,0x56,0x38,0xa2,0x64,0x39,0x10,
-+0x31,0xa3,0x5b,9,0x35,0xa,0x35,0x3f,0x36,0x41,0x37,0x43,0x38,0x45,0x39,0x47,
-+0x30,0x30,0x31,0x3c,0x32,0x42,0x33,0x4e,0x34,0x3d,0x34,1,0x33,0xa3,0x67,0x37,
-+0xa3,0x6b,0x36,0x10,0x38,0xa3,0x76,0x38,1,0x32,0xa3,0x7a,0x39,0xa3,0x81,0x3a,
-+2,0x30,0xa3,0x82,0x32,0xa3,0x84,0x33,0xa3,0x85,9,0x35,0xa,0x35,0x53,0x36,
-+0x55,0x37,0x57,0x38,0x59,0x39,0x5b,0x30,0x49,0x31,0x4b,0x32,0x4d,0x33,0x4f,0x34,
-+0x51,6,0x33,8,0x33,0x63,0x34,0x65,0x35,0x67,0x36,0x69,0x30,0x5d,0x31,0x5f,
-+0x32,0x61,0x10,0x34,0xa3,0x54,2,0x61,0xa3,0xea,0x62,0xa3,0xe9,0x6f,0x13,0x75,
-+0x62,0x6c,0x65,1,0x61,0x30,0x62,0x13,0x65,0x6c,0x6f,0x77,0xa3,0xe9,0x13,0x62,
-+0x6f,0x76,0x65,0xa3,0xea,0xb,0x6e,0xc0,0xca,0x72,0x5f,0x72,0x46,0x73,0xa2,0x48,
-+0x77,1,0x68,0x24,0x73,0x33,0x17,0x69,0x74,0x65,0x73,0x70,0x61,0x63,0x65,0x33,
-+0x22,1,0x69,0x30,0x6c,2,0x65,0x3d,0x69,0x4b,0x6f,0x3f,0x18,0x67,0x68,0x74,
-+0x74,0x6f,0x6c,0x65,0x66,0x74,0x22,2,0x65,0x38,0x69,0x48,0x6f,0x16,0x76,0x65,
-+0x72,0x72,0x69,0x64,0x65,0x3f,0x17,0x6d,0x62,0x65,0x64,0x64,0x69,0x6e,0x67,0x3d,
-+0x15,0x73,0x6f,0x6c,0x61,0x74,0x65,0x4b,0x30,0x1e,0x65,0x67,0x6d,0x65,0x6e,0x74,
-+0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x31,0x6e,0xa2,0x41,0x6f,0xa2,0x53,
-+0x70,2,0x61,0x66,0x64,0x86,0x6f,0x1b,0x70,0x64,0x69,0x72,0x65,0x63,0x74,0x69,
-+0x6f,0x6e,0x61,0x6c,1,0x66,0x32,0x69,0x15,0x73,0x6f,0x6c,0x61,0x74,0x65,0x4d,
-+0x14,0x6f,0x72,0x6d,0x61,0x74,0x41,0x1f,0x72,0x61,0x67,0x72,0x61,0x70,0x68,0x73,
-+0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x2f,1,0x66,0x41,0x69,0x4d,1,0x6f,
-+0x28,0x73,0x10,0x6d,0x43,0x1b,0x6e,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,0x6d,0x61,
-+0x72,0x6b,0x43,1,0x6e,0x35,0x74,0x19,0x68,0x65,0x72,0x6e,0x65,0x75,0x74,0x72,
-+0x61,0x6c,0x35,0x65,0x88,0x65,0x98,0x66,0xa2,0x6a,0x6c,0x20,1,0x65,0x30,0x72,
-+2,0x65,0x37,0x69,0x49,0x6f,0x39,0x18,0x66,0x74,0x74,0x6f,0x72,0x69,0x67,0x68,
-+0x74,0x20,2,0x65,0x38,0x69,0x48,0x6f,0x16,0x76,0x65,0x72,0x72,0x69,0x64,0x65,
-+0x39,0x17,0x6d,0x62,0x65,0x64,0x64,0x69,0x6e,0x67,0x37,0x15,0x73,0x6f,0x6c,0x61,
-+0x74,0x65,0x49,3,0x6e,0x25,0x73,0x27,0x74,0x29,0x75,0x15,0x72,0x6f,0x70,0x65,
-+0x61,0x6e,2,0x6e,0x3c,0x73,0x46,0x74,0x18,0x65,0x72,0x6d,0x69,0x6e,0x61,0x74,
-+0x6f,0x72,0x29,0x14,0x75,0x6d,0x62,0x65,0x72,0x25,0x17,0x65,0x70,0x61,0x72,0x61,
-+0x74,0x6f,0x72,0x27,1,0x69,0x28,0x73,0x10,0x69,0x47,0x1f,0x72,0x73,0x74,0x73,
-+0x74,0x72,0x6f,0x6e,0x67,0x69,0x73,0x6f,0x6c,0x61,0x74,0x65,0x47,0x61,0x4e,0x62,
-+0x84,0x63,1,0x6f,0x24,0x73,0x2d,0x1c,0x6d,0x6d,0x6f,0x6e,0x73,0x65,0x70,0x61,
-+0x72,0x61,0x74,0x6f,0x72,0x2d,2,0x6c,0x3b,0x6e,0x2b,0x72,0x13,0x61,0x62,0x69,
-+0x63,1,0x6c,0x30,0x6e,0x14,0x75,0x6d,0x62,0x65,0x72,0x2b,0x14,0x65,0x74,0x74,
-+0x65,0x72,0x3b,0x2e,1,0x6e,0x45,0x6f,0x1c,0x75,0x6e,0x64,0x61,0x72,0x79,0x6e,
-+0x65,0x75,0x74,0x72,0x61,0x6c,0x45,0,0x15,0x6d,0xc7,0x44,0x73,0xc3,0x75,0x76,
-+0x9c,0x76,0x92,0x77,0xa2,0x8b,0x79,0x10,0x69,2,0x6a,0x3c,0x72,0x68,0x73,0x17,
-+0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,0x73,0xa3,0x48,0x12,0x69,0x6e,0x67,0xa2,0x74,
-+0x1e,0x68,0x65,0x78,0x61,0x67,0x72,0x61,0x6d,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,
-+0xa3,0x74,0x16,0x61,0x64,0x69,0x63,0x61,0x6c,0x73,0xa3,0x49,2,0x61,0x36,0x65,
-+0x7a,0x73,0xa2,0x6c,0x12,0x73,0x75,0x70,0xa3,0x7d,1,0x69,0xa3,0x9f,0x72,0x1e,
-+0x69,0x61,0x74,0x69,0x6f,0x6e,0x73,0x65,0x6c,0x65,0x63,0x74,0x6f,0x72,0x73,0xa2,
-+0x6c,0x19,0x73,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x7d,1,0x64,
-+0x3c,0x72,0x19,0x74,0x69,0x63,0x61,0x6c,0x66,0x6f,0x72,0x6d,0x73,0xa3,0x91,0x14,
-+0x69,0x63,0x65,0x78,0x74,0xa2,0xaf,0x16,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,0xa3,
-+0xaf,0x18,0x61,0x72,0x61,0x6e,0x67,0x63,0x69,0x74,0x69,0xa3,0xfc,0x73,0xa2,0x4b,
-+0x74,0xa6,0x2b,0x75,2,0x63,0x82,0x67,0x92,0x6e,0x1f,0x69,0x66,0x69,0x65,0x64,
-+0x63,0x61,0x6e,0x61,0x64,0x69,0x61,0x6e,0x61,0x62,0x6f,0x1f,0x72,0x69,0x67,0x69,
-+0x6e,0x61,0x6c,0x73,0x79,0x6c,0x6c,0x61,0x62,0x69,0x63,0x73,0x62,0x17,0x65,0x78,
-+0x74,0x65,0x6e,0x64,0x65,0x64,0xa3,0xad,0x11,0x61,0x73,0x62,0x12,0x65,0x78,0x74,
-+0xa3,0xad,0x15,0x61,0x72,0x69,0x74,0x69,0x63,0xa3,0x78,7,0x6f,0xc1,0x5b,0x6f,
-+0x54,0x70,0x68,0x75,0xa2,0x43,0x79,1,0x6c,0x2c,0x72,0x12,0x69,0x61,0x63,0x3b,
-+0x17,0x6f,0x74,0x69,0x6e,0x61,0x67,0x72,0x69,0xa3,0x8f,0x18,0x72,0x61,0x73,0x6f,
-+0x6d,0x70,0x65,0x6e,0x67,0xa3,0xda,1,0x61,0x32,0x65,0x14,0x63,0x69,0x61,0x6c,
-+0x73,0xa3,0x56,0x12,0x63,0x69,0x6e,0x1f,0x67,0x6d,0x6f,0x64,0x69,0x66,0x69,0x65,
-+0x72,0x6c,0x65,0x74,0x74,0x65,0x72,0x73,0x2d,2,0x6e,0x48,0x70,0x76,0x74,0x1d,
-+0x74,0x6f,0x6e,0x73,0x69,0x67,0x6e,0x77,0x72,0x69,0x74,0x69,0x6e,0x67,0xa5,6,
-+0x15,0x64,0x61,0x6e,0x65,0x73,0x65,0xa2,0x9b,0x12,0x73,0x75,0x70,0xa2,0xdb,0x16,
-+0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xdb,4,0x61,0xa2,0xa8,0x65,0x5c,0x6d,
-+0x9e,0x70,0xa2,0x4b,0x73,0x13,0x79,0x6d,0x62,0x6f,0x1f,0x6c,0x73,0x61,0x6e,0x64,
-+0x70,0x69,0x63,0x74,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa5,5,0x10,0x72,1,
-+0x61,0x4e,0x73,0x12,0x63,0x72,0x69,0x1f,0x70,0x74,0x73,0x61,0x6e,0x64,0x73,0x75,
-+0x62,0x73,0x63,0x72,0x69,0x70,0x74,0x73,0x73,0x14,0x6e,0x64,0x73,0x75,0x62,0x73,
-+0x1b,0x61,0x74,0x68,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x73,0xa3,0x6a,1,
-+0x6c,0x40,0x75,1,0x61,0x6e,0x6e,0x17,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,
-+0xa3,0x8e,0x15,0x65,0x6d,0x65,0x6e,0x74,0x61,1,0x6c,0x50,0x72,0x1e,0x79,0x70,
-+0x72,0x69,0x76,0x61,0x74,0x65,0x75,0x73,0x65,0x61,0x72,0x65,0x61,1,0x61,0xa3,
-+0x6d,0x62,0xa3,0x6e,3,0x61,0x5c,0x6d,0x78,0x70,0xa2,0x41,0x73,0x13,0x79,0x6d,
- 0x62,0x6f,0x1f,0x6c,0x73,0x61,0x6e,0x64,0x70,0x69,0x63,0x74,0x6f,0x67,0x72,0x61,
--0x70,0x68,0x73,0xa5,5,0x10,0x72,1,0x61,0x4e,0x73,0x12,0x63,0x72,0x69,0x1f,
--0x70,0x74,0x73,0x61,0x6e,0x64,0x73,0x75,0x62,0x73,0x63,0x72,0x69,0x70,0x74,0x73,
--0x73,0x14,0x6e,0x64,0x73,0x75,0x62,0x73,0x1b,0x61,0x74,0x68,0x6f,0x70,0x65,0x72,
--0x61,0x74,0x6f,0x72,0x73,0xa3,0x6a,1,0x6c,0x40,0x75,1,0x61,0x6e,0x6e,0x17,
--0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xa3,0x8e,0x15,0x65,0x6d,0x65,0x6e,0x74,
--0x61,1,0x6c,0x50,0x72,0x1e,0x79,0x70,0x72,0x69,0x76,0x61,0x74,0x65,0x75,0x73,
--0x65,0x61,0x72,0x65,0x61,1,0x61,0xa3,0x6d,0x62,0xa3,0x6e,3,0x61,0x5c,0x6d,
--0x78,0x70,0xa2,0x41,0x73,0x13,0x79,0x6d,0x62,0x6f,0x1f,0x6c,0x73,0x61,0x6e,0x64,
--0x70,0x69,0x63,0x74,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa5,5,0x14,0x72,0x72,
--0x6f,0x77,0x73,2,0x61,0xa3,0x67,0x62,0xa3,0x68,0x63,0xa3,0xfa,0x13,0x61,0x74,
--0x68,0x65,0x1f,0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,0x6f,0x70,0x65,0x72,0x61,0x74,
--0x6f,0x72,0x73,0xa3,0x6a,0x19,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,
--0xa3,0x8e,0x61,0x5a,0x68,0x84,0x69,0xa2,0x5b,0x6d,0x16,0x61,0x6c,0x6c,0x66,0x6f,
--0x72,0x6d,1,0x73,0xa3,0x54,0x76,0x16,0x61,0x72,0x69,0x61,0x6e,0x74,0x73,0xa3,
--0x54,1,0x6d,0x36,0x75,0x16,0x72,0x61,0x73,0x68,0x74,0x72,0x61,0xa3,0xa1,0x15,
--0x61,0x72,0x69,0x74,0x61,0x6e,0xa3,0xac,1,0x61,0x52,0x6f,0x13,0x72,0x74,0x68,
--0x61,0x1f,0x6e,0x64,0x66,0x6f,0x72,0x6d,0x61,0x74,0x63,0x6f,0x6e,0x74,0x72,0x6f,
--0x6c,0x73,0xa3,0xf7,1,0x72,0x2e,0x76,0x12,0x69,0x61,0x6e,0xa3,0x79,0x12,0x61,
--0x64,0x61,0xa3,0xd9,1,0x64,0x50,0x6e,0x13,0x68,0x61,0x6c,0x61,0x50,0x1d,0x61,
--0x72,0x63,0x68,0x61,0x69,0x63,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0xa3,0xf9,0x13,
--0x64,0x68,0x61,0x6d,0xa3,0xf8,4,0x61,0x68,0x65,0xa2,0x74,0x68,0xa2,0x77,0x69,
--0xa2,0x7f,0x72,0x1c,0x61,0x6e,0x73,0x70,0x6f,0x72,0x74,0x61,0x6e,0x64,0x6d,0x61,
--0x70,0xa2,0xcf,0x16,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xcf,3,0x67,0x34,
--0x69,0x5a,0x6b,0xa2,0x46,0x6d,0x11,0x69,0x6c,0x49,2,0x61,0x2a,0x62,0x32,0x73,
--0xa3,0x60,0x12,0x6c,0x6f,0x67,0xa3,0x62,0x13,0x61,0x6e,0x77,0x61,0xa3,0x65,3,
--0x6c,0x52,0x74,0x56,0x76,0x5e,0x78,0x16,0x75,0x61,0x6e,0x6a,0x69,0x6e,0x67,0xa2,
--0x7c,0x16,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x7c,0x10,0x65,0xa3,0x70,0x12,
--0x68,0x61,0x6d,0xa3,0xae,0x12,0x69,0x65,0x74,0xa3,0xb7,0x11,0x72,0x69,0xa3,0xdc,
--0x13,0x6c,0x75,0x67,0x75,0x4b,0x10,0x61,1,0x61,0x24,0x69,0x53,0x11,0x6e,0x61,
--0x3d,2,0x62,0x34,0x66,0x3c,0x72,0x13,0x68,0x75,0x74,0x61,0xa3,0xfb,0x13,0x65,
--0x74,0x61,0x6e,0x57,0x14,0x69,0x6e,0x61,0x67,0x68,0xa3,0x90,0x6d,0x84,0x6e,0xa6,
--0x1a,0x6f,0xa6,0x4e,0x70,0xa8,2,0x72,1,0x65,0x5c,0x75,1,0x6d,0x2a,0x6e,
--0x11,0x69,0x63,0x67,0x10,0x69,0xa2,0xc0,0x1d,0x6e,0x75,0x6d,0x65,0x72,0x61,0x6c,
--0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xc0,0x13,0x6a,0x61,0x6e,0x67,0xa3,0xa3,
--6,0x6f,0x76,0x6f,0x6c,0x72,0xa2,0x51,0x75,0xa2,0x52,0x79,0x14,0x61,0x6e,0x6d,
--0x61,0x72,0x58,0x12,0x65,0x78,0x74,2,0x61,0xa3,0xb6,0x62,0xa3,0xee,0x65,0x13,
--0x6e,0x64,0x65,0x64,1,0x61,0xa3,0xb6,0x62,0xa3,0xee,1,0x64,0x32,0x6e,0x15,
--0x67,0x6f,0x6c,0x69,0x61,0x6e,0x6b,0x10,0x69,0xa2,0xec,0x13,0x66,0x69,0x65,0x72,
--1,0x6c,0x3c,0x74,0x19,0x6f,0x6e,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x73,0xa3,
--0x8a,0x15,0x65,0x74,0x74,0x65,0x72,0x73,0x2d,0x10,0x6f,0xa3,0xed,1,0x6c,0x44,
--0x73,0x11,0x69,0x63,0xa2,0x5c,0x18,0x61,0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,
--0xa3,0x5c,0x13,0x74,0x61,0x6e,0x69,0xa5,3,0x61,0xa2,0x9b,0x65,0xa4,0x1f,0x69,
--1,0x61,0xa2,0x8f,0x73,0x10,0x63,5,0x70,0x18,0x70,0xa2,0x71,0x73,0x36,0x74,
--0x17,0x65,0x63,0x68,0x6e,0x69,0x63,0x61,0x6c,0x81,0x15,0x79,0x6d,0x62,0x6f,0x6c,
--0x73,0x8f,0x61,0xa2,0x66,0x65,0x46,0x6d,0x19,0x61,0x74,0x68,0x73,0x79,0x6d,0x62,
--0x6f,0x6c,0x73,1,0x61,0xa3,0x66,0x62,0xa3,0x69,0x17,0x6c,0x6c,0x61,0x6e,0x65,
--0x6f,0x75,0x73,2,0x6d,0x3a,0x73,0x6c,0x74,0x17,0x65,0x63,0x68,0x6e,0x69,0x63,
--0x61,0x6c,0x81,0x11,0x61,0x74,0x1f,0x68,0x65,0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,
--0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,1,0x61,0xa3,0x66,0x62,0xa3,0x69,0x15,0x79,
--0x6d,0x62,0x6f,0x6c,0x73,0x8e,0x12,0x61,0x6e,0x64,1,0x61,0x3c,0x70,0x19,0x69,
--0x63,0x74,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa3,0xcd,0x14,0x72,0x72,0x6f,0x77,
--0x73,0xa3,0x73,0x10,0x6f,0xa3,0xd8,3,0x68,0xa2,0x4f,0x6c,0xa2,0x65,0x6e,0xa2,
--0x6a,0x74,0x10,0x68,2,0x61,0x3a,0x65,0x4a,0x6f,0x17,0x70,0x65,0x72,0x61,0x74,
--0x6f,0x72,0x73,0x7f,0x16,0x6c,0x70,0x68,0x61,0x6e,0x75,0x6d,0xa3,0x5d,0x16,0x6d,
--0x61,0x74,0x69,0x63,0x61,0x6c,1,0x61,0x36,0x6f,0x17,0x70,0x65,0x72,0x61,0x74,
--0x6f,0x72,0x73,0x7f,0x11,0x6c,0x70,0x1f,0x68,0x61,0x6e,0x75,0x6d,0x65,0x72,0x69,
--0x63,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x5d,1,0x61,0x3e,0x6a,0x12,0x6f,
--0x6e,0x67,0xa2,0xaa,0x14,0x74,0x69,0x6c,0x65,0x73,0xa3,0xaa,0x13,0x6a,0x61,0x6e,
--0x69,0xa3,0xe9,0x15,0x61,0x79,0x61,0x6c,0x61,0x6d,0x4f,1,0x64,0x34,0x69,0x15,
--0x63,0x68,0x61,0x65,0x61,0x6e,0xa3,0xea,0x12,0x61,0x69,0x63,0xa3,0xc6,2,0x65,
--0x66,0x6e,0x98,0x72,0x14,0x6f,0x69,0x74,0x69,0x63,1,0x63,0x3c,0x68,0x19,0x69,
--0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0xd7,0x15,0x75,0x72,0x73,0x69,
--0x76,0x65,0xa3,0xd6,0x17,0x74,0x65,0x69,0x6d,0x61,0x79,0x65,0x6b,0xa2,0xb8,0x12,
--0x65,0x78,0x74,0xa2,0xd5,0x16,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,0xa3,0xd5,0x18,
--0x64,0x65,0x6b,0x69,0x6b,0x61,0x6b,0x75,0x69,0xa3,0xeb,5,0x6b,0x1b,0x6b,0x3c,
--0x6f,0x40,0x75,0x18,0x6d,0x62,0x65,0x72,0x66,0x6f,0x72,0x6d,0x73,0x7b,0x10,0x6f,
--0xa3,0x92,0x14,0x62,0x6c,0x6f,0x63,0x6b,0x21,0x61,0x3a,0x62,0x21,0x65,0x16,0x77,
--0x74,0x61,0x69,0x6c,0x75,0x65,0xa3,0x8b,0x16,0x62,0x61,0x74,0x61,0x65,0x61,0x6e,
--0xa3,0xef,5,0x70,0x43,0x70,0x36,0x72,0x6a,0x73,0x14,0x6d,0x61,0x6e,0x79,0x61,
--0xa3,0x7a,0x18,0x74,0x69,0x63,0x61,0x6c,0x63,0x68,0x61,0x72,0x1f,0x61,0x63,0x74,
--0x65,0x72,0x72,0x65,0x63,0x6f,0x67,0x6e,0x69,0x74,0x69,0x6f,0x6e,0x85,1,0x69,
--0x46,0x6e,0x1e,0x61,0x6d,0x65,0x6e,0x74,0x61,0x6c,0x64,0x69,0x6e,0x67,0x62,0x61,
--0x74,0x73,0xa3,0xf2,0x11,0x79,0x61,0x47,0x63,0xa2,0x66,0x67,0xa2,0x66,0x6c,1,
--0x63,0xa2,0x57,0x64,5,0x70,0x2d,0x70,0x36,0x73,0x56,0x74,0x14,0x75,0x72,0x6b,
--0x69,0x63,0xa3,0xbf,0x11,0x65,0x72,1,0x6d,0x2e,0x73,0x12,0x69,0x61,0x6e,0xa3,
--0x8c,0x11,0x69,0x63,0xa3,0xf1,0x1a,0x6f,0x75,0x74,0x68,0x61,0x72,0x61,0x62,0x69,
--0x61,0x6e,0xa3,0xbb,0x68,0x42,0x69,0x54,0x6e,0x1a,0x6f,0x72,0x74,0x68,0x61,0x72,
--0x61,0x62,0x69,0x61,0x6e,0xa3,0xf0,0x17,0x75,0x6e,0x67,0x61,0x72,0x69,0x61,0x6e,
--0xa5,4,0x14,0x74,0x61,0x6c,0x69,0x63,0xa3,0x58,0x13,0x68,0x69,0x6b,0x69,0xa3,
--0x9d,0x10,0x72,0x85,0x12,0x68,0x61,0x6d,0x65,5,0x72,0x35,0x72,0x44,0x73,0x64,
--0x75,1,0x61,0xa3,0x4e,0x6e,0x17,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x71,
--0x17,0x69,0x76,0x61,0x74,0x65,0x75,0x73,0x65,0xa2,0x4e,0x13,0x61,0x72,0x65,0x61,
--0xa3,0x4e,0x1b,0x61,0x6c,0x74,0x65,0x72,0x70,0x61,0x68,0x6c,0x61,0x76,0x69,0xa3,
--0xf6,0x61,0x40,0x68,0x82,0x6c,0x19,0x61,0x79,0x69,0x6e,0x67,0x63,0x61,0x72,0x64,
--0x73,0xa3,0xcc,2,0x68,0x38,0x6c,0x4a,0x75,0x15,0x63,0x69,0x6e,0x68,0x61,0x75,
--0xa3,0xf5,0x17,0x61,0x77,0x68,0x68,0x6d,0x6f,0x6e,0x67,0xa3,0xf3,0x15,0x6d,0x79,
--0x72,0x65,0x6e,0x65,0xa3,0xf4,1,0x61,0x8e,0x6f,1,0x65,0x74,0x6e,0x16,0x65,
--0x74,0x69,0x63,0x65,0x78,0x74,0xa2,0x72,1,0x65,0x2c,0x73,0x11,0x75,0x70,0xa3,
--0x8d,0x15,0x6e,0x73,0x69,0x6f,0x6e,0x73,0xa2,0x72,0x19,0x73,0x75,0x70,0x70,0x6c,
--0x65,0x6d,0x65,0x6e,0x74,0xa3,0x8d,0x15,0x6e,0x69,0x63,0x69,0x61,0x6e,0xa3,0x97,
--1,0x67,0x3e,0x69,0x13,0x73,0x74,0x6f,0x73,0xa2,0xa6,0x13,0x64,0x69,0x73,0x63,
--0xa3,0xa6,0x12,0x73,0x70,0x61,0xa3,0x96,0x67,0xc3,0x8a,0x6a,0xc1,0x81,0x6a,0xa2,
--0xc5,0x6b,0xa2,0xde,0x6c,4,0x61,0x54,0x65,0xa2,0x61,0x69,0xa2,0x78,0x6f,0xa2,
--0xa7,0x79,1,0x63,0x2e,0x64,0x12,0x69,0x61,0x6e,0xa3,0xa9,0x12,0x69,0x61,0x6e,
--0xa3,0xa7,1,0x6f,0x55,0x74,0x11,0x69,0x6e,1,0x31,0x82,0x65,0x11,0x78,0x74,
--4,0x61,0x5c,0x62,0x29,0x63,0xa3,0x94,0x64,0xa3,0x95,0x65,0xa2,0xe7,0x13,0x6e,
--0x64,0x65,0x64,4,0x61,0x36,0x62,0x29,0x63,0xa3,0x94,0x64,0xa3,0x95,0x65,0xa3,
--0xe7,0x26,0x18,0x64,0x64,0x69,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x6d,0x24,0x12,0x73,
--0x75,0x70,0x24,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x25,1,0x70,0x42,0x74,
--0x1d,0x74,0x65,0x72,0x6c,0x69,0x6b,0x65,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x79,
--0x12,0x63,0x68,0x61,0xa3,0x9c,2,0x6d,0x2e,0x6e,0x34,0x73,0x10,0x75,0xa3,0xb0,
--0x11,0x62,0x75,0xa3,0x6f,0x12,0x65,0x61,0x72,1,0x61,0xa3,0xe8,0x62,1,0x69,
--0x38,0x73,0x17,0x79,0x6c,0x6c,0x61,0x62,0x61,0x72,0x79,0xa3,0x75,0x17,0x64,0x65,
--0x6f,0x67,0x72,0x61,0x6d,0x73,0xa3,0x76,0x1a,0x77,0x73,0x75,0x72,0x72,0x6f,0x67,
--0x61,0x74,0x65,0x73,0xa3,0x4d,0x10,0x61,1,0x6d,0x32,0x76,0x14,0x61,0x6e,0x65,
--0x73,0x65,0xa3,0xb5,0x10,0x6f,0x5c,0x12,0x65,0x78,0x74,1,0x61,0xa3,0xb4,0x62,
--0xa3,0xb9,1,0x61,0x80,0x68,3,0x61,0x3c,0x6d,0x4c,0x6f,0x64,0x75,0x15,0x64,
--0x61,0x77,0x61,0x64,0x69,0xa3,0xe6,0x16,0x72,0x6f,0x73,0x68,0x74,0x68,0x69,0xa3,
--0x89,0x11,0x65,0x72,0x68,0x16,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x71,0x12,
--0x6a,0x6b,0x69,0xa3,0xe5,3,0x69,0x38,0x6e,0x40,0x74,0x9c,0x79,0x13,0x61,0x68,
--0x6c,0x69,0xa3,0xa2,0x12,0x74,0x68,0x69,0xa3,0xc1,3,0x61,0x34,0x62,0x50,0x67,
--0x56,0x6e,0x12,0x61,0x64,0x61,0x4d,0x12,0x73,0x75,0x70,0xa2,0xcb,0x16,0x70,0x6c,
--0x65,0x6d,0x65,0x6e,0x74,0xa3,0xcb,0x11,0x75,0x6e,0xa3,0x42,0x11,0x78,0x69,0x96,
--0x17,0x72,0x61,0x64,0x69,0x63,0x61,0x6c,0x73,0x97,0x14,0x61,0x6b,0x61,0x6e,0x61,
--0x9e,1,0x65,0x4c,0x70,0x10,0x68,0x1f,0x6f,0x6e,0x65,0x74,0x69,0x63,0x65,0x78,
--0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,0xa3,0x6b,0x11,0x78,0x74,0xa3,0x6b,0x67,
--0xa2,0x84,0x68,0xa4,0x24,0x69,3,0x64,0x4a,0x6d,0x8e,0x6e,0xa2,0x44,0x70,0x13,
--0x61,0x65,0x78,0x74,0x2a,0x16,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,0x2b,1,0x63,
--0x99,0x65,0x1c,0x6f,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x64,0x65,0x73,0x63,0x72,
--0x1f,0x69,0x70,0x74,0x69,0x6f,0x6e,0x63,0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,
--0x73,0x99,0x1c,0x70,0x65,0x72,0x69,0x61,0x6c,0x61,0x72,0x61,0x6d,0x61,0x69,0x63,
--0xa3,0xba,1,0x64,0x62,0x73,0x1b,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x61,
--0x6c,0x70,0x61,1,0x68,0x32,0x72,0x14,0x74,0x68,0x69,0x61,0x6e,0xa3,0xbd,0x13,
--0x6c,0x61,0x76,0x69,0xa3,0xbe,0x1c,0x69,0x63,0x6e,0x75,0x6d,0x62,0x65,0x72,0x66,
--0x6f,0x72,0x6d,0x73,0xa3,0xb2,4,0x65,0x58,0x6c,0xa2,0x63,0x6f,0xa2,0x6b,0x72,
--0xa2,0x6f,0x75,1,0x6a,0x30,0x72,0x14,0x6d,0x75,0x6b,0x68,0x69,0x43,0x14,0x61,
--0x72,0x61,0x74,0x69,0x45,1,0x6e,0x8c,0x6f,1,0x6d,0x4e,0x72,0x13,0x67,0x69,
--0x61,0x6e,0x5a,0x12,0x73,0x75,0x70,0xa2,0x87,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,
--0x74,0xa3,0x87,0x1a,0x65,0x74,0x72,0x69,0x63,0x73,0x68,0x61,0x70,0x65,0x73,0x8c,
--0x12,0x65,0x78,0x74,0xa2,0xe3,0x14,0x65,0x6e,0x64,0x65,0x64,0xa3,0xe3,0x1e,0x65,
--0x72,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x71,0x17,
--0x61,0x67,0x6f,0x6c,0x69,0x74,0x69,0x63,0xa3,0x88,0x13,0x74,0x68,0x69,0x63,0xa3,
--0x59,1,0x61,0x5c,0x65,0x11,0x65,0x6b,0x30,1,0x61,0x38,0x65,0x11,0x78,0x74,
--0x6e,0x14,0x65,0x6e,0x64,0x65,0x64,0x6f,0x17,0x6e,0x64,0x63,0x6f,0x70,0x74,0x69,
--0x63,0x31,0x13,0x6e,0x74,0x68,0x61,0xa3,0xe4,2,0x61,0xa2,0x48,0x65,0xa2,0xcf,
--0x69,1,0x67,0x30,0x72,0x14,0x61,0x67,0x61,0x6e,0x61,0x9d,0x10,0x68,1,0x70,
--0x3a,0x73,0x18,0x75,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x73,0xa3,0x4b,1,0x72,
--0x3c,0x75,0x19,0x73,0x75,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x73,0xa3,0x4c,0x11,
--0x69,0x76,0x1f,0x61,0x74,0x65,0x75,0x73,0x65,0x73,0x75,0x72,0x72,0x6f,0x67,0x61,
--0x74,0x65,0x73,0xa3,0x4c,2,0x6c,0x32,0x6e,0x9a,0x74,0x12,0x72,0x61,0x6e,0xa5,
--2,0x10,0x66,2,0x61,0x58,0x6d,0x70,0x77,0x14,0x69,0x64,0x74,0x68,0x61,0x1f,
--0x6e,0x64,0x66,0x75,0x6c,0x6c,0x77,0x69,0x64,0x74,0x68,0x66,0x6f,0x72,0x6d,0x73,
--0xa3,0x57,0x1a,0x6e,0x64,0x66,0x75,0x6c,0x6c,0x66,0x6f,0x72,0x6d,0x73,0xa3,0x57,
--0x13,0x61,0x72,0x6b,0x73,0xa3,0x52,1,0x67,0x2e,0x75,0x12,0x6e,0x6f,0x6f,0xa3,
--0x63,0x11,0x75,0x6c,0xa2,0x4a,2,0x63,0x3c,0x6a,0x5e,0x73,0x17,0x79,0x6c,0x6c,
--0x61,0x62,0x6c,0x65,0x73,0xa3,0x4a,0x1f,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x69,
--0x6c,0x69,0x74,0x79,0x6a,0x61,0x6d,0x6f,0xa3,0x41,0x12,0x61,0x6d,0x6f,0x5c,0x17,
--0x65,0x78,0x74,0x65,0x6e,0x64,0x65,0x64,1,0x61,0xa3,0xb4,0x62,0xa3,0xb9,0x13,
--0x62,0x72,0x65,0x77,0x37,0x61,0xa2,0xe9,0x62,0xa6,0x20,0x63,0xa6,0xe8,0x64,0xac,
--0x5f,0x65,5,0x6d,0xa2,0x6d,0x86,0x6e,0x96,0x74,0x15,0x68,0x69,0x6f,0x70,0x69,
--0x63,0x5e,1,0x65,0x40,0x73,0x11,0x75,0x70,0xa2,0x86,0x16,0x70,0x6c,0x65,0x6d,
--0x65,0x6e,0x74,0xa3,0x86,0x11,0x78,0x74,0xa2,0x85,1,0x61,0xa3,0xc8,0x65,0x13,
--0x6e,0x64,0x65,0x64,0xa2,0x85,0x10,0x61,0xa3,0xc8,0x16,0x6f,0x74,0x69,0x63,0x6f,
--0x6e,0x73,0xa3,0xce,0x15,0x63,0x6c,0x6f,0x73,0x65,0x64,2,0x61,0x5a,0x63,0x9e,
--0x69,0x1c,0x64,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x73,0x75,0x70,0xa2,
--0xc4,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xc4,0x16,0x6c,0x70,0x68,0x61,
--0x6e,0x75,0x6d,0x86,1,0x65,0x2c,0x73,0x11,0x75,0x70,0xa3,0xc3,0x13,0x72,0x69,
--0x63,0x73,0x86,0x18,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xc3,0x11,
--0x6a,0x6b,0xa2,0x44,0x1f,0x6c,0x65,0x74,0x74,0x65,0x72,0x73,0x61,0x6e,0x64,0x6d,
--0x6f,0x6e,0x74,0x68,0x73,0xa3,0x44,0x61,0x36,0x67,0x62,0x6c,0x14,0x62,0x61,0x73,
--0x61,0x6e,0xa3,0xe2,0x13,0x72,0x6c,0x79,0x64,0x1f,0x79,0x6e,0x61,0x73,0x74,0x69,
--0x63,0x63,0x75,0x6e,0x65,0x69,0x66,0x6f,0x72,0x6d,0xa5,1,0x10,0x79,0x1f,0x70,
--0x74,0x69,0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,
--0xc2,6,0x6e,0xc0,0xe5,0x6e,0x3e,0x72,0xa2,0x5d,0x73,0xa2,0xd8,0x76,0x14,0x65,
--0x73,0x74,0x61,0x6e,0xa3,0xbc,1,0x61,0x92,0x63,0x13,0x69,0x65,0x6e,0x74,1,
--0x67,0x34,0x73,0x15,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xa5,0x13,0x72,0x65,0x65,
--0x6b,1,0x6d,0x34,0x6e,0x15,0x75,0x6d,0x62,0x65,0x72,0x73,0xa3,0x7f,0x13,0x75,
--0x73,0x69,0x63,0xa2,0x7e,0x19,0x61,0x6c,0x6e,0x6f,0x74,0x61,0x74,0x69,0x6f,0x6e,
--0xa3,0x7e,0x10,0x74,0x1f,0x6f,0x6c,0x69,0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,
--0x6c,0x79,0x70,0x68,0x73,0xa3,0xfe,2,0x61,0x32,0x6d,0xa2,0x71,0x72,0x12,0x6f,
--0x77,0x73,0x7d,0x12,0x62,0x69,0x63,0x38,3,0x65,0x4a,0x6d,0x66,0x70,0xa2,0x43,
--0x73,0x11,0x75,0x70,0xa2,0x80,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x80,
--0x11,0x78,0x74,1,0x61,0xa3,0xd2,0x65,0x14,0x6e,0x64,0x65,0x64,0x61,0xa3,0xd2,
--0x12,0x61,0x74,0x68,0xa2,0xd3,0x18,0x65,0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,0x61,
--0x1f,0x6c,0x70,0x68,0x61,0x62,0x65,0x74,0x69,0x63,0x73,0x79,0x6d,0x62,0x6f,0x6c,
--0x73,0xa3,0xd3,1,0x66,0x42,0x72,0x1e,0x65,0x73,0x65,0x6e,0x74,0x61,0x74,0x69,
--0x6f,0x6e,0x66,0x6f,0x72,0x6d,0x73,1,0x61,0xa3,0x51,0x62,0xa3,0x55,0x14,0x65,
--0x6e,0x69,0x61,0x6e,0x35,0x12,0x63,0x69,0x69,0x23,0x65,0x98,0x68,0xa2,0x47,0x6c,
--1,0x63,0x62,0x70,0x17,0x68,0x61,0x62,0x65,0x74,0x69,0x63,0x70,1,0x66,0xa3,
--0x50,0x72,0x1e,0x65,0x73,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x66,0x6f,0x72,
--0x6d,0x73,0xa3,0x50,0x16,0x68,0x65,0x6d,0x69,0x63,0x61,0x6c,0xa2,0xd0,0x16,0x73,
--0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xd0,0x1a,0x67,0x65,0x61,0x6e,0x6e,0x75,0x6d,
--0x62,0x65,0x72,0x73,0xa3,0x77,0x11,0x6f,0x6d,0xa3,0xfd,6,0x6f,0x71,0x6f,0x64,
--0x72,0xa2,0x41,0x75,0xa2,0x58,0x79,0x1b,0x7a,0x61,0x6e,0x74,0x69,0x6e,0x65,0x6d,
--0x75,0x73,0x69,0x63,0xa2,0x5b,0x18,0x61,0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,
--0xa3,0x5b,1,0x70,0x34,0x78,0x16,0x64,0x72,0x61,0x77,0x69,0x6e,0x67,0x89,0x14,
--0x6f,0x6d,0x6f,0x66,0x6f,0xa0,0x12,0x65,0x78,0x74,0xa2,0x43,0x14,0x65,0x6e,0x64,
--0x65,0x64,0xa3,0x43,0x10,0x61,1,0x68,0x40,0x69,0x12,0x6c,0x6c,0x65,0x92,0x17,
--0x70,0x61,0x74,0x74,0x65,0x72,0x6e,0x73,0x93,0x11,0x6d,0x69,0xa3,0xc9,1,0x67,
--0x2c,0x68,0x11,0x69,0x64,0xa3,0x64,0x14,0x69,0x6e,0x65,0x73,0x65,0xa3,0x81,0x61,
--0x42,0x65,0xa2,0x4b,0x6c,0x1a,0x6f,0x63,0x6b,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,
--0x73,0x8b,3,0x6c,0x34,0x6d,0x40,0x73,0x66,0x74,0x11,0x61,0x6b,0xa3,0xc7,0x14,
--0x69,0x6e,0x65,0x73,0x65,0xa3,0x93,0x11,0x75,0x6d,0xa2,0xb1,0x12,0x73,0x75,0x70,
--0xa2,0xca,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xca,1,0x69,0x30,0x73,
--0x13,0x61,0x76,0x61,0x68,0xa3,0xdd,0x15,0x63,0x6c,0x61,0x74,0x69,0x6e,0x23,0x14,
--0x6e,0x67,0x61,0x6c,0x69,0x41,5,0x6f,0xc1,0x46,0x6f,0xa2,0x4f,0x75,0xa4,0xa,
--0x79,1,0x70,0x90,0x72,0x14,0x69,0x6c,0x6c,0x69,0x63,0x32,1,0x65,0x4c,0x73,
--0x11,0x75,0x70,0xa2,0x61,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa2,0x61,0x12,
--0x61,0x72,0x79,0xa3,0x61,0x11,0x78,0x74,2,0x61,0xa3,0x9e,0x62,0xa3,0xa0,0x65,
--0x13,0x6e,0x64,0x65,0x64,1,0x61,0xa3,0x9e,0x62,0xa3,0xa0,0x1c,0x72,0x69,0x6f,
--0x74,0x73,0x79,0x6c,0x6c,0x61,0x62,0x61,0x72,0x79,0xa3,0x7b,3,0x6d,0x5a,0x6e,
--0xa2,0x95,0x70,0xa2,0xa0,0x75,0x17,0x6e,0x74,0x69,0x6e,0x67,0x72,0x6f,0x64,0xa2,
--0x9a,0x17,0x6e,0x75,0x6d,0x65,0x72,0x61,0x6c,0x73,0xa3,0x9a,2,0x62,0x3a,0x6d,
--0xa2,0x5f,0x70,0x15,0x61,0x74,0x6a,0x61,0x6d,0x6f,0xa3,0x41,0x14,0x69,0x6e,0x69,
--0x6e,0x67,2,0x64,0x46,0x68,0x9e,0x6d,0x1d,0x61,0x72,0x6b,0x73,0x66,0x6f,0x72,
--0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x77,0x1e,0x69,0x61,0x63,0x72,0x69,0x74,0x69,
--0x63,0x61,0x6c,0x6d,0x61,0x72,0x6b,0x73,0x2e,2,0x65,0x40,0x66,0xa6,0x1b,0x73,
--0x18,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x83,0x16,0x78,0x74,0x65,
--0x6e,0x64,0x65,0x64,0xa3,0xe0,0x17,0x61,0x6c,0x66,0x6d,0x61,0x72,0x6b,0x73,0xa3,
--0x52,0x11,0x6f,0x6e,0x1f,0x69,0x6e,0x64,0x69,0x63,0x6e,0x75,0x6d,0x62,0x65,0x72,
--0x66,0x6f,0x72,0x6d,0x73,0xa3,0xb2,0x1b,0x74,0x72,0x6f,0x6c,0x70,0x69,0x63,0x74,
--0x75,0x72,0x65,0x73,0x83,0x12,0x74,0x69,0x63,0xa2,0x84,0x1b,0x65,0x70,0x61,0x63,
--0x74,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0xa3,0xdf,1,0x6e,0x3e,0x72,0x1b,0x72,
--0x65,0x6e,0x63,0x79,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x75,0x15,0x65,0x69,0x66,
--0x6f,0x72,0x6d,0xa2,0x98,0x16,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0xa2,0x99,0x1d,
--0x61,0x6e,0x64,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xa3,0x99,
--0x61,0xa2,0xda,0x68,0xa4,4,0x6a,0x10,0x6b,0xa2,0x47,4,0x63,0x8e,0x65,0xa2,
--0x81,0x72,0xa2,0x91,0x73,0xa2,0xa3,0x75,0x1f,0x6e,0x69,0x66,0x69,0x65,0x64,0x69,
--0x64,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa2,0x47,0x18,0x65,0x78,0x74,0x65,
--0x6e,0x73,0x69,0x6f,0x6e,4,0x61,0xa3,0x46,0x62,0xa3,0x5e,0x63,0xa3,0xc5,0x64,
--0xa3,0xd1,0x65,0xa5,0,0x14,0x6f,0x6d,0x70,0x61,0x74,0xa2,0x45,1,0x66,0x96,
--0x69,1,0x62,0x44,0x64,0x17,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa2,0x4f,
--0x12,0x73,0x75,0x70,0xa3,0x5f,0x14,0x69,0x6c,0x69,0x74,0x79,0xa2,0x45,1,0x66,
--0x54,0x69,0x18,0x64,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,0x73,0xa2,0x4f,0x19,0x73,
--0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x5f,0x13,0x6f,0x72,0x6d,0x73,
--0xa3,0x53,0x11,0x78,0x74,4,0x61,0xa3,0x46,0x62,0xa3,0x5e,0x63,0xa3,0xc5,0x64,
--0xa3,0xd1,0x65,0xa5,0,0x19,0x61,0x64,0x69,0x63,0x61,0x6c,0x73,0x73,0x75,0x70,
--0x94,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x95,1,0x74,0x50,0x79,0x14,0x6d,
--0x62,0x6f,0x6c,0x73,0x9a,0x1d,0x61,0x6e,0x64,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,
--0x74,0x69,0x6f,0x6e,0x9b,0x14,0x72,0x6f,0x6b,0x65,0x73,0xa3,0x82,2,0x6e,0x48,
--0x72,0x64,0x75,0x1d,0x63,0x61,0x73,0x69,0x61,0x6e,0x61,0x6c,0x62,0x61,0x6e,0x69,
--0x61,0x6e,0xa3,0xde,0x1d,0x61,0x64,0x69,0x61,0x6e,0x73,0x79,0x6c,0x6c,0x61,0x62,
--0x69,0x63,0x73,0x63,0x12,0x69,0x61,0x6e,0xa3,0xa8,1,0x61,0x50,0x65,0x14,0x72,
--0x6f,0x6b,0x65,0x65,0x60,0x12,0x73,0x75,0x70,0xa2,0xff,0x16,0x70,0x6c,0x65,0x6d,
--0x65,0x6e,0x74,0xa3,0xff,1,0x6b,0x26,0x6d,0xa3,0xa4,0x11,0x6d,0x61,0xa3,0xd4,
--3,0x65,0x3e,0x69,0x7e,0x6f,0xa2,0x5d,0x75,0x15,0x70,0x6c,0x6f,0x79,0x61,0x6e,
--0xa3,0xe1,1,0x73,0x50,0x76,0x16,0x61,0x6e,0x61,0x67,0x61,0x72,0x69,0x3e,0x12,
--0x65,0x78,0x74,0xa2,0xb3,0x14,0x65,0x6e,0x64,0x65,0x64,0xa3,0xb3,0x13,0x65,0x72,
--0x65,0x74,0xa3,0x5a,1,0x61,0x30,0x6e,0x14,0x67,0x62,0x61,0x74,0x73,0x91,0x18,
--0x63,0x72,0x69,0x74,0x69,0x63,0x61,0x6c,0x73,0x2e,2,0x65,0x30,0x66,0x36,0x73,
--0x11,0x75,0x70,0xa3,0x83,0x11,0x78,0x74,0xa3,0xe0,0x18,0x6f,0x72,0x73,0x79,0x6d,
--0x62,0x6f,0x6c,0x73,0x77,0x13,0x6d,0x69,0x6e,0x6f,0xa2,0xab,0x14,0x74,0x69,0x6c,
--0x65,0x73,0xa3,0xab,8,0x6d,0x5f,0x6d,0x3a,0x6e,0x48,0x73,0x7a,0x76,0xa2,0x4b,
--0x77,0x12,0x69,0x64,0x65,0x43,0x11,0x65,0x64,0x32,0x12,0x69,0x61,0x6c,0x33,2,
--0x61,0x40,0x62,0x37,0x6f,1,0x62,0x28,0x6e,0x10,0x65,0x21,0x13,0x72,0x65,0x61,
--0x6b,0x37,0x10,0x72,0x34,0x12,0x72,0x6f,0x77,0x35,2,0x6d,0x38,0x71,0x46,0x75,
--1,0x62,0x3d,0x70,0x3e,0x11,0x65,0x72,0x3f,1,0x61,0x24,0x6c,0x39,0x11,0x6c,
--0x6c,0x39,1,0x72,0x3b,0x75,0x12,0x61,0x72,0x65,0x3b,0x12,0x65,0x72,0x74,0x40,
--0x13,0x69,0x63,0x61,0x6c,0x41,0x63,0x58,0x65,0x92,0x66,0x96,0x69,1,0x6e,0x36,
--0x73,0x10,0x6f,0x30,0x14,0x6c,0x61,0x74,0x65,0x64,0x31,0x11,0x69,0x74,0x2e,0x12,
--0x69,0x61,0x6c,0x2f,2,0x61,0x36,0x69,0x48,0x6f,0x10,0x6d,0x24,0x12,0x70,0x61,
--0x74,0x25,0x10,0x6e,0x22,0x15,0x6f,0x6e,0x69,0x63,0x61,0x6c,0x23,0x13,0x72,0x63,
--0x6c,0x65,0x27,0x11,0x6e,0x63,0x27,2,0x69,0x3a,0x6f,0x44,0x72,0x10,0x61,0x2c,
--0x14,0x63,0x74,0x69,0x6f,0x6e,0x2d,0x10,0x6e,0x28,0x11,0x61,0x6c,0x29,0x11,0x6e,
--0x74,0x2b,4,0x61,0x3a,0x66,0x4c,0x68,0x5e,0x6e,0x70,0x77,0x2a,0x12,0x69,0x64,
--0x65,0x2b,0x22,0x17,0x6d,0x62,0x69,0x67,0x75,0x6f,0x75,0x73,0x23,0x26,0x17,0x75,
--0x6c,0x6c,0x77,0x69,0x64,0x74,0x68,0x27,0x24,0x17,0x61,0x6c,0x66,0x77,0x69,0x64,
--0x74,0x68,0x25,0x20,1,0x61,0x30,0x65,0x14,0x75,0x74,0x72,0x61,0x6c,0x21,0x28,
--0x13,0x72,0x72,0x6f,0x77,0x29,0xd,0x6e,0xc0,0xfb,0x73,0x6d,0x73,0x3a,0x74,0x98,
--0x75,0xa2,0x49,0x7a,2,0x6c,0x3b,0x70,0x3d,0x73,0x39,5,0x6f,0x28,0x6f,0x57,
--0x70,0x34,0x75,0x16,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x45,0x11,0x61,0x63,1,
--0x65,0x32,0x69,0x15,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x31,0x18,0x73,0x65,0x70,0x61,
--0x72,0x61,0x74,0x6f,0x72,0x39,0x63,0x53,0x6b,0x55,0x6d,0x51,0x1d,0x69,0x74,0x6c,
--0x65,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x27,1,0x6e,0x40,0x70,
--0x1c,0x70,0x65,0x72,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x23,0x17,
--0x61,0x73,0x73,0x69,0x67,0x6e,0x65,0x64,0x21,0x6e,0x8a,0x6f,0xa2,0x47,0x70,8,
--0x66,0x14,0x66,0x5b,0x69,0x59,0x6f,0x4f,0x72,0x24,0x73,0x49,0x17,0x69,0x76,0x61,
--0x74,0x65,0x75,0x73,0x65,0x43,0x61,0x2c,0x63,0x4d,0x64,0x47,0x65,0x4b,0x1f,0x72,
--0x61,0x67,0x72,0x61,0x70,0x68,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x3d,
--2,0x64,0x33,0x6c,0x35,0x6f,0x36,0x1b,0x6e,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,
--0x6d,0x61,0x72,0x6b,0x2d,1,0x70,0x7c,0x74,0x12,0x68,0x65,0x72,3,0x6c,0x38,
--0x6e,0x42,0x70,0x4c,0x73,0x14,0x79,0x6d,0x62,0x6f,0x6c,0x57,0x14,0x65,0x74,0x74,
--0x65,0x72,0x2b,0x14,0x75,0x6d,0x62,0x65,0x72,0x37,0x19,0x75,0x6e,0x63,0x74,0x75,
--0x61,0x74,0x69,0x6f,0x6e,0x4f,0x1c,0x65,0x6e,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,
--0x74,0x69,0x6f,0x6e,0x49,0x66,0x9e,0x66,0x88,0x69,0xa2,0x4b,0x6c,0xa2,0x5c,0x6d,
--4,0x61,0x60,0x63,0x31,0x65,0x2f,0x6e,0x2d,0x6f,0x15,0x64,0x69,0x66,0x69,0x65,
--0x72,1,0x6c,0x30,0x73,0x14,0x79,0x6d,0x62,0x6f,0x6c,0x55,0x14,0x65,0x74,0x74,
--0x65,0x72,0x29,0x17,0x74,0x68,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x51,1,0x69,0x2e,
--0x6f,0x13,0x72,0x6d,0x61,0x74,0x41,0x1d,0x6e,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,
--0x75,0x61,0x74,0x69,0x6f,0x6e,0x5b,0x10,0x6e,0x1f,0x69,0x74,0x69,0x61,0x6c,0x70,
--0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x59,6,0x6d,0x18,0x6d,0x29,
--0x6f,0x28,0x74,0x27,0x75,0x23,0x2a,0x1c,0x77,0x65,0x72,0x63,0x61,0x73,0x65,0x6c,
--0x65,0x74,0x74,0x65,0x72,0x25,0x65,0x28,0x69,0x3c,0x6c,0x25,0x19,0x74,0x74,0x65,
--0x72,0x6e,0x75,0x6d,0x62,0x65,0x72,0x35,0x1a,0x6e,0x65,0x73,0x65,0x70,0x61,0x72,
--0x61,0x74,0x6f,0x72,0x3b,0x63,0x44,0x64,0xa2,0x60,0x65,0x1b,0x6e,0x63,0x6c,0x6f,
--0x73,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x2f,6,0x6e,0x39,0x6e,0x46,0x6f,0x4e,
--0x73,0x45,0x75,0x1b,0x72,0x72,0x65,0x6e,0x63,0x79,0x73,0x79,0x6d,0x62,0x6f,0x6c,
--0x53,0x20,0x12,0x74,0x72,0x6c,0x3f,0x42,0x10,0x6e,1,0x6e,0x2c,0x74,0x12,0x72,
--0x6f,0x6c,0x3f,0x1f,0x65,0x63,0x74,0x6f,0x72,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,
--0x74,0x69,0x6f,0x6e,0x4d,0x63,0x3f,0x66,0x41,0x6c,0x1d,0x6f,0x73,0x65,0x70,0x75,
--0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4b,2,0x61,0x30,0x65,0x4a,0x69,
--0x12,0x67,0x69,0x74,0x33,0x1c,0x73,0x68,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,
--0x69,0x6f,0x6e,0x47,0x1a,0x63,0x69,0x6d,0x61,0x6c,0x6e,0x75,0x6d,0x62,0x65,0x72,
--0x33,0,0x12,0x6d,0xc1,0xec,0x73,0xa1,0x73,0x4e,0x74,0xa2,0x56,0x77,0xa2,0x72,
--0x79,0xa2,0x73,0x7a,1,0x61,0x2c,0x68,0x12,0x61,0x69,0x6e,0x8b,0x11,0x69,0x6e,
--0x85,5,0x74,0x22,0x74,0x38,0x77,0x4c,0x79,0x16,0x72,0x69,0x61,0x63,0x77,0x61,
--0x77,0x6f,0x18,0x72,0x61,0x69,0x67,0x68,0x74,0x77,0x61,0x77,0xa3,0x55,0x15,0x61,
--0x73,0x68,0x6b,0x61,0x66,0x6d,0x61,0x2e,0x65,0x38,0x68,0x11,0x69,0x6e,0x6b,0x10,
--0x64,0x62,0x11,0x68,0x65,0x65,1,0x65,0x2e,0x6d,0x13,0x6b,0x61,0x74,0x68,0x69,
--0x10,0x6e,0x67,1,0x61,0x4e,0x65,1,0x68,0x28,0x74,0x10,0x68,0x77,0x16,0x6d,
--0x61,0x72,0x62,0x75,0x74,0x61,0x74,0x13,0x67,0x6f,0x61,0x6c,0x3d,1,0x68,0x71,
--0x77,0x73,0x11,0x61,0x77,0x79,1,0x65,0x32,0x75,0x11,0x64,0x68,0x80,0x11,0x68,
--0x65,0x83,0x10,0x68,0x7a,1,0x62,0x34,0x77,0x16,0x69,0x74,0x68,0x74,0x61,0x69,
--0x6c,0x7f,0x14,0x61,0x72,0x72,0x65,0x65,0x7d,0x6d,0x6c,0x6e,0xa4,0x18,0x70,0xa4,
--0x35,0x71,0xa4,0x35,0x72,1,0x65,0x38,0x6f,0x18,0x68,0x69,0x6e,0x67,0x79,0x61,
--0x79,0x65,0x68,0x93,1,0x68,0x5f,0x76,0x16,0x65,0x72,0x73,0x65,0x64,0x70,0x65,
--0x61,2,0x61,0x2e,0x65,0xa2,0xeb,0x69,0x10,0x6d,0x53,0x17,0x6e,0x69,0x63,0x68,
--0x61,0x65,0x61,0x6e,0,0x12,0x6e,0x76,0x73,0x51,0x73,0x3e,0x74,0x5c,0x77,0xa0,
--0x79,0xa2,0x42,0x7a,0x13,0x61,0x79,0x69,0x6e,0xa3,0x54,0x10,0x61,1,0x64,0x2e,
--0x6d,0x12,0x65,0x6b,0x68,0xa3,0x4c,0x11,0x68,0x65,0xa3,0x4b,3,0x61,0x38,0x65,
--0x3c,0x68,0x4a,0x77,0x13,0x65,0x6e,0x74,0x79,0xa3,0x51,0x10,0x77,0xa3,0x4d,1,
--0x6e,0xa3,0x4e,0x74,0x10,0x68,0xa3,0x4f,0x14,0x61,0x6d,0x65,0x64,0x68,0xa3,0x50,
--0x11,0x61,0x77,0xa3,0x52,0x12,0x6f,0x64,0x68,0xa3,0x53,0x6e,0x3a,0x6f,0x40,0x70,
--0x46,0x71,0x4a,0x72,0x12,0x65,0x73,0x68,0xa3,0x4a,0x11,0x75,0x6e,0xa3,0x46,0x11,
--0x6e,0x65,0xa3,0x47,0x10,0x65,0xa3,0x48,0x12,0x6f,0x70,0x68,0xa3,0x49,0x67,0x33,
--0x67,0x38,0x68,0x40,0x6b,0x5e,0x6c,0x66,0x6d,0x11,0x65,0x6d,0xa3,0x45,0x13,0x69,
--0x6d,0x65,0x6c,0xa1,1,0x65,0x32,0x75,0x14,0x6e,0x64,0x72,0x65,0x64,0xa3,0x42,
--0x11,0x74,0x68,0xa3,0x41,0x12,0x61,0x70,0x68,0xa3,0x43,0x14,0x61,0x6d,0x65,0x64,
--0x68,0xa3,0x44,0x61,0x34,0x62,0x4a,0x64,0x50,0x66,0x12,0x69,0x76,0x65,0x9f,1,
--0x6c,0x2a,0x79,0x11,0x69,0x6e,0x97,0x12,0x65,0x70,0x68,0x95,0x12,0x65,0x74,0x68,
--0x99,1,0x61,0x30,0x68,0x14,0x61,0x6d,0x65,0x64,0x68,0x9d,0x13,0x6c,0x65,0x74,
--0x68,0x9b,0x11,0x65,0x6d,0x51,2,0x6f,0x2c,0x75,0x50,0x79,0x10,0x61,0x91,1,
--0x6a,0x28,0x6f,0x10,0x6e,0x55,0x1a,0x6f,0x69,0x6e,0x69,0x6e,0x67,0x67,0x72,0x6f,
--0x75,0x70,0x21,0x10,0x6e,0x57,0x10,0x65,0x59,0x10,0x61,1,0x66,0x5b,0x70,0x10,
--0x68,0x5d,0x66,0x7b,0x66,0x42,0x67,0x7a,0x68,0x8a,0x6b,0xa2,0x56,0x6c,0x11,0x61,
--0x6d,0x4c,0x12,0x61,0x64,0x68,0x4f,2,0x61,0x3e,0x65,0x4a,0x69,0x19,0x6e,0x61,
--0x6c,0x73,0x65,0x6d,0x6b,0x61,0x74,0x68,0x35,0x15,0x72,0x73,0x69,0x79,0x65,0x68,
--0x8f,0x86,0x10,0x68,0x33,0x10,0x61,1,0x66,0x37,0x6d,0x11,0x61,0x6c,0x39,1,
--0x61,0x40,0x65,0x3e,1,0x68,0x28,0x74,0x10,0x68,0x45,0x40,0x13,0x67,0x6f,0x61,
--0x6c,0x43,1,0x68,0x3b,0x6d,0x1a,0x7a,0x61,0x6f,0x6e,0x68,0x65,0x68,0x67,0x6f,
--0x61,0x6c,0x3d,2,0x61,0x3a,0x68,0x44,0x6e,0x17,0x6f,0x74,0x74,0x65,0x64,0x68,
--0x65,0x68,0x4b,1,0x66,0x47,0x70,0x10,0x68,0x49,0x12,0x61,0x70,0x68,0x89,0x61,
--0x2c,0x62,0x4c,0x64,0x86,0x65,0x31,1,0x69,0x38,0x6c,1,0x61,0x28,0x65,0x10,
--0x66,0x27,0x11,0x70,0x68,0x25,0x10,0x6e,0x23,1,0x65,0x4a,0x75,0x10,0x72,0x1f,
--0x75,0x73,0x68,0x61,0x73,0x6b,0x69,0x79,0x65,0x68,0x62,0x61,0x72,0x72,0x65,0x65,
--0x8d,1,0x68,0x29,0x74,0x10,0x68,0x2b,0x11,0x61,0x6c,0x2c,0x16,0x61,0x74,0x68,
--0x72,0x69,0x73,0x68,0x2f,7,0x6e,0x2e,0x6e,0x2c,0x72,0x3e,0x74,0x56,0x75,0x21,
--0x18,0x6f,0x6e,0x6a,0x6f,0x69,0x6e,0x69,0x6e,0x67,0x21,0x28,0x1a,0x69,0x67,0x68,
--0x74,0x6a,0x6f,0x69,0x6e,0x69,0x6e,0x67,0x29,0x2a,0x19,0x72,0x61,0x6e,0x73,0x70,
--0x61,0x72,0x65,0x6e,0x74,0x2b,0x63,0x23,0x64,0x40,0x6a,0x56,0x6c,0x26,0x19,0x65,
--0x66,0x74,0x6a,0x6f,0x69,0x6e,0x69,0x6e,0x67,0x27,0x24,0x19,0x75,0x61,0x6c,0x6a,
--0x6f,0x69,0x6e,0x69,0x6e,0x67,0x25,0x19,0x6f,0x69,0x6e,0x63,0x61,0x75,0x73,0x69,
--0x6e,0x67,0x23,0,0x13,0x6e,0xc0,0xcd,0x73,0x46,0x73,0x42,0x75,0x72,0x77,0x7e,
--0x78,0x96,0x7a,0x10,0x77,0x58,0x14,0x73,0x70,0x61,0x63,0x65,0x59,4,0x61,0x51,
--0x67,0x53,0x70,0x28,0x75,0x30,0x79,0x57,0x54,0x12,0x61,0x63,0x65,0x55,0x16,0x72,
--0x72,0x6f,0x67,0x61,0x74,0x65,0x53,0x15,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x21,1,
--0x6a,0x5d,0x6f,0x17,0x72,0x64,0x6a,0x6f,0x69,0x6e,0x65,0x72,0x5d,0x10,0x78,0x21,
--0x6e,0x60,0x6f,0xa2,0x41,0x70,0xa2,0x50,0x71,0xa2,0x6e,0x72,1,0x65,0x24,0x69,
--0x6f,0x1e,0x67,0x69,0x6f,0x6e,0x61,0x6c,0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,
--0x72,0x6f,4,0x65,0x3e,0x6c,0x5b,0x6f,0x46,0x73,0x45,0x75,0x46,0x14,0x6d,0x65,
--0x72,0x69,0x63,0x47,0x15,0x78,0x74,0x6c,0x69,0x6e,0x65,0x5b,0x17,0x6e,0x73,0x74,
--0x61,0x72,0x74,0x65,0x72,0x45,0x10,0x70,0x48,0x1c,0x65,0x6e,0x70,0x75,0x6e,0x63,
--0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x49,1,0x6f,0x3e,0x72,0x4c,0x1a,0x65,0x66,
--0x69,0x78,0x6e,0x75,0x6d,0x65,0x72,0x69,0x63,0x4d,0x4a,0x1b,0x73,0x74,0x66,0x69,
--0x78,0x6e,0x75,0x6d,0x65,0x72,0x69,0x63,0x4b,0x10,0x75,0x4e,0x16,0x6f,0x74,0x61,
--0x74,0x69,0x6f,0x6e,0x4f,0x68,0x7b,0x68,0x50,0x69,0x86,0x6a,0xa2,0x61,0x6c,0xa2,
--0x65,0x6d,0x1c,0x61,0x6e,0x64,0x61,0x74,0x6f,0x72,0x79,0x62,0x72,0x65,0x61,0x6b,
--0x2d,4,0x32,0x5f,0x33,0x61,0x65,0x34,0x6c,0x6d,0x79,0x3a,0x13,0x70,0x68,0x65,
--0x6e,0x3b,0x19,0x62,0x72,0x65,0x77,0x6c,0x65,0x74,0x74,0x65,0x72,0x6d,2,0x64,
--0x28,0x6e,0x3c,0x73,0x41,0x3c,0x18,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,0x69,0x63,
--0x3d,0x3e,1,0x66,0x3e,0x73,0x11,0x65,0x70,1,0x61,0x22,0x65,0x14,0x72,0x61,
--0x62,0x6c,0x65,0x3f,0x18,0x69,0x78,0x6e,0x75,0x6d,0x65,0x72,0x69,0x63,0x41,2,
--0x6c,0x63,0x74,0x65,0x76,0x67,1,0x66,0x43,0x69,0x15,0x6e,0x65,0x66,0x65,0x65,
--0x64,0x43,0x61,0x40,0x62,0x70,0x63,0xa2,0x55,0x65,0xa2,0xdb,0x67,0x10,0x6c,0x38,
--0x11,0x75,0x65,0x39,2,0x69,0x23,0x6c,0x34,0x6d,0x16,0x62,0x69,0x67,0x75,0x6f,
--0x75,0x73,0x23,0x24,0x17,0x70,0x68,0x61,0x62,0x65,0x74,0x69,0x63,0x25,4,0x32,
--0x27,0x61,0x29,0x62,0x2b,0x6b,0x2d,0x72,0x12,0x65,0x61,0x6b,2,0x61,0x36,0x62,
--0x3e,0x73,0x15,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x57,0x13,0x66,0x74,0x65,0x72,0x29,
--1,0x65,0x2a,0x6f,0x11,0x74,0x68,0x27,0x13,0x66,0x6f,0x72,0x65,0x2b,7,0x6d,
--0x51,0x6d,0x33,0x6f,0x28,0x70,0x69,0x72,0x35,1,0x6d,0x76,0x6e,1,0x64,0x3c,
--0x74,0x1a,0x69,0x6e,0x67,0x65,0x6e,0x74,0x62,0x72,0x65,0x61,0x6b,0x2f,0x15,0x69,
--0x74,0x69,0x6f,0x6e,0x61,0x1f,0x6c,0x6a,0x61,0x70,0x61,0x6e,0x65,0x73,0x65,0x73,
--0x74,0x61,0x72,0x74,0x65,0x72,0x6b,1,0x62,0x3a,0x70,0x19,0x6c,0x65,0x78,0x63,
--0x6f,0x6e,0x74,0x65,0x78,0x74,0x51,0x18,0x69,0x6e,0x69,0x6e,0x67,0x6d,0x61,0x72,
--0x6b,0x33,0x61,0x6a,0x62,0x2f,0x6a,0x6b,0x6c,0x30,0x13,0x6f,0x73,0x65,0x70,1,
--0x61,0x38,0x75,0x18,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x31,0x18,0x72,
--0x65,0x6e,0x74,0x68,0x65,0x73,0x69,0x73,0x69,0x1b,0x72,0x72,0x69,0x61,0x67,0x65,
--0x72,0x65,0x74,0x75,0x72,0x6e,0x35,0x10,0x78,0x36,0x18,0x63,0x6c,0x61,0x6d,0x61,
--0x74,0x69,0x6f,0x6e,0x37,1,0x64,0x42,0x6e,1,0x6f,0x32,0x75,0x26,0x14,0x6d,
--0x65,0x72,0x69,0x63,0x27,0x11,0x6e,0x65,0x21,1,0x65,0x2e,0x69,0x24,0x12,0x67,
--0x69,0x74,0x25,0x22,0x14,0x63,0x69,0x6d,0x61,0x6c,0x23,0,0x18,0x6e,0xc3,0x79,
--0x74,0xc1,0x2f,0x77,0x5d,0x77,0x80,0x78,0xa2,0x44,0x79,0xa2,0x4e,0x7a,5,0x78,
--0x13,0x78,0x30,0x79,0x36,0x7a,0x11,0x7a,0x7a,0xa3,0x67,0x11,0x78,0x78,0xa3,0x66,
--0x11,0x79,0x79,0x21,0x69,0x30,0x6d,0x34,0x73,0x11,0x79,0x6d,0xa3,0x81,0x11,0x6e,
--0x68,0x23,0x11,0x74,0x68,0xa3,0x80,1,0x61,0x2c,0x6f,0x11,0x6c,0x65,0xa3,0x9b,
--0x11,0x72,0x61,0xa2,0x92,0x15,0x6e,0x67,0x63,0x69,0x74,0x69,0xa3,0x92,1,0x70,
--0x2c,0x73,0x11,0x75,0x78,0xa3,0x65,0x11,0x65,0x6f,0x9b,0x10,0x69,0x72,0x11,0x69,
--0x69,0x73,0x74,0x4a,0x75,0xa2,0xb5,0x76,1,0x61,0x2c,0x69,0x11,0x73,0x70,0xa3,
--0x64,0x10,0x69,0xa2,0x63,0x10,0x69,0xa3,0x63,5,0x67,0x36,0x67,0x68,0x68,0x6c,
--0x69,2,0x62,0x3a,0x66,0x4a,0x72,0x10,0x68,0xa2,0x9e,0x12,0x75,0x74,0x61,0xa3,
--0x9e,1,0x65,0x24,0x74,0x6f,0x12,0x74,0x61,0x6e,0x6f,0x14,0x69,0x6e,0x61,0x67,
--0x68,0x99,0x11,0x6c,0x67,0x75,0x10,0x61,1,0x61,0x24,0x69,0x6d,0x6a,0x11,0x6e,
--0x61,0x6b,0x61,0x30,0x65,0xa2,0x56,0x66,0x11,0x6e,0x67,0x99,6,0x6c,0x1c,0x6c,
--0x32,0x6d,0x38,0x6e,0x44,0x76,0x10,0x74,0xa3,0x7f,1,0x65,0x89,0x75,0x97,1,
--0x69,0x24,0x6c,0x67,0x10,0x6c,0x67,0x10,0x67,0xa3,0x9a,0x67,0x36,0x69,0x52,0x6b,
--0x10,0x72,0xa2,0x99,0x10,0x69,0xa3,0x99,1,0x61,0x30,0x62,0x7a,0x13,0x61,0x6e,
--0x77,0x61,0x7b,0x12,0x6c,0x6f,0x67,0x75,2,0x6c,0x32,0x74,0x34,0x76,0x12,0x69,
--0x65,0x74,0xa3,0x7f,0x10,0x65,0x89,0x12,0x68,0x61,0x6d,0xa3,0x6a,1,0x6c,0x2a,
--0x6e,0x10,0x67,0xa3,0x62,0x10,0x75,0x68,0x11,0x67,0x75,0x69,1,0x67,0x32,0x6e,
--0x14,0x6b,0x6e,0x6f,0x77,0x6e,0xa3,0x67,0x11,0x61,0x72,0x8a,0x13,0x69,0x74,0x69,
--0x63,0x8b,0x71,0xc0,0xef,0x71,0xa2,0xc1,0x72,0xa2,0xc6,0x73,6,0x69,0x6d,0x69,
--0x72,0x6f,0xa2,0x4c,0x75,0xa2,0x58,0x79,1,0x6c,0x46,0x72,4,0x63,0x65,0x65,
--0xa3,0x5f,0x69,0x2c,0x6a,0xa3,0x60,0x6e,0xa3,0x61,0x11,0x61,0x63,0x65,0x10,0x6f,
--0x94,0x16,0x74,0x69,0x6e,0x61,0x67,0x72,0x69,0x95,2,0x64,0x3c,0x67,0x4c,0x6e,
--1,0x64,0xa3,0x91,0x68,0x62,0x12,0x61,0x6c,0x61,0x63,0x10,0x64,0xa2,0xa6,0x12,
--0x68,0x61,0x6d,0xa3,0xa6,0x17,0x6e,0x77,0x72,0x69,0x74,0x69,0x6e,0x67,0xa3,0x70,
--0x11,0x72,0x61,0xa2,0x98,0x16,0x73,0x6f,0x6d,0x70,0x65,0x6e,0x67,0xa3,0x98,0x11,
--0x6e,0x64,0xa2,0x71,0x14,0x61,0x6e,0x65,0x73,0x65,0xa3,0x71,0x61,0x5c,0x67,0xa2,
--0x43,0x68,1,0x61,0x2a,0x72,0x10,0x64,0xa3,0x97,2,0x72,0x28,0x76,0x30,0x77,
--0x87,0x12,0x61,0x64,0x61,0xa3,0x97,0x12,0x69,0x61,0x6e,0x87,2,0x6d,0x40,0x72,
--0x58,0x75,0x10,0x72,0xa2,0x6f,0x15,0x61,0x73,0x68,0x74,0x72,0x61,0xa3,0x6f,1,
--0x61,0x26,0x72,0xa3,0x7e,0x14,0x72,0x69,0x74,0x61,0x6e,0xa3,0x7e,1,0x61,0xa3,
--0x5e,0x62,0xa3,0x85,0x11,0x6e,0x77,0xa3,0x70,0x11,0x61,0x61,1,0x63,0x2f,0x69,
--0x23,3,0x65,0x3e,0x6a,0x48,0x6f,0x4e,0x75,0x10,0x6e,1,0x69,0x24,0x72,0x61,
--0x10,0x63,0x61,0x13,0x6a,0x61,0x6e,0x67,0xa3,0x6e,0x11,0x6e,0x67,0xa3,0x6e,0x11,
--0x72,0x6f,0xa3,0x5d,0x6e,0xa2,0x83,0x6f,0xa2,0xbc,0x70,5,0x6c,0x1e,0x6c,0x44,
--0x72,0x4a,0x73,0x1b,0x61,0x6c,0x74,0x65,0x72,0x70,0x61,0x68,0x6c,0x61,0x76,0x69,
--0xa3,0x7b,0x11,0x72,0x64,0xa3,0x5c,0x11,0x74,0x69,0xa3,0x7d,0x61,0x7c,0x65,0xa2,
--0x54,0x68,3,0x61,0x3e,0x6c,0x4e,0x6e,0x5e,0x6f,0x16,0x65,0x6e,0x69,0x63,0x69,
--0x61,0x6e,0xa3,0x5b,0x10,0x67,0xa2,0x5a,0x12,0x73,0x70,0x61,0xa3,0x5a,2,0x69,
--0xa3,0x7a,0x70,0xa3,0x7b,0x76,0xa3,0x7c,0x10,0x78,0xa3,0x5b,2,0x68,0x3e,0x6c,
--0x50,0x75,0x10,0x63,0xa2,0xa5,0x14,0x69,0x6e,0x68,0x61,0x75,0xa3,0xa5,0x17,0x61,
--0x77,0x68,0x68,0x6d,0x6f,0x6e,0x67,0xa3,0x4b,0x10,0x6d,0xa2,0x90,0x14,0x79,0x72,
--0x65,0x6e,0x65,0xa3,0x90,0x11,0x72,0x6d,0xa3,0x59,4,0x61,0x38,0x62,0x56,0x65,
--0x5c,0x6b,0x6a,0x73,0x11,0x68,0x75,0xa3,0x96,1,0x62,0x2a,0x72,0x10,0x62,0xa3,
--0x8e,0x15,0x61,0x74,0x61,0x65,0x61,0x6e,0xa3,0x8f,0x11,0x61,0x74,0xa3,0x8f,0x16,
--0x77,0x74,0x61,0x69,0x6c,0x75,0x65,0x97,1,0x67,0x2e,0x6f,0xa2,0x57,0x10,0x6f,
--0xa3,0x57,0x10,0x62,0xa3,0x84,3,0x67,0x3e,0x6c,0x50,0x72,0xa2,0x7a,0x73,0x11,
--0x6d,0x61,0x84,0x12,0x6e,0x79,0x61,0x85,1,0x61,0x2a,0x68,0x11,0x61,0x6d,0x5b,
--0x10,0x6d,0x5b,1,0x63,0xa2,0x55,0x64,5,0x70,0x2c,0x70,0x36,0x73,0x54,0x74,
--0x14,0x75,0x72,0x6b,0x69,0x63,0xa3,0x58,0x11,0x65,0x72,1,0x6d,0x2c,0x73,0x12,
--0x69,0x61,0x6e,0x9b,0x11,0x69,0x63,0xa3,0x59,0x1a,0x6f,0x75,0x74,0x68,0x61,0x72,
--0x61,0x62,0x69,0x61,0x6e,0xa3,0x85,0x68,0x42,0x69,0x54,0x6e,0x1a,0x6f,0x72,0x74,
--0x68,0x61,0x72,0x61,0x62,0x69,0x61,0x6e,0xa3,0x8e,0x17,0x75,0x6e,0x67,0x61,0x72,
--0x69,0x61,0x6e,0xa3,0x4c,0x14,0x74,0x61,0x6c,0x69,0x63,0x5d,1,0x68,0x26,0x6b,
--0xa3,0x6d,0x12,0x69,0x6b,0x69,0xa3,0x6d,2,0x69,0x2c,0x6b,0x30,0x79,0x10,0x61,
--0x5f,0x11,0x79,0x61,0x5f,0x10,0x68,0xa3,0x58,0x68,0xc2,0x9c,0x6b,0xc1,0xcf,0x6b,
--0xa2,0xdc,0x6c,0xa4,0x5d,0x6d,8,0x6f,0x46,0x6f,0x48,0x72,0x74,0x74,0x80,0x75,
--0x86,0x79,1,0x61,0x28,0x6d,0x10,0x72,0x59,0x13,0x6e,0x6d,0x61,0x72,0x59,2,
--0x64,0x2e,0x6e,0x32,0x6f,0x10,0x6e,0xa3,0x72,0x10,0x69,0xa3,0xa3,0x10,0x67,0x56,
--0x14,0x6f,0x6c,0x69,0x61,0x6e,0x57,0x10,0x6f,0xa2,0x95,0x10,0x6f,0xa3,0x95,0x11,
--0x65,0x69,0xa3,0x73,0x11,0x6c,0x74,0xa2,0xa4,0x12,0x61,0x6e,0x69,0xa3,0xa4,0x61,
--0x34,0x65,0xa0,0x69,0xa2,0x83,0x6c,0x11,0x79,0x6d,0x55,3,0x68,0x32,0x6c,0x48,
--0x6e,0x54,0x79,0x10,0x61,0xa3,0x55,1,0x61,0x26,0x6a,0xa3,0xa0,0x13,0x6a,0x61,
--0x6e,0x69,0xa3,0xa0,0x15,0x61,0x79,0x61,0x6c,0x61,0x6d,0x55,1,0x64,0x38,0x69,
--0xa2,0x79,0x15,0x63,0x68,0x61,0x65,0x61,0x6e,0xa3,0x79,0xa2,0x54,0x12,0x61,0x69,
--0x63,0xa3,0x54,2,0x65,0x72,0x6e,0x84,0x72,1,0x63,0xa3,0x8d,0x6f,0xa2,0x56,
--0x13,0x69,0x74,0x69,0x63,1,0x63,0x3c,0x68,0x19,0x69,0x65,0x72,0x6f,0x67,0x6c,
--0x79,0x70,0x68,0x73,0xa3,0x56,0x15,0x75,0x72,0x73,0x69,0x76,0x65,0xa3,0x8d,0x17,
--0x74,0x65,0x69,0x6d,0x61,0x79,0x65,0x6b,0xa3,0x73,0x10,0x64,0xa2,0x8c,0x17,0x65,
--0x6b,0x69,0x6b,0x61,0x6b,0x75,0x69,0xa3,0x8c,0x11,0x61,0x6f,0xa3,0x5c,5,0x6f,
--0x14,0x6f,0x30,0x70,0x36,0x74,0x11,0x68,0x69,0xa3,0x78,0x11,0x72,0x65,0xa3,0x77,
--0x11,0x65,0x6c,0xa3,0x8a,0x61,0x2e,0x68,0x98,0x6e,0x11,0x64,0x61,0x4b,4,0x69,
--0x3c,0x6c,0x44,0x6e,0x48,0x74,0x56,0x79,0x13,0x61,0x68,0x6c,0x69,0xa3,0x4f,0x12,
--0x74,0x68,0x69,0xa3,0x78,0x10,0x69,0xa3,0x4f,1,0x61,0x4d,0x6e,0x12,0x61,0x64,
--0x61,0x4b,0x14,0x61,0x6b,0x61,0x6e,0x61,0x4c,0x19,0x6f,0x72,0x68,0x69,0x72,0x61,
--0x67,0x61,0x6e,0x61,0x8d,3,0x61,0x3c,0x6d,0x4e,0x6f,0x5a,0x75,0x15,0x64,0x61,
--0x77,0x61,0x64,0x69,0xa3,0x91,0x10,0x72,0x92,0x15,0x6f,0x73,0x68,0x74,0x68,0x69,
--0x93,1,0x65,0x24,0x72,0x4f,0x10,0x72,0x4f,0x10,0x6a,0xa2,0x9d,0x11,0x6b,0x69,
--0xa3,0x9d,4,0x61,0x5c,0x65,0x90,0x69,0xa0,0x6f,0xa2,0x5d,0x79,1,0x63,0x34,
--0x64,0x10,0x69,0xa2,0x6c,0x11,0x61,0x6e,0xa3,0x6c,0x10,0x69,0xa2,0x6b,0x11,0x61,
--0x6e,0xa3,0x6b,2,0x6e,0x42,0x6f,0x46,0x74,3,0x66,0xa3,0x50,0x67,0xa3,0x51,
--0x69,0x24,0x6e,0x53,0x10,0x6e,0x53,0x10,0x61,0xa3,0x6a,0x50,0x10,0x6f,0x51,0x11,
--0x70,0x63,0xa2,0x52,0x11,0x68,0x61,0xa3,0x52,2,0x6d,0x2e,0x6e,0x36,0x73,0x10,
--0x75,0xa3,0x83,0x10,0x62,0x80,0x10,0x75,0x81,2,0x61,0xa3,0x53,0x62,0x83,0x65,
--0x11,0x61,0x72,1,0x61,0xa3,0x53,0x62,0x83,0x11,0x6d,0x61,0xa3,0x8b,0x68,0x60,
--0x69,0xa2,0x79,0x6a,2,0x61,0x30,0x70,0x44,0x75,0x11,0x72,0x63,0xa3,0x94,0x11,
--0x76,0x61,0xa2,0x4e,0x13,0x6e,0x65,0x73,0x65,0xa3,0x4e,0x11,0x61,0x6e,0xa3,0x69,
--6,0x6c,0x1a,0x6c,0x34,0x6d,0x3a,0x72,0x40,0x75,0x11,0x6e,0x67,0xa3,0x4c,0x11,
--0x75,0x77,0xa3,0x9c,0x11,0x6e,0x67,0xa3,0x4b,0x11,0x6b,0x74,0x8d,0x61,0x3a,0x65,
--0x86,0x69,0x11,0x72,0x61,0x48,0x13,0x67,0x61,0x6e,0x61,0x49,1,0x6e,0x34,0x74,
--0x10,0x72,0xa2,0xa2,0x11,0x61,0x6e,0xa3,0xa2,0x42,5,0x73,0xc,0x73,0xa3,0x49,
--0x74,0xa3,0x4a,0x75,0x12,0x6e,0x6f,0x6f,0x77,0x67,0x28,0x69,0x43,0x6f,0x77,0x44,
--0x11,0x75,0x6c,0x45,0x11,0x62,0x72,0x46,0x11,0x65,0x77,0x47,2,0x6d,0x2e,0x6e,
--0x4a,0x74,0x11,0x61,0x6c,0x5d,0x1c,0x70,0x65,0x72,0x69,0x61,0x6c,0x61,0x72,0x61,
--0x6d,0x61,0x69,0x63,0xa3,0x74,2,0x64,0x66,0x68,0x6a,0x73,0x1b,0x63,0x72,0x69,
--0x70,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x70,0x61,1,0x68,0x32,0x72,0x14,0x74,0x68,
--0x69,0x61,0x6e,0xa3,0x7d,0x13,0x6c,0x61,0x76,0x69,0xa3,0x7a,0x10,0x73,0xa3,0x4d,
--0x15,0x65,0x72,0x69,0x74,0x65,0x64,0x23,0x64,0xc0,0xc7,0x64,0xa2,0x60,0x65,0xa2,
--0x88,0x67,4,0x65,0x62,0x6c,0x7a,0x6f,0x8e,0x72,0x9a,0x75,1,0x6a,0x38,0x72,
--1,0x6d,0x24,0x75,0x41,0x13,0x75,0x6b,0x68,0x69,0x41,1,0x61,0x24,0x72,0x3f,
--0x13,0x72,0x61,0x74,0x69,0x3f,0x10,0x6f,1,0x6b,0xa3,0x48,0x72,0x38,0x13,0x67,
--0x69,0x61,0x6e,0x39,0x11,0x61,0x67,0x90,0x15,0x6f,0x6c,0x69,0x74,0x69,0x63,0x91,
--0x11,0x74,0x68,0x3a,0x11,0x69,0x63,0x3b,1,0x61,0x32,0x65,1,0x65,0x24,0x6b,
--0x3d,0x10,0x6b,0x3d,0x10,0x6e,0xa2,0x89,0x12,0x74,0x68,0x61,0xa3,0x89,2,0x65,
--0x3e,0x73,0x64,0x75,0x11,0x70,0x6c,0xa2,0x87,0x13,0x6f,0x79,0x61,0x6e,0xa3,0x87,
--1,0x73,0x38,0x76,0x10,0x61,0x34,0x15,0x6e,0x61,0x67,0x61,0x72,0x69,0x35,0x13,
--0x65,0x72,0x65,0x74,0x33,0x11,0x72,0x74,0x33,2,0x67,0x3a,0x6c,0x72,0x74,0x11,
--0x68,0x69,0x36,0x13,0x6f,0x70,0x69,0x63,0x37,0x10,0x79,2,0x64,0xa3,0x45,0x68,
--0xa3,0x46,0x70,0xa2,0x47,0x1e,0x74,0x69,0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,
--0x6c,0x79,0x70,0x68,0x73,0xa3,0x47,0x11,0x62,0x61,0xa2,0x88,0x12,0x73,0x61,0x6e,
--0xa3,0x88,0x61,0xa2,0xa2,0x62,0xa2,0xf9,0x63,6,0x6f,0x3d,0x6f,0x5a,0x70,0x76,
--0x75,0x7a,0x79,1,0x70,0x3e,0x72,2,0x69,0x2a,0x6c,0x31,0x73,0xa3,0x44,0x13,
--0x6c,0x6c,0x69,0x63,0x31,0x13,0x72,0x69,0x6f,0x74,0x7f,1,0x6d,0x30,0x70,0x10,
--0x74,0x2e,0x11,0x69,0x63,0x2f,0x12,0x6d,0x6f,0x6e,0x21,0x11,0x72,0x74,0x7f,0x16,
--0x6e,0x65,0x69,0x66,0x6f,0x72,0x6d,0xa3,0x65,0x61,0x32,0x68,0xa2,0x41,0x69,0x11,
--0x72,0x74,0xa3,0x43,3,0x6b,0x4c,0x6e,0x50,0x72,0x76,0x75,0x1d,0x63,0x61,0x73,
--0x69,0x61,0x6e,0x61,0x6c,0x62,0x61,0x6e,0x69,0x61,0x6e,0xa3,0x9f,0x10,0x6d,0xa3,
--0x76,1,0x61,0x24,0x73,0x71,0x1d,0x64,0x69,0x61,0x6e,0x61,0x62,0x6f,0x72,0x69,
--0x67,0x69,0x6e,0x61,0x6c,0x71,0x10,0x69,0xa2,0x68,0x11,0x61,0x6e,0xa3,0x68,1,
--0x61,0x34,0x65,0x10,0x72,0x2c,0x13,0x6f,0x6b,0x65,0x65,0x2d,1,0x6b,0x26,0x6d,
--0xa3,0x42,0x11,0x6d,0x61,0xa3,0x76,5,0x6e,0x43,0x6e,0x44,0x72,0x6c,0x76,1,
--0x65,0x2a,0x73,0x10,0x74,0xa3,0x75,0x13,0x73,0x74,0x61,0x6e,0xa3,0x75,0x11,0x61,
--0x74,0x1f,0x6f,0x6c,0x69,0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,
--0x68,0x73,0xa3,0x9c,1,0x61,0x3e,0x6d,2,0x65,0x2a,0x69,0xa3,0x74,0x6e,0x27,
--0x13,0x6e,0x69,0x61,0x6e,0x27,0x10,0x62,0x24,0x11,0x69,0x63,0x25,0x66,0x30,0x67,
--0x36,0x68,0x11,0x6f,0x6d,0xa3,0xa1,0x11,0x61,0x6b,0xa3,0x93,0x11,0x68,0x62,0xa3,
--0x9f,5,0x6f,0x36,0x6f,0x4e,0x72,0x5e,0x75,1,0x67,0x30,0x68,1,0x64,0x79,
--0x69,0x10,0x64,0x79,0x10,0x69,0x8e,0x13,0x6e,0x65,0x73,0x65,0x8f,0x11,0x70,0x6f,
--0x2a,0x13,0x6d,0x6f,0x66,0x6f,0x2b,0x10,0x61,1,0x68,0x2e,0x69,0x7c,0x12,0x6c,
--0x6c,0x65,0x7d,0xa2,0x41,0x11,0x6d,0x69,0xa3,0x41,0x61,0x2e,0x65,0x82,0x6c,0x11,
--0x69,0x73,0xa1,3,0x6c,0x3a,0x6d,0x48,0x73,0x54,0x74,1,0x61,0x24,0x6b,0x9f,
--0x10,0x6b,0x9f,0x10,0x69,0x9c,0x13,0x6e,0x65,0x73,0x65,0x9d,0x10,0x75,0xa2,0x82,
--0x10,0x6d,0xa3,0x82,0x10,0x73,0xa2,0x86,0x13,0x61,0x76,0x61,0x68,0xa3,0x86,0x11,
--0x6e,0x67,0x28,0x12,0x61,0x6c,0x69,0x29,3,0x6c,0x42,0x6e,0x90,0x74,0xa2,0x46,
--0x76,0x24,0x17,0x6f,0x77,0x65,0x6c,0x6a,0x61,0x6d,0x6f,0x25,0x22,1,0x65,0x54,
--0x76,0x28,1,0x73,0x38,0x74,0x2a,0x17,0x73,0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,
--0x2b,0x16,0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,0x29,0x18,0x61,0x64,0x69,0x6e,0x67,
--0x6a,0x61,0x6d,0x6f,0x23,1,0x61,0x21,0x6f,0x1a,0x74,0x61,0x70,0x70,0x6c,0x69,
--0x63,0x61,0x62,0x6c,0x65,0x21,0x26,0x1a,0x72,0x61,0x69,0x6c,0x69,0x6e,0x67,0x6a,
--0x61,0x6d,0x6f,0x27,1,0x6e,0x2c,0x79,0x22,0x11,0x65,0x73,0x23,0x20,0x10,0x6f,
--0x21,1,0x6e,0x2c,0x79,0x22,0x11,0x65,0x73,0x23,0x20,0x10,0x6f,0x21,2,0x6d,
--0x30,0x6e,0x3a,0x79,0x22,0x11,0x65,0x73,0x23,0x24,0x13,0x61,0x79,0x62,0x65,0x25,
--0x20,0x10,0x6f,0x21,2,0x6d,0x30,0x6e,0x3a,0x79,0x22,0x11,0x65,0x73,0x23,0x24,
--0x13,0x61,0x79,0x62,0x65,0x25,0x20,0x10,0x6f,0x21,9,0x72,0x31,0x72,0x34,0x73,
--0x5c,0x74,0x31,0x76,0x33,0x78,0x10,0x78,0x21,1,0x65,0x24,0x69,0x39,0x1e,0x67,
--0x69,0x6f,0x6e,0x61,0x6c,0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,0x72,0x39,1,
--0x6d,0x35,0x70,0x18,0x61,0x63,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x35,0x63,0x44,
--0x65,0x5c,0x6c,0x6a,0x6f,0x78,0x70,1,0x70,0x37,0x72,0x14,0x65,0x70,0x65,0x6e,
--0x64,0x37,2,0x6e,0x23,0x6f,0x24,0x72,0x25,0x14,0x6e,0x74,0x72,0x6f,0x6c,0x23,
--0x10,0x78,0x26,0x13,0x74,0x65,0x6e,0x64,0x27,0x28,1,0x66,0x2b,0x76,0x2c,0x10,
--0x74,0x2f,0x13,0x74,0x68,0x65,0x72,0x21,9,0x6e,0x4a,0x6e,0x34,0x6f,0x44,0x73,
--0x60,0x75,0x94,0x78,0x10,0x78,0x21,0x10,0x75,0x2a,0x14,0x6d,0x65,0x72,0x69,0x63,
--0x2b,1,0x6c,0x2c,0x74,0x12,0x68,0x65,0x72,0x21,0x14,0x65,0x74,0x74,0x65,0x72,
--0x2d,3,0x63,0x36,0x65,0x46,0x70,0x31,0x74,0x32,0x12,0x65,0x72,0x6d,0x33,0x3c,
--0x16,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3d,0x2e,0x10,0x70,0x2f,0x10,0x70,0x34,
--0x12,0x70,0x65,0x72,0x35,0x61,0x46,0x63,0x52,0x65,0x64,0x66,0x72,0x6c,2,0x65,
--0x2d,0x66,0x3b,0x6f,0x28,0x12,0x77,0x65,0x72,0x29,0x10,0x74,0x22,0x12,0x65,0x72,
--0x6d,0x23,1,0x6c,0x24,0x72,0x37,0x24,0x12,0x6f,0x73,0x65,0x25,0x10,0x78,0x38,
--0x13,0x74,0x65,0x6e,0x64,0x39,0x10,0x6f,0x26,0x13,0x72,0x6d,0x61,0x74,0x27,0xd,
--0x6c,0x76,0x6f,0x36,0x6f,0x30,0x72,0x38,0x73,0x60,0x78,0x10,0x78,0x21,0x13,0x74,
--0x68,0x65,0x72,0x21,1,0x65,0x24,0x69,0x3b,0x1e,0x67,0x69,0x6f,0x6e,0x61,0x6c,
--0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,0x72,0x3b,1,0x69,0x24,0x71,0x3f,0x18,
--0x6e,0x67,0x6c,0x65,0x71,0x75,0x6f,0x74,0x65,0x3f,0x6c,0x50,0x6d,0x56,0x6e,2,
--0x65,0x36,0x6c,0x39,0x75,0x2c,0x14,0x6d,0x65,0x72,0x69,0x63,0x2d,0x14,0x77,0x6c,
--0x69,0x6e,0x65,0x39,1,0x65,0x23,0x66,0x35,3,0x62,0x37,0x69,0x28,0x6c,0x29,
--0x6e,0x2b,0x10,0x64,1,0x6c,0x34,0x6e,0x11,0x75,0x6d,0x2a,0x12,0x6c,0x65,0x74,
--0x37,0x14,0x65,0x74,0x74,0x65,0x72,0x29,0x65,0x3d,0x65,0x40,0x66,0x5e,0x68,0x6c,
--0x6b,0x10,0x61,0x26,0x15,0x74,0x61,0x6b,0x61,0x6e,0x61,0x27,0x10,0x78,0x2e,0x13,
--0x74,0x65,0x6e,0x64,0x32,0x15,0x6e,0x75,0x6d,0x6c,0x65,0x74,0x2f,0x10,0x6f,0x24,
--0x13,0x72,0x6d,0x61,0x74,0x25,1,0x65,0x24,0x6c,0x3d,0x19,0x62,0x72,0x65,0x77,
--0x6c,0x65,0x74,0x74,0x65,0x72,0x3d,0x61,0x46,0x63,0x52,0x64,1,0x6f,0x24,0x71,
--0x41,0x18,0x75,0x62,0x6c,0x65,0x71,0x75,0x6f,0x74,0x65,0x41,0x15,0x6c,0x65,0x74,
--0x74,0x65,0x72,0x23,0x10,0x72,0x31,2,0x63,0x32,0x6e,0x3c,0x6f,0x22,0x12,0x70,
--0x65,0x6e,0x23,0x24,0x13,0x6c,0x6f,0x73,0x65,0x25,0x20,0x12,0x6f,0x6e,0x65,0x21,
--0xd,0x6e,0xc1,0x86,0x73,0xa8,0x73,0x4c,0x74,0xa2,0x76,0x75,0xa2,0x83,0x7a,0xd8,
--0x70,0,2,0x6c,0xd9,0x20,0,0x70,0xd9,0x40,0,0x73,0xc3,0,0xfe,0xf,
--0,0,0,7,0x6f,0x3c,0x6f,0xff,8,0,0,0,0x70,0x3a,0x75,0x6e,
--0x79,0x13,0x6d,0x62,0x6f,0x6c,0xff,0xf,0,0,0,0x11,0x61,0x63,1,0x65,
--0x34,0x69,0x15,0x6e,0x67,0x6d,0x61,0x72,0x6b,0xa5,0,0x18,0x73,0x65,0x70,0x61,
--0x72,0x61,0x74,0x6f,0x72,0xc3,0,0x16,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0xe1,
--0,0,0x63,0xff,2,0,0,0,0x65,0x38,0x6b,0xff,4,0,0,0,
--0x6d,0xff,1,0,0,0,0x16,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,0x70,
--0,0x1d,0x69,0x74,0x6c,0x65,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,
--0x31,1,0x6e,0x40,0x70,0x1c,0x70,0x65,0x72,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,
--0x74,0x65,0x72,0x25,0x17,0x61,0x73,0x73,0x69,0x67,0x6e,0x65,0x64,0x23,0x6e,0xa2,
--0x69,0x6f,0xa2,0x89,0x70,0xfe,0x30,0xf8,0,0,9,0x69,0x33,0x69,0xff,0x10,
--0,0,0,0x6f,0xfd,0x80,0,0,0x72,0x54,0x73,0xf9,0,0,0x75,0x12,
--0x6e,0x63,0x74,0xfe,0x30,0xf8,0,0,0x15,0x75,0x61,0x74,0x69,0x6f,0x6e,0xff,
--0x30,0xf8,0,0,0x17,0x69,0x76,0x61,0x74,0x65,0x75,0x73,0x65,0xdd,0,0,
--0x61,0x48,0x63,0xfd,0x40,0,0,0x64,0xe9,0,0,0x65,0xfd,0x20,0,0,
--0x66,0xff,0x20,0,0,0,0x1f,0x72,0x61,0x67,0x72,0x61,0x70,0x68,0x73,0x65,
--0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,0x40,0,0xbe,0,3,0x64,0xa7,0,
--0x6c,0xab,0,0x6f,0x30,0x75,0x13,0x6d,0x62,0x65,0x72,0xbf,0,0xb2,0,0x1b,
--0x6e,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0xa1,1,0x70,0x92,
--0x74,0x12,0x68,0x65,0x72,0xe6,0x80,1,3,0x6c,0x40,0x6e,0x4a,0x70,0x56,0x73,
--0x14,0x79,0x6d,0x62,0x6f,0x6c,0xff,8,0,0,0,0x14,0x65,0x74,0x74,0x65,
--0x72,0x61,0x14,0x75,0x6d,0x62,0x65,0x72,0xb3,0,0x19,0x75,0x6e,0x63,0x74,0x75,
--0x61,0x74,0x69,0x6f,0x6e,0xfd,0x80,0,0,0x1c,0x65,0x6e,0x70,0x75,0x6e,0x63,
--0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xf9,0,0,0x66,0xc0,0xc4,0x66,0xa2,0x47,
--0x69,0xa2,0x64,0x6c,0xa2,0x79,0x6d,0xa4,0xc0,4,0x61,0x6c,0x63,0xa5,0,0x65,
--0xa3,0x80,0x6e,0xa1,0x6f,0x15,0x64,0x69,0x66,0x69,0x65,0x72,1,0x6c,0x38,0x73,
--0x14,0x79,0x6d,0x62,0x6f,0x6c,0xff,4,0,0,0,0x14,0x65,0x74,0x74,0x65,
--0x72,0x41,1,0x72,0x3c,0x74,0x16,0x68,0x73,0x79,0x6d,0x62,0x6f,0x6c,0xff,1,
--0,0,0,0x10,0x6b,0xa5,0xc0,1,0x69,0x32,0x6f,0x13,0x72,0x6d,0x61,0x74,
--0xdb,0,0,0x1d,0x6e,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,
--0x6f,0x6e,0xff,0x20,0,0,0,0x10,0x6e,0x1f,0x69,0x74,0x69,0x61,0x6c,0x70,
--0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xff,0x10,0,0,0,0x9c,
--7,0x6d,0x18,0x6d,0x41,0x6f,0x28,0x74,0x31,0x75,0x25,0x60,0x1c,0x77,0x65,0x72,
--0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x29,0x63,0x3d,0x65,0x28,0x69,
--0x42,0x6c,0x29,0x13,0x74,0x74,0x65,0x72,0x9c,0x15,0x6e,0x75,0x6d,0x62,0x65,0x72,
--0xab,0,0x1a,0x6e,0x65,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,0x20,
--0,0x63,0x46,0x64,0xa2,0x96,0x65,0x1b,0x6e,0x63,0x6c,0x6f,0x73,0x69,0x6e,0x67,
--0x6d,0x61,0x72,0x6b,0xa3,0x80,0xe6,0x80,1,7,0x6e,0x57,0x6e,0x52,0x6f,0x5e,
--0x73,0xe1,0,0,0x75,0x1b,0x72,0x72,0x65,0x6e,0x63,0x79,0x73,0x79,0x6d,0x62,
--0x6f,0x6c,0xff,2,0,0,0,0x22,0x12,0x74,0x72,0x6c,0xd9,0x80,0,0xdc,
--0,0,1,0x6d,0x62,0x6e,1,0x6e,0x30,0x74,0x12,0x72,0x6f,0x6c,0xd9,0x80,
--0,0x1f,0x65,0x63,0x74,0x6f,0x72,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,
--0x6f,0x6e,0xfd,0x40,0,0,0x19,0x62,0x69,0x6e,0x69,0x6e,0x67,0x6d,0x61,0x72,
--0x6b,0xa5,0xc0,0x61,0x58,0x63,0xd9,0x80,0,0x66,0xdb,0,0,0x6c,0x1d,0x6f,
--0x73,0x65,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xfd,0x20,0,
--0,0x18,0x73,0x65,0x64,0x6c,0x65,0x74,0x74,0x65,0x72,0x3d,2,0x61,0x32,0x65,
--0x50,0x69,0x12,0x67,0x69,0x74,0xa7,0,0x1c,0x73,0x68,0x70,0x75,0x6e,0x63,0x74,
--0x75,0x61,0x74,0x69,0x6f,0x6e,0xe9,0,0,0x1a,0x63,0x69,0x6d,0x61,0x6c,0x6e,
--0x75,0x6d,0x62,0x65,0x72,0xa7,0
-+0x70,0x68,0x73,0xa5,5,0x14,0x72,0x72,0x6f,0x77,0x73,2,0x61,0xa3,0x67,0x62,
-+0xa3,0x68,0x63,0xa3,0xfa,0x13,0x61,0x74,0x68,0x65,0x1f,0x6d,0x61,0x74,0x69,0x63,
-+0x61,0x6c,0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x73,0xa3,0x6a,0x19,0x75,0x6e,
-+0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xa3,0x8e,0x61,0x5a,0x68,0x84,0x69,0xa2,
-+0x5b,0x6d,0x16,0x61,0x6c,0x6c,0x66,0x6f,0x72,0x6d,1,0x73,0xa3,0x54,0x76,0x16,
-+0x61,0x72,0x69,0x61,0x6e,0x74,0x73,0xa3,0x54,1,0x6d,0x36,0x75,0x16,0x72,0x61,
-+0x73,0x68,0x74,0x72,0x61,0xa3,0xa1,0x15,0x61,0x72,0x69,0x74,0x61,0x6e,0xa3,0xac,
-+1,0x61,0x52,0x6f,0x13,0x72,0x74,0x68,0x61,0x1f,0x6e,0x64,0x66,0x6f,0x72,0x6d,
-+0x61,0x74,0x63,0x6f,0x6e,0x74,0x72,0x6f,0x6c,0x73,0xa3,0xf7,1,0x72,0x2e,0x76,
-+0x12,0x69,0x61,0x6e,0xa3,0x79,0x12,0x61,0x64,0x61,0xa3,0xd9,1,0x64,0x50,0x6e,
-+0x13,0x68,0x61,0x6c,0x61,0x50,0x1d,0x61,0x72,0x63,0x68,0x61,0x69,0x63,0x6e,0x75,
-+0x6d,0x62,0x65,0x72,0x73,0xa3,0xf9,0x13,0x64,0x68,0x61,0x6d,0xa3,0xf8,4,0x61,
-+0x68,0x65,0xa2,0x74,0x68,0xa2,0x77,0x69,0xa2,0x7f,0x72,0x1c,0x61,0x6e,0x73,0x70,
-+0x6f,0x72,0x74,0x61,0x6e,0x64,0x6d,0x61,0x70,0xa2,0xcf,0x16,0x73,0x79,0x6d,0x62,
-+0x6f,0x6c,0x73,0xa3,0xcf,3,0x67,0x34,0x69,0x5a,0x6b,0xa2,0x46,0x6d,0x11,0x69,
-+0x6c,0x49,2,0x61,0x2a,0x62,0x32,0x73,0xa3,0x60,0x12,0x6c,0x6f,0x67,0xa3,0x62,
-+0x13,0x61,0x6e,0x77,0x61,0xa3,0x65,3,0x6c,0x52,0x74,0x56,0x76,0x5e,0x78,0x16,
-+0x75,0x61,0x6e,0x6a,0x69,0x6e,0x67,0xa2,0x7c,0x16,0x73,0x79,0x6d,0x62,0x6f,0x6c,
-+0x73,0xa3,0x7c,0x10,0x65,0xa3,0x70,0x12,0x68,0x61,0x6d,0xa3,0xae,0x12,0x69,0x65,
-+0x74,0xa3,0xb7,0x11,0x72,0x69,0xa3,0xdc,0x13,0x6c,0x75,0x67,0x75,0x4b,0x10,0x61,
-+1,0x61,0x24,0x69,0x53,0x11,0x6e,0x61,0x3d,2,0x62,0x34,0x66,0x3c,0x72,0x13,
-+0x68,0x75,0x74,0x61,0xa3,0xfb,0x13,0x65,0x74,0x61,0x6e,0x57,0x14,0x69,0x6e,0x61,
-+0x67,0x68,0xa3,0x90,0x6d,0x84,0x6e,0xa6,0x1a,0x6f,0xa6,0x4e,0x70,0xa8,2,0x72,
-+1,0x65,0x5c,0x75,1,0x6d,0x2a,0x6e,0x11,0x69,0x63,0x67,0x10,0x69,0xa2,0xc0,
-+0x1d,0x6e,0x75,0x6d,0x65,0x72,0x61,0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,
-+0xc0,0x13,0x6a,0x61,0x6e,0x67,0xa3,0xa3,6,0x6f,0x76,0x6f,0x6c,0x72,0xa2,0x51,
-+0x75,0xa2,0x52,0x79,0x14,0x61,0x6e,0x6d,0x61,0x72,0x58,0x12,0x65,0x78,0x74,2,
-+0x61,0xa3,0xb6,0x62,0xa3,0xee,0x65,0x13,0x6e,0x64,0x65,0x64,1,0x61,0xa3,0xb6,
-+0x62,0xa3,0xee,1,0x64,0x32,0x6e,0x15,0x67,0x6f,0x6c,0x69,0x61,0x6e,0x6b,0x10,
-+0x69,0xa2,0xec,0x13,0x66,0x69,0x65,0x72,1,0x6c,0x3c,0x74,0x19,0x6f,0x6e,0x65,
-+0x6c,0x65,0x74,0x74,0x65,0x72,0x73,0xa3,0x8a,0x15,0x65,0x74,0x74,0x65,0x72,0x73,
-+0x2d,0x10,0x6f,0xa3,0xed,1,0x6c,0x44,0x73,0x11,0x69,0x63,0xa2,0x5c,0x18,0x61,
-+0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x5c,0x13,0x74,0x61,0x6e,0x69,0xa5,
-+3,0x61,0xa2,0x9b,0x65,0xa4,0x1f,0x69,1,0x61,0xa2,0x8f,0x73,0x10,0x63,5,
-+0x70,0x18,0x70,0xa2,0x71,0x73,0x36,0x74,0x17,0x65,0x63,0x68,0x6e,0x69,0x63,0x61,
-+0x6c,0x81,0x15,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x8f,0x61,0xa2,0x66,0x65,0x46,0x6d,
-+0x19,0x61,0x74,0x68,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,1,0x61,0xa3,0x66,0x62,
-+0xa3,0x69,0x17,0x6c,0x6c,0x61,0x6e,0x65,0x6f,0x75,0x73,2,0x6d,0x3a,0x73,0x6c,
-+0x74,0x17,0x65,0x63,0x68,0x6e,0x69,0x63,0x61,0x6c,0x81,0x11,0x61,0x74,0x1f,0x68,
-+0x65,0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,1,
-+0x61,0xa3,0x66,0x62,0xa3,0x69,0x15,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x8e,0x12,0x61,
-+0x6e,0x64,1,0x61,0x3c,0x70,0x19,0x69,0x63,0x74,0x6f,0x67,0x72,0x61,0x70,0x68,
-+0x73,0xa3,0xcd,0x14,0x72,0x72,0x6f,0x77,0x73,0xa3,0x73,0x10,0x6f,0xa3,0xd8,3,
-+0x68,0xa2,0x4f,0x6c,0xa2,0x65,0x6e,0xa2,0x6a,0x74,0x10,0x68,2,0x61,0x3a,0x65,
-+0x4a,0x6f,0x17,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x73,0x7f,0x16,0x6c,0x70,0x68,
-+0x61,0x6e,0x75,0x6d,0xa3,0x5d,0x16,0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,1,0x61,
-+0x36,0x6f,0x17,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,0x73,0x7f,0x11,0x6c,0x70,0x1f,
-+0x68,0x61,0x6e,0x75,0x6d,0x65,0x72,0x69,0x63,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,
-+0xa3,0x5d,1,0x61,0x3e,0x6a,0x12,0x6f,0x6e,0x67,0xa2,0xaa,0x14,0x74,0x69,0x6c,
-+0x65,0x73,0xa3,0xaa,0x13,0x6a,0x61,0x6e,0x69,0xa3,0xe9,0x15,0x61,0x79,0x61,0x6c,
-+0x61,0x6d,0x4f,1,0x64,0x34,0x69,0x15,0x63,0x68,0x61,0x65,0x61,0x6e,0xa3,0xea,
-+0x12,0x61,0x69,0x63,0xa3,0xc6,2,0x65,0x66,0x6e,0x98,0x72,0x14,0x6f,0x69,0x74,
-+0x69,0x63,1,0x63,0x3c,0x68,0x19,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,
-+0x73,0xa3,0xd7,0x15,0x75,0x72,0x73,0x69,0x76,0x65,0xa3,0xd6,0x17,0x74,0x65,0x69,
-+0x6d,0x61,0x79,0x65,0x6b,0xa2,0xb8,0x12,0x65,0x78,0x74,0xa2,0xd5,0x16,0x65,0x6e,
-+0x73,0x69,0x6f,0x6e,0x73,0xa3,0xd5,0x18,0x64,0x65,0x6b,0x69,0x6b,0x61,0x6b,0x75,
-+0x69,0xa3,0xeb,5,0x6b,0x1b,0x6b,0x3c,0x6f,0x40,0x75,0x18,0x6d,0x62,0x65,0x72,
-+0x66,0x6f,0x72,0x6d,0x73,0x7b,0x10,0x6f,0xa3,0x92,0x14,0x62,0x6c,0x6f,0x63,0x6b,
-+0x21,0x61,0x3a,0x62,0x21,0x65,0x16,0x77,0x74,0x61,0x69,0x6c,0x75,0x65,0xa3,0x8b,
-+0x16,0x62,0x61,0x74,0x61,0x65,0x61,0x6e,0xa3,0xef,5,0x70,0x43,0x70,0x36,0x72,
-+0x6a,0x73,0x14,0x6d,0x61,0x6e,0x79,0x61,0xa3,0x7a,0x18,0x74,0x69,0x63,0x61,0x6c,
-+0x63,0x68,0x61,0x72,0x1f,0x61,0x63,0x74,0x65,0x72,0x72,0x65,0x63,0x6f,0x67,0x6e,
-+0x69,0x74,0x69,0x6f,0x6e,0x85,1,0x69,0x46,0x6e,0x1e,0x61,0x6d,0x65,0x6e,0x74,
-+0x61,0x6c,0x64,0x69,0x6e,0x67,0x62,0x61,0x74,0x73,0xa3,0xf2,0x11,0x79,0x61,0x47,
-+0x63,0xa2,0x66,0x67,0xa2,0x66,0x6c,1,0x63,0xa2,0x57,0x64,5,0x70,0x2d,0x70,
-+0x36,0x73,0x56,0x74,0x14,0x75,0x72,0x6b,0x69,0x63,0xa3,0xbf,0x11,0x65,0x72,1,
-+0x6d,0x2e,0x73,0x12,0x69,0x61,0x6e,0xa3,0x8c,0x11,0x69,0x63,0xa3,0xf1,0x1a,0x6f,
-+0x75,0x74,0x68,0x61,0x72,0x61,0x62,0x69,0x61,0x6e,0xa3,0xbb,0x68,0x42,0x69,0x54,
-+0x6e,0x1a,0x6f,0x72,0x74,0x68,0x61,0x72,0x61,0x62,0x69,0x61,0x6e,0xa3,0xf0,0x17,
-+0x75,0x6e,0x67,0x61,0x72,0x69,0x61,0x6e,0xa5,4,0x14,0x74,0x61,0x6c,0x69,0x63,
-+0xa3,0x58,0x13,0x68,0x69,0x6b,0x69,0xa3,0x9d,0x10,0x72,0x85,0x12,0x68,0x61,0x6d,
-+0x65,5,0x72,0x35,0x72,0x44,0x73,0x64,0x75,1,0x61,0xa3,0x4e,0x6e,0x17,0x63,
-+0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x71,0x17,0x69,0x76,0x61,0x74,0x65,0x75,0x73,
-+0x65,0xa2,0x4e,0x13,0x61,0x72,0x65,0x61,0xa3,0x4e,0x1b,0x61,0x6c,0x74,0x65,0x72,
-+0x70,0x61,0x68,0x6c,0x61,0x76,0x69,0xa3,0xf6,0x61,0x40,0x68,0x82,0x6c,0x19,0x61,
-+0x79,0x69,0x6e,0x67,0x63,0x61,0x72,0x64,0x73,0xa3,0xcc,2,0x68,0x38,0x6c,0x4a,
-+0x75,0x15,0x63,0x69,0x6e,0x68,0x61,0x75,0xa3,0xf5,0x17,0x61,0x77,0x68,0x68,0x6d,
-+0x6f,0x6e,0x67,0xa3,0xf3,0x15,0x6d,0x79,0x72,0x65,0x6e,0x65,0xa3,0xf4,1,0x61,
-+0x8e,0x6f,1,0x65,0x74,0x6e,0x16,0x65,0x74,0x69,0x63,0x65,0x78,0x74,0xa2,0x72,
-+1,0x65,0x2c,0x73,0x11,0x75,0x70,0xa3,0x8d,0x15,0x6e,0x73,0x69,0x6f,0x6e,0x73,
-+0xa2,0x72,0x19,0x73,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x8d,0x15,
-+0x6e,0x69,0x63,0x69,0x61,0x6e,0xa3,0x97,1,0x67,0x3e,0x69,0x13,0x73,0x74,0x6f,
-+0x73,0xa2,0xa6,0x13,0x64,0x69,0x73,0x63,0xa3,0xa6,0x12,0x73,0x70,0x61,0xa3,0x96,
-+0x67,0xc3,0x8a,0x6a,0xc1,0x81,0x6a,0xa2,0xc5,0x6b,0xa2,0xde,0x6c,4,0x61,0x54,
-+0x65,0xa2,0x61,0x69,0xa2,0x78,0x6f,0xa2,0xa7,0x79,1,0x63,0x2e,0x64,0x12,0x69,
-+0x61,0x6e,0xa3,0xa9,0x12,0x69,0x61,0x6e,0xa3,0xa7,1,0x6f,0x55,0x74,0x11,0x69,
-+0x6e,1,0x31,0x82,0x65,0x11,0x78,0x74,4,0x61,0x5c,0x62,0x29,0x63,0xa3,0x94,
-+0x64,0xa3,0x95,0x65,0xa2,0xe7,0x13,0x6e,0x64,0x65,0x64,4,0x61,0x36,0x62,0x29,
-+0x63,0xa3,0x94,0x64,0xa3,0x95,0x65,0xa3,0xe7,0x26,0x18,0x64,0x64,0x69,0x74,0x69,
-+0x6f,0x6e,0x61,0x6c,0x6d,0x24,0x12,0x73,0x75,0x70,0x24,0x16,0x70,0x6c,0x65,0x6d,
-+0x65,0x6e,0x74,0x25,1,0x70,0x42,0x74,0x1d,0x74,0x65,0x72,0x6c,0x69,0x6b,0x65,
-+0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x79,0x12,0x63,0x68,0x61,0xa3,0x9c,2,0x6d,
-+0x2e,0x6e,0x34,0x73,0x10,0x75,0xa3,0xb0,0x11,0x62,0x75,0xa3,0x6f,0x12,0x65,0x61,
-+0x72,1,0x61,0xa3,0xe8,0x62,1,0x69,0x38,0x73,0x17,0x79,0x6c,0x6c,0x61,0x62,
-+0x61,0x72,0x79,0xa3,0x75,0x17,0x64,0x65,0x6f,0x67,0x72,0x61,0x6d,0x73,0xa3,0x76,
-+0x1a,0x77,0x73,0x75,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x73,0xa3,0x4d,0x10,0x61,
-+1,0x6d,0x32,0x76,0x14,0x61,0x6e,0x65,0x73,0x65,0xa3,0xb5,0x10,0x6f,0x5c,0x12,
-+0x65,0x78,0x74,1,0x61,0xa3,0xb4,0x62,0xa3,0xb9,1,0x61,0x80,0x68,3,0x61,
-+0x3c,0x6d,0x4c,0x6f,0x64,0x75,0x15,0x64,0x61,0x77,0x61,0x64,0x69,0xa3,0xe6,0x16,
-+0x72,0x6f,0x73,0x68,0x74,0x68,0x69,0xa3,0x89,0x11,0x65,0x72,0x68,0x16,0x73,0x79,
-+0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x71,0x12,0x6a,0x6b,0x69,0xa3,0xe5,3,0x69,0x38,
-+0x6e,0x40,0x74,0x9c,0x79,0x13,0x61,0x68,0x6c,0x69,0xa3,0xa2,0x12,0x74,0x68,0x69,
-+0xa3,0xc1,3,0x61,0x34,0x62,0x50,0x67,0x56,0x6e,0x12,0x61,0x64,0x61,0x4d,0x12,
-+0x73,0x75,0x70,0xa2,0xcb,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xcb,0x11,
-+0x75,0x6e,0xa3,0x42,0x11,0x78,0x69,0x96,0x17,0x72,0x61,0x64,0x69,0x63,0x61,0x6c,
-+0x73,0x97,0x14,0x61,0x6b,0x61,0x6e,0x61,0x9e,1,0x65,0x4c,0x70,0x10,0x68,0x1f,
-+0x6f,0x6e,0x65,0x74,0x69,0x63,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x73,
-+0xa3,0x6b,0x11,0x78,0x74,0xa3,0x6b,0x67,0xa2,0x84,0x68,0xa4,0x24,0x69,3,0x64,
-+0x4a,0x6d,0x8e,0x6e,0xa2,0x44,0x70,0x13,0x61,0x65,0x78,0x74,0x2a,0x16,0x65,0x6e,
-+0x73,0x69,0x6f,0x6e,0x73,0x2b,1,0x63,0x99,0x65,0x1c,0x6f,0x67,0x72,0x61,0x70,
-+0x68,0x69,0x63,0x64,0x65,0x73,0x63,0x72,0x1f,0x69,0x70,0x74,0x69,0x6f,0x6e,0x63,
-+0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,0x73,0x99,0x1c,0x70,0x65,0x72,0x69,0x61,
-+0x6c,0x61,0x72,0x61,0x6d,0x61,0x69,0x63,0xa3,0xba,1,0x64,0x62,0x73,0x1b,0x63,
-+0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x70,0x61,1,0x68,0x32,0x72,0x14,
-+0x74,0x68,0x69,0x61,0x6e,0xa3,0xbd,0x13,0x6c,0x61,0x76,0x69,0xa3,0xbe,0x1c,0x69,
-+0x63,0x6e,0x75,0x6d,0x62,0x65,0x72,0x66,0x6f,0x72,0x6d,0x73,0xa3,0xb2,4,0x65,
-+0x58,0x6c,0xa2,0x63,0x6f,0xa2,0x6b,0x72,0xa2,0x6f,0x75,1,0x6a,0x30,0x72,0x14,
-+0x6d,0x75,0x6b,0x68,0x69,0x43,0x14,0x61,0x72,0x61,0x74,0x69,0x45,1,0x6e,0x8c,
-+0x6f,1,0x6d,0x4e,0x72,0x13,0x67,0x69,0x61,0x6e,0x5a,0x12,0x73,0x75,0x70,0xa2,
-+0x87,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x87,0x1a,0x65,0x74,0x72,0x69,
-+0x63,0x73,0x68,0x61,0x70,0x65,0x73,0x8c,0x12,0x65,0x78,0x74,0xa2,0xe3,0x14,0x65,
-+0x6e,0x64,0x65,0x64,0xa3,0xe3,0x1e,0x65,0x72,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,
-+0x75,0x61,0x74,0x69,0x6f,0x6e,0x71,0x17,0x61,0x67,0x6f,0x6c,0x69,0x74,0x69,0x63,
-+0xa3,0x88,0x13,0x74,0x68,0x69,0x63,0xa3,0x59,1,0x61,0x5c,0x65,0x11,0x65,0x6b,
-+0x30,1,0x61,0x38,0x65,0x11,0x78,0x74,0x6e,0x14,0x65,0x6e,0x64,0x65,0x64,0x6f,
-+0x17,0x6e,0x64,0x63,0x6f,0x70,0x74,0x69,0x63,0x31,0x13,0x6e,0x74,0x68,0x61,0xa3,
-+0xe4,2,0x61,0xa2,0x48,0x65,0xa2,0xcf,0x69,1,0x67,0x30,0x72,0x14,0x61,0x67,
-+0x61,0x6e,0x61,0x9d,0x10,0x68,1,0x70,0x3a,0x73,0x18,0x75,0x72,0x72,0x6f,0x67,
-+0x61,0x74,0x65,0x73,0xa3,0x4b,1,0x72,0x3c,0x75,0x19,0x73,0x75,0x72,0x72,0x6f,
-+0x67,0x61,0x74,0x65,0x73,0xa3,0x4c,0x11,0x69,0x76,0x1f,0x61,0x74,0x65,0x75,0x73,
-+0x65,0x73,0x75,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x73,0xa3,0x4c,2,0x6c,0x32,
-+0x6e,0x9a,0x74,0x12,0x72,0x61,0x6e,0xa5,2,0x10,0x66,2,0x61,0x58,0x6d,0x70,
-+0x77,0x14,0x69,0x64,0x74,0x68,0x61,0x1f,0x6e,0x64,0x66,0x75,0x6c,0x6c,0x77,0x69,
-+0x64,0x74,0x68,0x66,0x6f,0x72,0x6d,0x73,0xa3,0x57,0x1a,0x6e,0x64,0x66,0x75,0x6c,
-+0x6c,0x66,0x6f,0x72,0x6d,0x73,0xa3,0x57,0x13,0x61,0x72,0x6b,0x73,0xa3,0x52,1,
-+0x67,0x2e,0x75,0x12,0x6e,0x6f,0x6f,0xa3,0x63,0x11,0x75,0x6c,0xa2,0x4a,2,0x63,
-+0x3c,0x6a,0x5e,0x73,0x17,0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,0x73,0xa3,0x4a,0x1f,
-+0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x69,0x6c,0x69,0x74,0x79,0x6a,0x61,0x6d,0x6f,
-+0xa3,0x41,0x12,0x61,0x6d,0x6f,0x5c,0x17,0x65,0x78,0x74,0x65,0x6e,0x64,0x65,0x64,
-+1,0x61,0xa3,0xb4,0x62,0xa3,0xb9,0x13,0x62,0x72,0x65,0x77,0x37,0x61,0xa2,0xe9,
-+0x62,0xa6,0x20,0x63,0xa6,0xe8,0x64,0xac,0x5f,0x65,5,0x6d,0xa2,0x6d,0x86,0x6e,
-+0x96,0x74,0x15,0x68,0x69,0x6f,0x70,0x69,0x63,0x5e,1,0x65,0x40,0x73,0x11,0x75,
-+0x70,0xa2,0x86,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x86,0x11,0x78,0x74,
-+0xa2,0x85,1,0x61,0xa3,0xc8,0x65,0x13,0x6e,0x64,0x65,0x64,0xa2,0x85,0x10,0x61,
-+0xa3,0xc8,0x16,0x6f,0x74,0x69,0x63,0x6f,0x6e,0x73,0xa3,0xce,0x15,0x63,0x6c,0x6f,
-+0x73,0x65,0x64,2,0x61,0x5a,0x63,0x9e,0x69,0x1c,0x64,0x65,0x6f,0x67,0x72,0x61,
-+0x70,0x68,0x69,0x63,0x73,0x75,0x70,0xa2,0xc4,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,
-+0x74,0xa3,0xc4,0x16,0x6c,0x70,0x68,0x61,0x6e,0x75,0x6d,0x86,1,0x65,0x2c,0x73,
-+0x11,0x75,0x70,0xa3,0xc3,0x13,0x72,0x69,0x63,0x73,0x86,0x18,0x75,0x70,0x70,0x6c,
-+0x65,0x6d,0x65,0x6e,0x74,0xa3,0xc3,0x11,0x6a,0x6b,0xa2,0x44,0x1f,0x6c,0x65,0x74,
-+0x74,0x65,0x72,0x73,0x61,0x6e,0x64,0x6d,0x6f,0x6e,0x74,0x68,0x73,0xa3,0x44,0x61,
-+0x36,0x67,0x62,0x6c,0x14,0x62,0x61,0x73,0x61,0x6e,0xa3,0xe2,0x13,0x72,0x6c,0x79,
-+0x64,0x1f,0x79,0x6e,0x61,0x73,0x74,0x69,0x63,0x63,0x75,0x6e,0x65,0x69,0x66,0x6f,
-+0x72,0x6d,0xa5,1,0x10,0x79,0x1f,0x70,0x74,0x69,0x61,0x6e,0x68,0x69,0x65,0x72,
-+0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0xc2,6,0x6e,0xc0,0xe5,0x6e,0x3e,0x72,
-+0xa2,0x5d,0x73,0xa2,0xd8,0x76,0x14,0x65,0x73,0x74,0x61,0x6e,0xa3,0xbc,1,0x61,
-+0x92,0x63,0x13,0x69,0x65,0x6e,0x74,1,0x67,0x34,0x73,0x15,0x79,0x6d,0x62,0x6f,
-+0x6c,0x73,0xa3,0xa5,0x13,0x72,0x65,0x65,0x6b,1,0x6d,0x34,0x6e,0x15,0x75,0x6d,
-+0x62,0x65,0x72,0x73,0xa3,0x7f,0x13,0x75,0x73,0x69,0x63,0xa2,0x7e,0x19,0x61,0x6c,
-+0x6e,0x6f,0x74,0x61,0x74,0x69,0x6f,0x6e,0xa3,0x7e,0x10,0x74,0x1f,0x6f,0x6c,0x69,
-+0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0xfe,2,
-+0x61,0x32,0x6d,0xa2,0x71,0x72,0x12,0x6f,0x77,0x73,0x7d,0x12,0x62,0x69,0x63,0x38,
-+3,0x65,0x4a,0x6d,0x66,0x70,0xa2,0x43,0x73,0x11,0x75,0x70,0xa2,0x80,0x16,0x70,
-+0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0x80,0x11,0x78,0x74,1,0x61,0xa3,0xd2,0x65,
-+0x14,0x6e,0x64,0x65,0x64,0x61,0xa3,0xd2,0x12,0x61,0x74,0x68,0xa2,0xd3,0x18,0x65,
-+0x6d,0x61,0x74,0x69,0x63,0x61,0x6c,0x61,0x1f,0x6c,0x70,0x68,0x61,0x62,0x65,0x74,
-+0x69,0x63,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xd3,1,0x66,0x42,0x72,0x1e,
-+0x65,0x73,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x66,0x6f,0x72,0x6d,0x73,1,
-+0x61,0xa3,0x51,0x62,0xa3,0x55,0x14,0x65,0x6e,0x69,0x61,0x6e,0x35,0x12,0x63,0x69,
-+0x69,0x23,0x65,0x98,0x68,0xa2,0x47,0x6c,1,0x63,0x62,0x70,0x17,0x68,0x61,0x62,
-+0x65,0x74,0x69,0x63,0x70,1,0x66,0xa3,0x50,0x72,0x1e,0x65,0x73,0x65,0x6e,0x74,
-+0x61,0x74,0x69,0x6f,0x6e,0x66,0x6f,0x72,0x6d,0x73,0xa3,0x50,0x16,0x68,0x65,0x6d,
-+0x69,0x63,0x61,0x6c,0xa2,0xd0,0x16,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0xd0,
-+0x1a,0x67,0x65,0x61,0x6e,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,0xa3,0x77,0x11,0x6f,
-+0x6d,0xa3,0xfd,6,0x6f,0x71,0x6f,0x64,0x72,0xa2,0x41,0x75,0xa2,0x58,0x79,0x1b,
-+0x7a,0x61,0x6e,0x74,0x69,0x6e,0x65,0x6d,0x75,0x73,0x69,0x63,0xa2,0x5b,0x18,0x61,
-+0x6c,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0xa3,0x5b,1,0x70,0x34,0x78,0x16,0x64,
-+0x72,0x61,0x77,0x69,0x6e,0x67,0x89,0x14,0x6f,0x6d,0x6f,0x66,0x6f,0xa0,0x12,0x65,
-+0x78,0x74,0xa2,0x43,0x14,0x65,0x6e,0x64,0x65,0x64,0xa3,0x43,0x10,0x61,1,0x68,
-+0x40,0x69,0x12,0x6c,0x6c,0x65,0x92,0x17,0x70,0x61,0x74,0x74,0x65,0x72,0x6e,0x73,
-+0x93,0x11,0x6d,0x69,0xa3,0xc9,1,0x67,0x2c,0x68,0x11,0x69,0x64,0xa3,0x64,0x14,
-+0x69,0x6e,0x65,0x73,0x65,0xa3,0x81,0x61,0x42,0x65,0xa2,0x4b,0x6c,0x1a,0x6f,0x63,
-+0x6b,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x8b,3,0x6c,0x34,0x6d,0x40,0x73,
-+0x66,0x74,0x11,0x61,0x6b,0xa3,0xc7,0x14,0x69,0x6e,0x65,0x73,0x65,0xa3,0x93,0x11,
-+0x75,0x6d,0xa2,0xb1,0x12,0x73,0x75,0x70,0xa2,0xca,0x16,0x70,0x6c,0x65,0x6d,0x65,
-+0x6e,0x74,0xa3,0xca,1,0x69,0x30,0x73,0x13,0x61,0x76,0x61,0x68,0xa3,0xdd,0x15,
-+0x63,0x6c,0x61,0x74,0x69,0x6e,0x23,0x14,0x6e,0x67,0x61,0x6c,0x69,0x41,5,0x6f,
-+0xc1,0x46,0x6f,0xa2,0x4f,0x75,0xa4,0xa,0x79,1,0x70,0x90,0x72,0x14,0x69,0x6c,
-+0x6c,0x69,0x63,0x32,1,0x65,0x4c,0x73,0x11,0x75,0x70,0xa2,0x61,0x16,0x70,0x6c,
-+0x65,0x6d,0x65,0x6e,0x74,0xa2,0x61,0x12,0x61,0x72,0x79,0xa3,0x61,0x11,0x78,0x74,
-+2,0x61,0xa3,0x9e,0x62,0xa3,0xa0,0x65,0x13,0x6e,0x64,0x65,0x64,1,0x61,0xa3,
-+0x9e,0x62,0xa3,0xa0,0x1c,0x72,0x69,0x6f,0x74,0x73,0x79,0x6c,0x6c,0x61,0x62,0x61,
-+0x72,0x79,0xa3,0x7b,3,0x6d,0x5a,0x6e,0xa2,0x95,0x70,0xa2,0xa0,0x75,0x17,0x6e,
-+0x74,0x69,0x6e,0x67,0x72,0x6f,0x64,0xa2,0x9a,0x17,0x6e,0x75,0x6d,0x65,0x72,0x61,
-+0x6c,0x73,0xa3,0x9a,2,0x62,0x3a,0x6d,0xa2,0x5f,0x70,0x15,0x61,0x74,0x6a,0x61,
-+0x6d,0x6f,0xa3,0x41,0x14,0x69,0x6e,0x69,0x6e,0x67,2,0x64,0x46,0x68,0x9e,0x6d,
-+0x1d,0x61,0x72,0x6b,0x73,0x66,0x6f,0x72,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x77,
-+0x1e,0x69,0x61,0x63,0x72,0x69,0x74,0x69,0x63,0x61,0x6c,0x6d,0x61,0x72,0x6b,0x73,
-+0x2e,2,0x65,0x40,0x66,0xa6,0x1b,0x73,0x18,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,
-+0x6e,0x74,0xa3,0x83,0x16,0x78,0x74,0x65,0x6e,0x64,0x65,0x64,0xa3,0xe0,0x17,0x61,
-+0x6c,0x66,0x6d,0x61,0x72,0x6b,0x73,0xa3,0x52,0x11,0x6f,0x6e,0x1f,0x69,0x6e,0x64,
-+0x69,0x63,0x6e,0x75,0x6d,0x62,0x65,0x72,0x66,0x6f,0x72,0x6d,0x73,0xa3,0xb2,0x1b,
-+0x74,0x72,0x6f,0x6c,0x70,0x69,0x63,0x74,0x75,0x72,0x65,0x73,0x83,0x12,0x74,0x69,
-+0x63,0xa2,0x84,0x1b,0x65,0x70,0x61,0x63,0x74,0x6e,0x75,0x6d,0x62,0x65,0x72,0x73,
-+0xa3,0xdf,1,0x6e,0x3e,0x72,0x1b,0x72,0x65,0x6e,0x63,0x79,0x73,0x79,0x6d,0x62,
-+0x6f,0x6c,0x73,0x75,0x15,0x65,0x69,0x66,0x6f,0x72,0x6d,0xa2,0x98,0x16,0x6e,0x75,
-+0x6d,0x62,0x65,0x72,0x73,0xa2,0x99,0x1d,0x61,0x6e,0x64,0x70,0x75,0x6e,0x63,0x74,
-+0x75,0x61,0x74,0x69,0x6f,0x6e,0xa3,0x99,0x61,0xa2,0xda,0x68,0xa4,4,0x6a,0x10,
-+0x6b,0xa2,0x47,4,0x63,0x8e,0x65,0xa2,0x81,0x72,0xa2,0x91,0x73,0xa2,0xa3,0x75,
-+0x1f,0x6e,0x69,0x66,0x69,0x65,0x64,0x69,0x64,0x65,0x6f,0x67,0x72,0x61,0x70,0x68,
-+0x73,0xa2,0x47,0x18,0x65,0x78,0x74,0x65,0x6e,0x73,0x69,0x6f,0x6e,4,0x61,0xa3,
-+0x46,0x62,0xa3,0x5e,0x63,0xa3,0xc5,0x64,0xa3,0xd1,0x65,0xa5,0,0x14,0x6f,0x6d,
-+0x70,0x61,0x74,0xa2,0x45,1,0x66,0x96,0x69,1,0x62,0x44,0x64,0x17,0x65,0x6f,
-+0x67,0x72,0x61,0x70,0x68,0x73,0xa2,0x4f,0x12,0x73,0x75,0x70,0xa3,0x5f,0x14,0x69,
-+0x6c,0x69,0x74,0x79,0xa2,0x45,1,0x66,0x54,0x69,0x18,0x64,0x65,0x6f,0x67,0x72,
-+0x61,0x70,0x68,0x73,0xa2,0x4f,0x19,0x73,0x75,0x70,0x70,0x6c,0x65,0x6d,0x65,0x6e,
-+0x74,0xa3,0x5f,0x13,0x6f,0x72,0x6d,0x73,0xa3,0x53,0x11,0x78,0x74,4,0x61,0xa3,
-+0x46,0x62,0xa3,0x5e,0x63,0xa3,0xc5,0x64,0xa3,0xd1,0x65,0xa5,0,0x19,0x61,0x64,
-+0x69,0x63,0x61,0x6c,0x73,0x73,0x75,0x70,0x94,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,
-+0x74,0x95,1,0x74,0x50,0x79,0x14,0x6d,0x62,0x6f,0x6c,0x73,0x9a,0x1d,0x61,0x6e,
-+0x64,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x9b,0x14,0x72,0x6f,
-+0x6b,0x65,0x73,0xa3,0x82,2,0x6e,0x48,0x72,0x64,0x75,0x1d,0x63,0x61,0x73,0x69,
-+0x61,0x6e,0x61,0x6c,0x62,0x61,0x6e,0x69,0x61,0x6e,0xa3,0xde,0x1d,0x61,0x64,0x69,
-+0x61,0x6e,0x73,0x79,0x6c,0x6c,0x61,0x62,0x69,0x63,0x73,0x63,0x12,0x69,0x61,0x6e,
-+0xa3,0xa8,1,0x61,0x50,0x65,0x14,0x72,0x6f,0x6b,0x65,0x65,0x60,0x12,0x73,0x75,
-+0x70,0xa2,0xff,0x16,0x70,0x6c,0x65,0x6d,0x65,0x6e,0x74,0xa3,0xff,1,0x6b,0x26,
-+0x6d,0xa3,0xa4,0x11,0x6d,0x61,0xa3,0xd4,3,0x65,0x3e,0x69,0x7e,0x6f,0xa2,0x5d,
-+0x75,0x15,0x70,0x6c,0x6f,0x79,0x61,0x6e,0xa3,0xe1,1,0x73,0x50,0x76,0x16,0x61,
-+0x6e,0x61,0x67,0x61,0x72,0x69,0x3e,0x12,0x65,0x78,0x74,0xa2,0xb3,0x14,0x65,0x6e,
-+0x64,0x65,0x64,0xa3,0xb3,0x13,0x65,0x72,0x65,0x74,0xa3,0x5a,1,0x61,0x30,0x6e,
-+0x14,0x67,0x62,0x61,0x74,0x73,0x91,0x18,0x63,0x72,0x69,0x74,0x69,0x63,0x61,0x6c,
-+0x73,0x2e,2,0x65,0x30,0x66,0x36,0x73,0x11,0x75,0x70,0xa3,0x83,0x11,0x78,0x74,
-+0xa3,0xe0,0x18,0x6f,0x72,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x77,0x13,0x6d,0x69,
-+0x6e,0x6f,0xa2,0xab,0x14,0x74,0x69,0x6c,0x65,0x73,0xa3,0xab,8,0x6d,0x5f,0x6d,
-+0x3a,0x6e,0x48,0x73,0x7a,0x76,0xa2,0x4b,0x77,0x12,0x69,0x64,0x65,0x43,0x11,0x65,
-+0x64,0x32,0x12,0x69,0x61,0x6c,0x33,2,0x61,0x40,0x62,0x37,0x6f,1,0x62,0x28,
-+0x6e,0x10,0x65,0x21,0x13,0x72,0x65,0x61,0x6b,0x37,0x10,0x72,0x34,0x12,0x72,0x6f,
-+0x77,0x35,2,0x6d,0x38,0x71,0x46,0x75,1,0x62,0x3d,0x70,0x3e,0x11,0x65,0x72,
-+0x3f,1,0x61,0x24,0x6c,0x39,0x11,0x6c,0x6c,0x39,1,0x72,0x3b,0x75,0x12,0x61,
-+0x72,0x65,0x3b,0x12,0x65,0x72,0x74,0x40,0x13,0x69,0x63,0x61,0x6c,0x41,0x63,0x58,
-+0x65,0x92,0x66,0x96,0x69,1,0x6e,0x36,0x73,0x10,0x6f,0x30,0x14,0x6c,0x61,0x74,
-+0x65,0x64,0x31,0x11,0x69,0x74,0x2e,0x12,0x69,0x61,0x6c,0x2f,2,0x61,0x36,0x69,
-+0x48,0x6f,0x10,0x6d,0x24,0x12,0x70,0x61,0x74,0x25,0x10,0x6e,0x22,0x15,0x6f,0x6e,
-+0x69,0x63,0x61,0x6c,0x23,0x13,0x72,0x63,0x6c,0x65,0x27,0x11,0x6e,0x63,0x27,2,
-+0x69,0x3a,0x6f,0x44,0x72,0x10,0x61,0x2c,0x14,0x63,0x74,0x69,0x6f,0x6e,0x2d,0x10,
-+0x6e,0x28,0x11,0x61,0x6c,0x29,0x11,0x6e,0x74,0x2b,4,0x61,0x3a,0x66,0x4c,0x68,
-+0x5e,0x6e,0x70,0x77,0x2a,0x12,0x69,0x64,0x65,0x2b,0x22,0x17,0x6d,0x62,0x69,0x67,
-+0x75,0x6f,0x75,0x73,0x23,0x26,0x17,0x75,0x6c,0x6c,0x77,0x69,0x64,0x74,0x68,0x27,
-+0x24,0x17,0x61,0x6c,0x66,0x77,0x69,0x64,0x74,0x68,0x25,0x20,1,0x61,0x30,0x65,
-+0x14,0x75,0x74,0x72,0x61,0x6c,0x21,0x28,0x13,0x72,0x72,0x6f,0x77,0x29,0xd,0x6e,
-+0xc0,0xfb,0x73,0x6d,0x73,0x3a,0x74,0x98,0x75,0xa2,0x49,0x7a,2,0x6c,0x3b,0x70,
-+0x3d,0x73,0x39,5,0x6f,0x28,0x6f,0x57,0x70,0x34,0x75,0x16,0x72,0x72,0x6f,0x67,
-+0x61,0x74,0x65,0x45,0x11,0x61,0x63,1,0x65,0x32,0x69,0x15,0x6e,0x67,0x6d,0x61,
-+0x72,0x6b,0x31,0x18,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x39,0x63,0x53,
-+0x6b,0x55,0x6d,0x51,0x1d,0x69,0x74,0x6c,0x65,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,
-+0x74,0x65,0x72,0x27,1,0x6e,0x40,0x70,0x1c,0x70,0x65,0x72,0x63,0x61,0x73,0x65,
-+0x6c,0x65,0x74,0x74,0x65,0x72,0x23,0x17,0x61,0x73,0x73,0x69,0x67,0x6e,0x65,0x64,
-+0x21,0x6e,0x8a,0x6f,0xa2,0x47,0x70,8,0x66,0x14,0x66,0x5b,0x69,0x59,0x6f,0x4f,
-+0x72,0x24,0x73,0x49,0x17,0x69,0x76,0x61,0x74,0x65,0x75,0x73,0x65,0x43,0x61,0x2c,
-+0x63,0x4d,0x64,0x47,0x65,0x4b,0x1f,0x72,0x61,0x67,0x72,0x61,0x70,0x68,0x73,0x65,
-+0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x3d,2,0x64,0x33,0x6c,0x35,0x6f,0x36,0x1b,
-+0x6e,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x2d,1,0x70,0x7c,
-+0x74,0x12,0x68,0x65,0x72,3,0x6c,0x38,0x6e,0x42,0x70,0x4c,0x73,0x14,0x79,0x6d,
-+0x62,0x6f,0x6c,0x57,0x14,0x65,0x74,0x74,0x65,0x72,0x2b,0x14,0x75,0x6d,0x62,0x65,
-+0x72,0x37,0x19,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4f,0x1c,0x65,
-+0x6e,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x49,0x66,0x9e,0x66,
-+0x88,0x69,0xa2,0x4b,0x6c,0xa2,0x5c,0x6d,4,0x61,0x60,0x63,0x31,0x65,0x2f,0x6e,
-+0x2d,0x6f,0x15,0x64,0x69,0x66,0x69,0x65,0x72,1,0x6c,0x30,0x73,0x14,0x79,0x6d,
-+0x62,0x6f,0x6c,0x55,0x14,0x65,0x74,0x74,0x65,0x72,0x29,0x17,0x74,0x68,0x73,0x79,
-+0x6d,0x62,0x6f,0x6c,0x51,1,0x69,0x2e,0x6f,0x13,0x72,0x6d,0x61,0x74,0x41,0x1d,
-+0x6e,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x5b,0x10,
-+0x6e,0x1f,0x69,0x74,0x69,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,
-+0x6f,0x6e,0x59,6,0x6d,0x18,0x6d,0x29,0x6f,0x28,0x74,0x27,0x75,0x23,0x2a,0x1c,
-+0x77,0x65,0x72,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x25,0x65,0x28,
-+0x69,0x3c,0x6c,0x25,0x19,0x74,0x74,0x65,0x72,0x6e,0x75,0x6d,0x62,0x65,0x72,0x35,
-+0x1a,0x6e,0x65,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0x3b,0x63,0x44,0x64,
-+0xa2,0x60,0x65,0x1b,0x6e,0x63,0x6c,0x6f,0x73,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,
-+0x2f,6,0x6e,0x39,0x6e,0x46,0x6f,0x4e,0x73,0x45,0x75,0x1b,0x72,0x72,0x65,0x6e,
-+0x63,0x79,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x53,0x20,0x12,0x74,0x72,0x6c,0x3f,0x42,
-+0x10,0x6e,1,0x6e,0x2c,0x74,0x12,0x72,0x6f,0x6c,0x3f,0x1f,0x65,0x63,0x74,0x6f,
-+0x72,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4d,0x63,0x3f,0x66,
-+0x41,0x6c,0x1d,0x6f,0x73,0x65,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,
-+0x6e,0x4b,2,0x61,0x30,0x65,0x4a,0x69,0x12,0x67,0x69,0x74,0x33,0x1c,0x73,0x68,
-+0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x47,0x1a,0x63,0x69,0x6d,
-+0x61,0x6c,0x6e,0x75,0x6d,0x62,0x65,0x72,0x33,0,0x12,0x6d,0xc1,0xec,0x73,0xa1,
-+0x73,0x4e,0x74,0xa2,0x56,0x77,0xa2,0x72,0x79,0xa2,0x73,0x7a,1,0x61,0x2c,0x68,
-+0x12,0x61,0x69,0x6e,0x8b,0x11,0x69,0x6e,0x85,5,0x74,0x22,0x74,0x38,0x77,0x4c,
-+0x79,0x16,0x72,0x69,0x61,0x63,0x77,0x61,0x77,0x6f,0x18,0x72,0x61,0x69,0x67,0x68,
-+0x74,0x77,0x61,0x77,0xa3,0x55,0x15,0x61,0x73,0x68,0x6b,0x61,0x66,0x6d,0x61,0x2e,
-+0x65,0x38,0x68,0x11,0x69,0x6e,0x6b,0x10,0x64,0x62,0x11,0x68,0x65,0x65,1,0x65,
-+0x2e,0x6d,0x13,0x6b,0x61,0x74,0x68,0x69,0x10,0x6e,0x67,1,0x61,0x4e,0x65,1,
-+0x68,0x28,0x74,0x10,0x68,0x77,0x16,0x6d,0x61,0x72,0x62,0x75,0x74,0x61,0x74,0x13,
-+0x67,0x6f,0x61,0x6c,0x3d,1,0x68,0x71,0x77,0x73,0x11,0x61,0x77,0x79,1,0x65,
-+0x32,0x75,0x11,0x64,0x68,0x80,0x11,0x68,0x65,0x83,0x10,0x68,0x7a,1,0x62,0x34,
-+0x77,0x16,0x69,0x74,0x68,0x74,0x61,0x69,0x6c,0x7f,0x14,0x61,0x72,0x72,0x65,0x65,
-+0x7d,0x6d,0x6c,0x6e,0xa4,0x18,0x70,0xa4,0x35,0x71,0xa4,0x35,0x72,1,0x65,0x38,
-+0x6f,0x18,0x68,0x69,0x6e,0x67,0x79,0x61,0x79,0x65,0x68,0x93,1,0x68,0x5f,0x76,
-+0x16,0x65,0x72,0x73,0x65,0x64,0x70,0x65,0x61,2,0x61,0x2e,0x65,0xa2,0xeb,0x69,
-+0x10,0x6d,0x53,0x17,0x6e,0x69,0x63,0x68,0x61,0x65,0x61,0x6e,0,0x12,0x6e,0x76,
-+0x73,0x51,0x73,0x3e,0x74,0x5c,0x77,0xa0,0x79,0xa2,0x42,0x7a,0x13,0x61,0x79,0x69,
-+0x6e,0xa3,0x54,0x10,0x61,1,0x64,0x2e,0x6d,0x12,0x65,0x6b,0x68,0xa3,0x4c,0x11,
-+0x68,0x65,0xa3,0x4b,3,0x61,0x38,0x65,0x3c,0x68,0x4a,0x77,0x13,0x65,0x6e,0x74,
-+0x79,0xa3,0x51,0x10,0x77,0xa3,0x4d,1,0x6e,0xa3,0x4e,0x74,0x10,0x68,0xa3,0x4f,
-+0x14,0x61,0x6d,0x65,0x64,0x68,0xa3,0x50,0x11,0x61,0x77,0xa3,0x52,0x12,0x6f,0x64,
-+0x68,0xa3,0x53,0x6e,0x3a,0x6f,0x40,0x70,0x46,0x71,0x4a,0x72,0x12,0x65,0x73,0x68,
-+0xa3,0x4a,0x11,0x75,0x6e,0xa3,0x46,0x11,0x6e,0x65,0xa3,0x47,0x10,0x65,0xa3,0x48,
-+0x12,0x6f,0x70,0x68,0xa3,0x49,0x67,0x33,0x67,0x38,0x68,0x40,0x6b,0x5e,0x6c,0x66,
-+0x6d,0x11,0x65,0x6d,0xa3,0x45,0x13,0x69,0x6d,0x65,0x6c,0xa1,1,0x65,0x32,0x75,
-+0x14,0x6e,0x64,0x72,0x65,0x64,0xa3,0x42,0x11,0x74,0x68,0xa3,0x41,0x12,0x61,0x70,
-+0x68,0xa3,0x43,0x14,0x61,0x6d,0x65,0x64,0x68,0xa3,0x44,0x61,0x34,0x62,0x4a,0x64,
-+0x50,0x66,0x12,0x69,0x76,0x65,0x9f,1,0x6c,0x2a,0x79,0x11,0x69,0x6e,0x97,0x12,
-+0x65,0x70,0x68,0x95,0x12,0x65,0x74,0x68,0x99,1,0x61,0x30,0x68,0x14,0x61,0x6d,
-+0x65,0x64,0x68,0x9d,0x13,0x6c,0x65,0x74,0x68,0x9b,0x11,0x65,0x6d,0x51,2,0x6f,
-+0x2c,0x75,0x50,0x79,0x10,0x61,0x91,1,0x6a,0x28,0x6f,0x10,0x6e,0x55,0x1a,0x6f,
-+0x69,0x6e,0x69,0x6e,0x67,0x67,0x72,0x6f,0x75,0x70,0x21,0x10,0x6e,0x57,0x10,0x65,
-+0x59,0x10,0x61,1,0x66,0x5b,0x70,0x10,0x68,0x5d,0x66,0x7b,0x66,0x42,0x67,0x7a,
-+0x68,0x8a,0x6b,0xa2,0x56,0x6c,0x11,0x61,0x6d,0x4c,0x12,0x61,0x64,0x68,0x4f,2,
-+0x61,0x3e,0x65,0x4a,0x69,0x19,0x6e,0x61,0x6c,0x73,0x65,0x6d,0x6b,0x61,0x74,0x68,
-+0x35,0x15,0x72,0x73,0x69,0x79,0x65,0x68,0x8f,0x86,0x10,0x68,0x33,0x10,0x61,1,
-+0x66,0x37,0x6d,0x11,0x61,0x6c,0x39,1,0x61,0x40,0x65,0x3e,1,0x68,0x28,0x74,
-+0x10,0x68,0x45,0x40,0x13,0x67,0x6f,0x61,0x6c,0x43,1,0x68,0x3b,0x6d,0x1a,0x7a,
-+0x61,0x6f,0x6e,0x68,0x65,0x68,0x67,0x6f,0x61,0x6c,0x3d,2,0x61,0x3a,0x68,0x44,
-+0x6e,0x17,0x6f,0x74,0x74,0x65,0x64,0x68,0x65,0x68,0x4b,1,0x66,0x47,0x70,0x10,
-+0x68,0x49,0x12,0x61,0x70,0x68,0x89,0x61,0x2c,0x62,0x4c,0x64,0x86,0x65,0x31,1,
-+0x69,0x38,0x6c,1,0x61,0x28,0x65,0x10,0x66,0x27,0x11,0x70,0x68,0x25,0x10,0x6e,
-+0x23,1,0x65,0x4a,0x75,0x10,0x72,0x1f,0x75,0x73,0x68,0x61,0x73,0x6b,0x69,0x79,
-+0x65,0x68,0x62,0x61,0x72,0x72,0x65,0x65,0x8d,1,0x68,0x29,0x74,0x10,0x68,0x2b,
-+0x11,0x61,0x6c,0x2c,0x16,0x61,0x74,0x68,0x72,0x69,0x73,0x68,0x2f,7,0x6e,0x2e,
-+0x6e,0x2c,0x72,0x3e,0x74,0x56,0x75,0x21,0x18,0x6f,0x6e,0x6a,0x6f,0x69,0x6e,0x69,
-+0x6e,0x67,0x21,0x28,0x1a,0x69,0x67,0x68,0x74,0x6a,0x6f,0x69,0x6e,0x69,0x6e,0x67,
-+0x29,0x2a,0x19,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x2b,0x63,0x23,
-+0x64,0x40,0x6a,0x56,0x6c,0x26,0x19,0x65,0x66,0x74,0x6a,0x6f,0x69,0x6e,0x69,0x6e,
-+0x67,0x27,0x24,0x19,0x75,0x61,0x6c,0x6a,0x6f,0x69,0x6e,0x69,0x6e,0x67,0x25,0x19,
-+0x6f,0x69,0x6e,0x63,0x61,0x75,0x73,0x69,0x6e,0x67,0x23,0,0x13,0x6e,0xc0,0xcd,
-+0x73,0x46,0x73,0x42,0x75,0x72,0x77,0x7e,0x78,0x96,0x7a,0x10,0x77,0x58,0x14,0x73,
-+0x70,0x61,0x63,0x65,0x59,4,0x61,0x51,0x67,0x53,0x70,0x28,0x75,0x30,0x79,0x57,
-+0x54,0x12,0x61,0x63,0x65,0x55,0x16,0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0x53,0x15,
-+0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x21,1,0x6a,0x5d,0x6f,0x17,0x72,0x64,0x6a,0x6f,
-+0x69,0x6e,0x65,0x72,0x5d,0x10,0x78,0x21,0x6e,0x60,0x6f,0xa2,0x41,0x70,0xa2,0x50,
-+0x71,0xa2,0x6e,0x72,1,0x65,0x24,0x69,0x6f,0x1e,0x67,0x69,0x6f,0x6e,0x61,0x6c,
-+0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,0x72,0x6f,4,0x65,0x3e,0x6c,0x5b,0x6f,
-+0x46,0x73,0x45,0x75,0x46,0x14,0x6d,0x65,0x72,0x69,0x63,0x47,0x15,0x78,0x74,0x6c,
-+0x69,0x6e,0x65,0x5b,0x17,0x6e,0x73,0x74,0x61,0x72,0x74,0x65,0x72,0x45,0x10,0x70,
-+0x48,0x1c,0x65,0x6e,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0x49,
-+1,0x6f,0x3e,0x72,0x4c,0x1a,0x65,0x66,0x69,0x78,0x6e,0x75,0x6d,0x65,0x72,0x69,
-+0x63,0x4d,0x4a,0x1b,0x73,0x74,0x66,0x69,0x78,0x6e,0x75,0x6d,0x65,0x72,0x69,0x63,
-+0x4b,0x10,0x75,0x4e,0x16,0x6f,0x74,0x61,0x74,0x69,0x6f,0x6e,0x4f,0x68,0x7b,0x68,
-+0x50,0x69,0x86,0x6a,0xa2,0x61,0x6c,0xa2,0x65,0x6d,0x1c,0x61,0x6e,0x64,0x61,0x74,
-+0x6f,0x72,0x79,0x62,0x72,0x65,0x61,0x6b,0x2d,4,0x32,0x5f,0x33,0x61,0x65,0x34,
-+0x6c,0x6d,0x79,0x3a,0x13,0x70,0x68,0x65,0x6e,0x3b,0x19,0x62,0x72,0x65,0x77,0x6c,
-+0x65,0x74,0x74,0x65,0x72,0x6d,2,0x64,0x28,0x6e,0x3c,0x73,0x41,0x3c,0x18,0x65,
-+0x6f,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x3d,0x3e,1,0x66,0x3e,0x73,0x11,0x65,
-+0x70,1,0x61,0x22,0x65,0x14,0x72,0x61,0x62,0x6c,0x65,0x3f,0x18,0x69,0x78,0x6e,
-+0x75,0x6d,0x65,0x72,0x69,0x63,0x41,2,0x6c,0x63,0x74,0x65,0x76,0x67,1,0x66,
-+0x43,0x69,0x15,0x6e,0x65,0x66,0x65,0x65,0x64,0x43,0x61,0x40,0x62,0x70,0x63,0xa2,
-+0x55,0x65,0xa2,0xdb,0x67,0x10,0x6c,0x38,0x11,0x75,0x65,0x39,2,0x69,0x23,0x6c,
-+0x34,0x6d,0x16,0x62,0x69,0x67,0x75,0x6f,0x75,0x73,0x23,0x24,0x17,0x70,0x68,0x61,
-+0x62,0x65,0x74,0x69,0x63,0x25,4,0x32,0x27,0x61,0x29,0x62,0x2b,0x6b,0x2d,0x72,
-+0x12,0x65,0x61,0x6b,2,0x61,0x36,0x62,0x3e,0x73,0x15,0x79,0x6d,0x62,0x6f,0x6c,
-+0x73,0x57,0x13,0x66,0x74,0x65,0x72,0x29,1,0x65,0x2a,0x6f,0x11,0x74,0x68,0x27,
-+0x13,0x66,0x6f,0x72,0x65,0x2b,7,0x6d,0x51,0x6d,0x33,0x6f,0x28,0x70,0x69,0x72,
-+0x35,1,0x6d,0x76,0x6e,1,0x64,0x3c,0x74,0x1a,0x69,0x6e,0x67,0x65,0x6e,0x74,
-+0x62,0x72,0x65,0x61,0x6b,0x2f,0x15,0x69,0x74,0x69,0x6f,0x6e,0x61,0x1f,0x6c,0x6a,
-+0x61,0x70,0x61,0x6e,0x65,0x73,0x65,0x73,0x74,0x61,0x72,0x74,0x65,0x72,0x6b,1,
-+0x62,0x3a,0x70,0x19,0x6c,0x65,0x78,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x51,0x18,
-+0x69,0x6e,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0x33,0x61,0x6a,0x62,0x2f,0x6a,0x6b,
-+0x6c,0x30,0x13,0x6f,0x73,0x65,0x70,1,0x61,0x38,0x75,0x18,0x6e,0x63,0x74,0x75,
-+0x61,0x74,0x69,0x6f,0x6e,0x31,0x18,0x72,0x65,0x6e,0x74,0x68,0x65,0x73,0x69,0x73,
-+0x69,0x1b,0x72,0x72,0x69,0x61,0x67,0x65,0x72,0x65,0x74,0x75,0x72,0x6e,0x35,0x10,
-+0x78,0x36,0x18,0x63,0x6c,0x61,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x37,1,0x64,0x42,
-+0x6e,1,0x6f,0x32,0x75,0x26,0x14,0x6d,0x65,0x72,0x69,0x63,0x27,0x11,0x6e,0x65,
-+0x21,1,0x65,0x2e,0x69,0x24,0x12,0x67,0x69,0x74,0x25,0x22,0x14,0x63,0x69,0x6d,
-+0x61,0x6c,0x23,0,0x18,0x6e,0xc3,0x79,0x74,0xc1,0x2f,0x77,0x5d,0x77,0x80,0x78,
-+0xa2,0x44,0x79,0xa2,0x4e,0x7a,5,0x78,0x13,0x78,0x30,0x79,0x36,0x7a,0x11,0x7a,
-+0x7a,0xa3,0x67,0x11,0x78,0x78,0xa3,0x66,0x11,0x79,0x79,0x21,0x69,0x30,0x6d,0x34,
-+0x73,0x11,0x79,0x6d,0xa3,0x81,0x11,0x6e,0x68,0x23,0x11,0x74,0x68,0xa3,0x80,1,
-+0x61,0x2c,0x6f,0x11,0x6c,0x65,0xa3,0x9b,0x11,0x72,0x61,0xa2,0x92,0x15,0x6e,0x67,
-+0x63,0x69,0x74,0x69,0xa3,0x92,1,0x70,0x2c,0x73,0x11,0x75,0x78,0xa3,0x65,0x11,
-+0x65,0x6f,0x9b,0x10,0x69,0x72,0x11,0x69,0x69,0x73,0x74,0x4a,0x75,0xa2,0xb5,0x76,
-+1,0x61,0x2c,0x69,0x11,0x73,0x70,0xa3,0x64,0x10,0x69,0xa2,0x63,0x10,0x69,0xa3,
-+0x63,5,0x67,0x36,0x67,0x68,0x68,0x6c,0x69,2,0x62,0x3a,0x66,0x4a,0x72,0x10,
-+0x68,0xa2,0x9e,0x12,0x75,0x74,0x61,0xa3,0x9e,1,0x65,0x24,0x74,0x6f,0x12,0x74,
-+0x61,0x6e,0x6f,0x14,0x69,0x6e,0x61,0x67,0x68,0x99,0x11,0x6c,0x67,0x75,0x10,0x61,
-+1,0x61,0x24,0x69,0x6d,0x6a,0x11,0x6e,0x61,0x6b,0x61,0x30,0x65,0xa2,0x56,0x66,
-+0x11,0x6e,0x67,0x99,6,0x6c,0x1c,0x6c,0x32,0x6d,0x38,0x6e,0x44,0x76,0x10,0x74,
-+0xa3,0x7f,1,0x65,0x89,0x75,0x97,1,0x69,0x24,0x6c,0x67,0x10,0x6c,0x67,0x10,
-+0x67,0xa3,0x9a,0x67,0x36,0x69,0x52,0x6b,0x10,0x72,0xa2,0x99,0x10,0x69,0xa3,0x99,
-+1,0x61,0x30,0x62,0x7a,0x13,0x61,0x6e,0x77,0x61,0x7b,0x12,0x6c,0x6f,0x67,0x75,
-+2,0x6c,0x32,0x74,0x34,0x76,0x12,0x69,0x65,0x74,0xa3,0x7f,0x10,0x65,0x89,0x12,
-+0x68,0x61,0x6d,0xa3,0x6a,1,0x6c,0x2a,0x6e,0x10,0x67,0xa3,0x62,0x10,0x75,0x68,
-+0x11,0x67,0x75,0x69,1,0x67,0x32,0x6e,0x14,0x6b,0x6e,0x6f,0x77,0x6e,0xa3,0x67,
-+0x11,0x61,0x72,0x8a,0x13,0x69,0x74,0x69,0x63,0x8b,0x71,0xc0,0xef,0x71,0xa2,0xc1,
-+0x72,0xa2,0xc6,0x73,6,0x69,0x6d,0x69,0x72,0x6f,0xa2,0x4c,0x75,0xa2,0x58,0x79,
-+1,0x6c,0x46,0x72,4,0x63,0x65,0x65,0xa3,0x5f,0x69,0x2c,0x6a,0xa3,0x60,0x6e,
-+0xa3,0x61,0x11,0x61,0x63,0x65,0x10,0x6f,0x94,0x16,0x74,0x69,0x6e,0x61,0x67,0x72,
-+0x69,0x95,2,0x64,0x3c,0x67,0x4c,0x6e,1,0x64,0xa3,0x91,0x68,0x62,0x12,0x61,
-+0x6c,0x61,0x63,0x10,0x64,0xa2,0xa6,0x12,0x68,0x61,0x6d,0xa3,0xa6,0x17,0x6e,0x77,
-+0x72,0x69,0x74,0x69,0x6e,0x67,0xa3,0x70,0x11,0x72,0x61,0xa2,0x98,0x16,0x73,0x6f,
-+0x6d,0x70,0x65,0x6e,0x67,0xa3,0x98,0x11,0x6e,0x64,0xa2,0x71,0x14,0x61,0x6e,0x65,
-+0x73,0x65,0xa3,0x71,0x61,0x5c,0x67,0xa2,0x43,0x68,1,0x61,0x2a,0x72,0x10,0x64,
-+0xa3,0x97,2,0x72,0x28,0x76,0x30,0x77,0x87,0x12,0x61,0x64,0x61,0xa3,0x97,0x12,
-+0x69,0x61,0x6e,0x87,2,0x6d,0x40,0x72,0x58,0x75,0x10,0x72,0xa2,0x6f,0x15,0x61,
-+0x73,0x68,0x74,0x72,0x61,0xa3,0x6f,1,0x61,0x26,0x72,0xa3,0x7e,0x14,0x72,0x69,
-+0x74,0x61,0x6e,0xa3,0x7e,1,0x61,0xa3,0x5e,0x62,0xa3,0x85,0x11,0x6e,0x77,0xa3,
-+0x70,0x11,0x61,0x61,1,0x63,0x2f,0x69,0x23,3,0x65,0x3e,0x6a,0x48,0x6f,0x4e,
-+0x75,0x10,0x6e,1,0x69,0x24,0x72,0x61,0x10,0x63,0x61,0x13,0x6a,0x61,0x6e,0x67,
-+0xa3,0x6e,0x11,0x6e,0x67,0xa3,0x6e,0x11,0x72,0x6f,0xa3,0x5d,0x6e,0xa2,0x83,0x6f,
-+0xa2,0xbc,0x70,5,0x6c,0x1e,0x6c,0x44,0x72,0x4a,0x73,0x1b,0x61,0x6c,0x74,0x65,
-+0x72,0x70,0x61,0x68,0x6c,0x61,0x76,0x69,0xa3,0x7b,0x11,0x72,0x64,0xa3,0x5c,0x11,
-+0x74,0x69,0xa3,0x7d,0x61,0x7c,0x65,0xa2,0x54,0x68,3,0x61,0x3e,0x6c,0x4e,0x6e,
-+0x5e,0x6f,0x16,0x65,0x6e,0x69,0x63,0x69,0x61,0x6e,0xa3,0x5b,0x10,0x67,0xa2,0x5a,
-+0x12,0x73,0x70,0x61,0xa3,0x5a,2,0x69,0xa3,0x7a,0x70,0xa3,0x7b,0x76,0xa3,0x7c,
-+0x10,0x78,0xa3,0x5b,2,0x68,0x3e,0x6c,0x50,0x75,0x10,0x63,0xa2,0xa5,0x14,0x69,
-+0x6e,0x68,0x61,0x75,0xa3,0xa5,0x17,0x61,0x77,0x68,0x68,0x6d,0x6f,0x6e,0x67,0xa3,
-+0x4b,0x10,0x6d,0xa2,0x90,0x14,0x79,0x72,0x65,0x6e,0x65,0xa3,0x90,0x11,0x72,0x6d,
-+0xa3,0x59,4,0x61,0x38,0x62,0x56,0x65,0x5c,0x6b,0x6a,0x73,0x11,0x68,0x75,0xa3,
-+0x96,1,0x62,0x2a,0x72,0x10,0x62,0xa3,0x8e,0x15,0x61,0x74,0x61,0x65,0x61,0x6e,
-+0xa3,0x8f,0x11,0x61,0x74,0xa3,0x8f,0x16,0x77,0x74,0x61,0x69,0x6c,0x75,0x65,0x97,
-+1,0x67,0x2e,0x6f,0xa2,0x57,0x10,0x6f,0xa3,0x57,0x10,0x62,0xa3,0x84,3,0x67,
-+0x3e,0x6c,0x50,0x72,0xa2,0x7a,0x73,0x11,0x6d,0x61,0x84,0x12,0x6e,0x79,0x61,0x85,
-+1,0x61,0x2a,0x68,0x11,0x61,0x6d,0x5b,0x10,0x6d,0x5b,1,0x63,0xa2,0x55,0x64,
-+5,0x70,0x2c,0x70,0x36,0x73,0x54,0x74,0x14,0x75,0x72,0x6b,0x69,0x63,0xa3,0x58,
-+0x11,0x65,0x72,1,0x6d,0x2c,0x73,0x12,0x69,0x61,0x6e,0x9b,0x11,0x69,0x63,0xa3,
-+0x59,0x1a,0x6f,0x75,0x74,0x68,0x61,0x72,0x61,0x62,0x69,0x61,0x6e,0xa3,0x85,0x68,
-+0x42,0x69,0x54,0x6e,0x1a,0x6f,0x72,0x74,0x68,0x61,0x72,0x61,0x62,0x69,0x61,0x6e,
-+0xa3,0x8e,0x17,0x75,0x6e,0x67,0x61,0x72,0x69,0x61,0x6e,0xa3,0x4c,0x14,0x74,0x61,
-+0x6c,0x69,0x63,0x5d,1,0x68,0x26,0x6b,0xa3,0x6d,0x12,0x69,0x6b,0x69,0xa3,0x6d,
-+2,0x69,0x2c,0x6b,0x30,0x79,0x10,0x61,0x5f,0x11,0x79,0x61,0x5f,0x10,0x68,0xa3,
-+0x58,0x68,0xc2,0x9c,0x6b,0xc1,0xcf,0x6b,0xa2,0xdc,0x6c,0xa4,0x5d,0x6d,8,0x6f,
-+0x46,0x6f,0x48,0x72,0x74,0x74,0x80,0x75,0x86,0x79,1,0x61,0x28,0x6d,0x10,0x72,
-+0x59,0x13,0x6e,0x6d,0x61,0x72,0x59,2,0x64,0x2e,0x6e,0x32,0x6f,0x10,0x6e,0xa3,
-+0x72,0x10,0x69,0xa3,0xa3,0x10,0x67,0x56,0x14,0x6f,0x6c,0x69,0x61,0x6e,0x57,0x10,
-+0x6f,0xa2,0x95,0x10,0x6f,0xa3,0x95,0x11,0x65,0x69,0xa3,0x73,0x11,0x6c,0x74,0xa2,
-+0xa4,0x12,0x61,0x6e,0x69,0xa3,0xa4,0x61,0x34,0x65,0xa0,0x69,0xa2,0x83,0x6c,0x11,
-+0x79,0x6d,0x55,3,0x68,0x32,0x6c,0x48,0x6e,0x54,0x79,0x10,0x61,0xa3,0x55,1,
-+0x61,0x26,0x6a,0xa3,0xa0,0x13,0x6a,0x61,0x6e,0x69,0xa3,0xa0,0x15,0x61,0x79,0x61,
-+0x6c,0x61,0x6d,0x55,1,0x64,0x38,0x69,0xa2,0x79,0x15,0x63,0x68,0x61,0x65,0x61,
-+0x6e,0xa3,0x79,0xa2,0x54,0x12,0x61,0x69,0x63,0xa3,0x54,2,0x65,0x72,0x6e,0x84,
-+0x72,1,0x63,0xa3,0x8d,0x6f,0xa2,0x56,0x13,0x69,0x74,0x69,0x63,1,0x63,0x3c,
-+0x68,0x19,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0x56,0x15,0x75,
-+0x72,0x73,0x69,0x76,0x65,0xa3,0x8d,0x17,0x74,0x65,0x69,0x6d,0x61,0x79,0x65,0x6b,
-+0xa3,0x73,0x10,0x64,0xa2,0x8c,0x17,0x65,0x6b,0x69,0x6b,0x61,0x6b,0x75,0x69,0xa3,
-+0x8c,0x11,0x61,0x6f,0xa3,0x5c,5,0x6f,0x14,0x6f,0x30,0x70,0x36,0x74,0x11,0x68,
-+0x69,0xa3,0x78,0x11,0x72,0x65,0xa3,0x77,0x11,0x65,0x6c,0xa3,0x8a,0x61,0x2e,0x68,
-+0x98,0x6e,0x11,0x64,0x61,0x4b,4,0x69,0x3c,0x6c,0x44,0x6e,0x48,0x74,0x56,0x79,
-+0x13,0x61,0x68,0x6c,0x69,0xa3,0x4f,0x12,0x74,0x68,0x69,0xa3,0x78,0x10,0x69,0xa3,
-+0x4f,1,0x61,0x4d,0x6e,0x12,0x61,0x64,0x61,0x4b,0x14,0x61,0x6b,0x61,0x6e,0x61,
-+0x4c,0x19,0x6f,0x72,0x68,0x69,0x72,0x61,0x67,0x61,0x6e,0x61,0x8d,3,0x61,0x3c,
-+0x6d,0x4e,0x6f,0x5a,0x75,0x15,0x64,0x61,0x77,0x61,0x64,0x69,0xa3,0x91,0x10,0x72,
-+0x92,0x15,0x6f,0x73,0x68,0x74,0x68,0x69,0x93,1,0x65,0x24,0x72,0x4f,0x10,0x72,
-+0x4f,0x10,0x6a,0xa2,0x9d,0x11,0x6b,0x69,0xa3,0x9d,4,0x61,0x5c,0x65,0x90,0x69,
-+0xa0,0x6f,0xa2,0x5d,0x79,1,0x63,0x34,0x64,0x10,0x69,0xa2,0x6c,0x11,0x61,0x6e,
-+0xa3,0x6c,0x10,0x69,0xa2,0x6b,0x11,0x61,0x6e,0xa3,0x6b,2,0x6e,0x42,0x6f,0x46,
-+0x74,3,0x66,0xa3,0x50,0x67,0xa3,0x51,0x69,0x24,0x6e,0x53,0x10,0x6e,0x53,0x10,
-+0x61,0xa3,0x6a,0x50,0x10,0x6f,0x51,0x11,0x70,0x63,0xa2,0x52,0x11,0x68,0x61,0xa3,
-+0x52,2,0x6d,0x2e,0x6e,0x36,0x73,0x10,0x75,0xa3,0x83,0x10,0x62,0x80,0x10,0x75,
-+0x81,2,0x61,0xa3,0x53,0x62,0x83,0x65,0x11,0x61,0x72,1,0x61,0xa3,0x53,0x62,
-+0x83,0x11,0x6d,0x61,0xa3,0x8b,0x68,0x60,0x69,0xa2,0x79,0x6a,2,0x61,0x30,0x70,
-+0x44,0x75,0x11,0x72,0x63,0xa3,0x94,0x11,0x76,0x61,0xa2,0x4e,0x13,0x6e,0x65,0x73,
-+0x65,0xa3,0x4e,0x11,0x61,0x6e,0xa3,0x69,6,0x6c,0x1a,0x6c,0x34,0x6d,0x3a,0x72,
-+0x40,0x75,0x11,0x6e,0x67,0xa3,0x4c,0x11,0x75,0x77,0xa3,0x9c,0x11,0x6e,0x67,0xa3,
-+0x4b,0x11,0x6b,0x74,0x8d,0x61,0x3a,0x65,0x86,0x69,0x11,0x72,0x61,0x48,0x13,0x67,
-+0x61,0x6e,0x61,0x49,1,0x6e,0x34,0x74,0x10,0x72,0xa2,0xa2,0x11,0x61,0x6e,0xa3,
-+0xa2,0x42,5,0x73,0xc,0x73,0xa3,0x49,0x74,0xa3,0x4a,0x75,0x12,0x6e,0x6f,0x6f,
-+0x77,0x67,0x28,0x69,0x43,0x6f,0x77,0x44,0x11,0x75,0x6c,0x45,0x11,0x62,0x72,0x46,
-+0x11,0x65,0x77,0x47,2,0x6d,0x2e,0x6e,0x4a,0x74,0x11,0x61,0x6c,0x5d,0x1c,0x70,
-+0x65,0x72,0x69,0x61,0x6c,0x61,0x72,0x61,0x6d,0x61,0x69,0x63,0xa3,0x74,2,0x64,
-+0x66,0x68,0x6a,0x73,0x1b,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x70,
-+0x61,1,0x68,0x32,0x72,0x14,0x74,0x68,0x69,0x61,0x6e,0xa3,0x7d,0x13,0x6c,0x61,
-+0x76,0x69,0xa3,0x7a,0x10,0x73,0xa3,0x4d,0x15,0x65,0x72,0x69,0x74,0x65,0x64,0x23,
-+0x64,0xc0,0xc7,0x64,0xa2,0x60,0x65,0xa2,0x88,0x67,4,0x65,0x62,0x6c,0x7a,0x6f,
-+0x8e,0x72,0x9a,0x75,1,0x6a,0x38,0x72,1,0x6d,0x24,0x75,0x41,0x13,0x75,0x6b,
-+0x68,0x69,0x41,1,0x61,0x24,0x72,0x3f,0x13,0x72,0x61,0x74,0x69,0x3f,0x10,0x6f,
-+1,0x6b,0xa3,0x48,0x72,0x38,0x13,0x67,0x69,0x61,0x6e,0x39,0x11,0x61,0x67,0x90,
-+0x15,0x6f,0x6c,0x69,0x74,0x69,0x63,0x91,0x11,0x74,0x68,0x3a,0x11,0x69,0x63,0x3b,
-+1,0x61,0x32,0x65,1,0x65,0x24,0x6b,0x3d,0x10,0x6b,0x3d,0x10,0x6e,0xa2,0x89,
-+0x12,0x74,0x68,0x61,0xa3,0x89,2,0x65,0x3e,0x73,0x64,0x75,0x11,0x70,0x6c,0xa2,
-+0x87,0x13,0x6f,0x79,0x61,0x6e,0xa3,0x87,1,0x73,0x38,0x76,0x10,0x61,0x34,0x15,
-+0x6e,0x61,0x67,0x61,0x72,0x69,0x35,0x13,0x65,0x72,0x65,0x74,0x33,0x11,0x72,0x74,
-+0x33,2,0x67,0x3a,0x6c,0x72,0x74,0x11,0x68,0x69,0x36,0x13,0x6f,0x70,0x69,0x63,
-+0x37,0x10,0x79,2,0x64,0xa3,0x45,0x68,0xa3,0x46,0x70,0xa2,0x47,0x1e,0x74,0x69,
-+0x61,0x6e,0x68,0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0x47,0x11,
-+0x62,0x61,0xa2,0x88,0x12,0x73,0x61,0x6e,0xa3,0x88,0x61,0xa2,0xa2,0x62,0xa2,0xf9,
-+0x63,6,0x6f,0x3d,0x6f,0x5a,0x70,0x76,0x75,0x7a,0x79,1,0x70,0x3e,0x72,2,
-+0x69,0x2a,0x6c,0x31,0x73,0xa3,0x44,0x13,0x6c,0x6c,0x69,0x63,0x31,0x13,0x72,0x69,
-+0x6f,0x74,0x7f,1,0x6d,0x30,0x70,0x10,0x74,0x2e,0x11,0x69,0x63,0x2f,0x12,0x6d,
-+0x6f,0x6e,0x21,0x11,0x72,0x74,0x7f,0x16,0x6e,0x65,0x69,0x66,0x6f,0x72,0x6d,0xa3,
-+0x65,0x61,0x32,0x68,0xa2,0x41,0x69,0x11,0x72,0x74,0xa3,0x43,3,0x6b,0x4c,0x6e,
-+0x50,0x72,0x76,0x75,0x1d,0x63,0x61,0x73,0x69,0x61,0x6e,0x61,0x6c,0x62,0x61,0x6e,
-+0x69,0x61,0x6e,0xa3,0x9f,0x10,0x6d,0xa3,0x76,1,0x61,0x24,0x73,0x71,0x1d,0x64,
-+0x69,0x61,0x6e,0x61,0x62,0x6f,0x72,0x69,0x67,0x69,0x6e,0x61,0x6c,0x71,0x10,0x69,
-+0xa2,0x68,0x11,0x61,0x6e,0xa3,0x68,1,0x61,0x34,0x65,0x10,0x72,0x2c,0x13,0x6f,
-+0x6b,0x65,0x65,0x2d,1,0x6b,0x26,0x6d,0xa3,0x42,0x11,0x6d,0x61,0xa3,0x76,5,
-+0x6e,0x43,0x6e,0x44,0x72,0x6c,0x76,1,0x65,0x2a,0x73,0x10,0x74,0xa3,0x75,0x13,
-+0x73,0x74,0x61,0x6e,0xa3,0x75,0x11,0x61,0x74,0x1f,0x6f,0x6c,0x69,0x61,0x6e,0x68,
-+0x69,0x65,0x72,0x6f,0x67,0x6c,0x79,0x70,0x68,0x73,0xa3,0x9c,1,0x61,0x3e,0x6d,
-+2,0x65,0x2a,0x69,0xa3,0x74,0x6e,0x27,0x13,0x6e,0x69,0x61,0x6e,0x27,0x10,0x62,
-+0x24,0x11,0x69,0x63,0x25,0x66,0x30,0x67,0x36,0x68,0x11,0x6f,0x6d,0xa3,0xa1,0x11,
-+0x61,0x6b,0xa3,0x93,0x11,0x68,0x62,0xa3,0x9f,5,0x6f,0x36,0x6f,0x4e,0x72,0x5e,
-+0x75,1,0x67,0x30,0x68,1,0x64,0x79,0x69,0x10,0x64,0x79,0x10,0x69,0x8e,0x13,
-+0x6e,0x65,0x73,0x65,0x8f,0x11,0x70,0x6f,0x2a,0x13,0x6d,0x6f,0x66,0x6f,0x2b,0x10,
-+0x61,1,0x68,0x2e,0x69,0x7c,0x12,0x6c,0x6c,0x65,0x7d,0xa2,0x41,0x11,0x6d,0x69,
-+0xa3,0x41,0x61,0x2e,0x65,0x82,0x6c,0x11,0x69,0x73,0xa1,3,0x6c,0x3a,0x6d,0x48,
-+0x73,0x54,0x74,1,0x61,0x24,0x6b,0x9f,0x10,0x6b,0x9f,0x10,0x69,0x9c,0x13,0x6e,
-+0x65,0x73,0x65,0x9d,0x10,0x75,0xa2,0x82,0x10,0x6d,0xa3,0x82,0x10,0x73,0xa2,0x86,
-+0x13,0x61,0x76,0x61,0x68,0xa3,0x86,0x11,0x6e,0x67,0x28,0x12,0x61,0x6c,0x69,0x29,
-+3,0x6c,0x42,0x6e,0x90,0x74,0xa2,0x46,0x76,0x24,0x17,0x6f,0x77,0x65,0x6c,0x6a,
-+0x61,0x6d,0x6f,0x25,0x22,1,0x65,0x54,0x76,0x28,1,0x73,0x38,0x74,0x2a,0x17,
-+0x73,0x79,0x6c,0x6c,0x61,0x62,0x6c,0x65,0x2b,0x16,0x79,0x6c,0x6c,0x61,0x62,0x6c,
-+0x65,0x29,0x18,0x61,0x64,0x69,0x6e,0x67,0x6a,0x61,0x6d,0x6f,0x23,1,0x61,0x21,
-+0x6f,0x1a,0x74,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x62,0x6c,0x65,0x21,0x26,0x1a,
-+0x72,0x61,0x69,0x6c,0x69,0x6e,0x67,0x6a,0x61,0x6d,0x6f,0x27,1,0x6e,0x2c,0x79,
-+0x22,0x11,0x65,0x73,0x23,0x20,0x10,0x6f,0x21,1,0x6e,0x2c,0x79,0x22,0x11,0x65,
-+0x73,0x23,0x20,0x10,0x6f,0x21,2,0x6d,0x30,0x6e,0x3a,0x79,0x22,0x11,0x65,0x73,
-+0x23,0x24,0x13,0x61,0x79,0x62,0x65,0x25,0x20,0x10,0x6f,0x21,2,0x6d,0x30,0x6e,
-+0x3a,0x79,0x22,0x11,0x65,0x73,0x23,0x24,0x13,0x61,0x79,0x62,0x65,0x25,0x20,0x10,
-+0x6f,0x21,9,0x72,0x31,0x72,0x34,0x73,0x5c,0x74,0x31,0x76,0x33,0x78,0x10,0x78,
-+0x21,1,0x65,0x24,0x69,0x39,0x1e,0x67,0x69,0x6f,0x6e,0x61,0x6c,0x69,0x6e,0x64,
-+0x69,0x63,0x61,0x74,0x6f,0x72,0x39,1,0x6d,0x35,0x70,0x18,0x61,0x63,0x69,0x6e,
-+0x67,0x6d,0x61,0x72,0x6b,0x35,0x63,0x44,0x65,0x5c,0x6c,0x6a,0x6f,0x78,0x70,1,
-+0x70,0x37,0x72,0x14,0x65,0x70,0x65,0x6e,0x64,0x37,2,0x6e,0x23,0x6f,0x24,0x72,
-+0x25,0x14,0x6e,0x74,0x72,0x6f,0x6c,0x23,0x10,0x78,0x26,0x13,0x74,0x65,0x6e,0x64,
-+0x27,0x28,1,0x66,0x2b,0x76,0x2c,0x10,0x74,0x2f,0x13,0x74,0x68,0x65,0x72,0x21,
-+9,0x6e,0x4a,0x6e,0x34,0x6f,0x44,0x73,0x60,0x75,0x94,0x78,0x10,0x78,0x21,0x10,
-+0x75,0x2a,0x14,0x6d,0x65,0x72,0x69,0x63,0x2b,1,0x6c,0x2c,0x74,0x12,0x68,0x65,
-+0x72,0x21,0x14,0x65,0x74,0x74,0x65,0x72,0x2d,3,0x63,0x36,0x65,0x46,0x70,0x31,
-+0x74,0x32,0x12,0x65,0x72,0x6d,0x33,0x3c,0x16,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,
-+0x3d,0x2e,0x10,0x70,0x2f,0x10,0x70,0x34,0x12,0x70,0x65,0x72,0x35,0x61,0x46,0x63,
-+0x52,0x65,0x64,0x66,0x72,0x6c,2,0x65,0x2d,0x66,0x3b,0x6f,0x28,0x12,0x77,0x65,
-+0x72,0x29,0x10,0x74,0x22,0x12,0x65,0x72,0x6d,0x23,1,0x6c,0x24,0x72,0x37,0x24,
-+0x12,0x6f,0x73,0x65,0x25,0x10,0x78,0x38,0x13,0x74,0x65,0x6e,0x64,0x39,0x10,0x6f,
-+0x26,0x13,0x72,0x6d,0x61,0x74,0x27,0xd,0x6c,0x76,0x6f,0x36,0x6f,0x30,0x72,0x38,
-+0x73,0x60,0x78,0x10,0x78,0x21,0x13,0x74,0x68,0x65,0x72,0x21,1,0x65,0x24,0x69,
-+0x3b,0x1e,0x67,0x69,0x6f,0x6e,0x61,0x6c,0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,
-+0x72,0x3b,1,0x69,0x24,0x71,0x3f,0x18,0x6e,0x67,0x6c,0x65,0x71,0x75,0x6f,0x74,
-+0x65,0x3f,0x6c,0x50,0x6d,0x56,0x6e,2,0x65,0x36,0x6c,0x39,0x75,0x2c,0x14,0x6d,
-+0x65,0x72,0x69,0x63,0x2d,0x14,0x77,0x6c,0x69,0x6e,0x65,0x39,1,0x65,0x23,0x66,
-+0x35,3,0x62,0x37,0x69,0x28,0x6c,0x29,0x6e,0x2b,0x10,0x64,1,0x6c,0x34,0x6e,
-+0x11,0x75,0x6d,0x2a,0x12,0x6c,0x65,0x74,0x37,0x14,0x65,0x74,0x74,0x65,0x72,0x29,
-+0x65,0x3d,0x65,0x40,0x66,0x5e,0x68,0x6c,0x6b,0x10,0x61,0x26,0x15,0x74,0x61,0x6b,
-+0x61,0x6e,0x61,0x27,0x10,0x78,0x2e,0x13,0x74,0x65,0x6e,0x64,0x32,0x15,0x6e,0x75,
-+0x6d,0x6c,0x65,0x74,0x2f,0x10,0x6f,0x24,0x13,0x72,0x6d,0x61,0x74,0x25,1,0x65,
-+0x24,0x6c,0x3d,0x19,0x62,0x72,0x65,0x77,0x6c,0x65,0x74,0x74,0x65,0x72,0x3d,0x61,
-+0x46,0x63,0x52,0x64,1,0x6f,0x24,0x71,0x41,0x18,0x75,0x62,0x6c,0x65,0x71,0x75,
-+0x6f,0x74,0x65,0x41,0x15,0x6c,0x65,0x74,0x74,0x65,0x72,0x23,0x10,0x72,0x31,2,
-+0x63,0x32,0x6e,0x3c,0x6f,0x22,0x12,0x70,0x65,0x6e,0x23,0x24,0x13,0x6c,0x6f,0x73,
-+0x65,0x25,0x20,0x12,0x6f,0x6e,0x65,0x21,0xd,0x6e,0xc1,0x86,0x73,0xa8,0x73,0x4c,
-+0x74,0xa2,0x76,0x75,0xa2,0x83,0x7a,0xd8,0x70,0,2,0x6c,0xd9,0x20,0,0x70,
-+0xd9,0x40,0,0x73,0xc3,0,0xfe,0xf,0,0,0,7,0x6f,0x3c,0x6f,0xff,
-+8,0,0,0,0x70,0x3a,0x75,0x6e,0x79,0x13,0x6d,0x62,0x6f,0x6c,0xff,0xf,
-+0,0,0,0x11,0x61,0x63,1,0x65,0x34,0x69,0x15,0x6e,0x67,0x6d,0x61,0x72,
-+0x6b,0xa5,0,0x18,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0xc3,0,0x16,
-+0x72,0x72,0x6f,0x67,0x61,0x74,0x65,0xe1,0,0,0x63,0xff,2,0,0,0,
-+0x65,0x38,0x6b,0xff,4,0,0,0,0x6d,0xff,1,0,0,0,0x16,0x70,
-+0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,0x70,0,0x1d,0x69,0x74,0x6c,0x65,0x63,0x61,
-+0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x31,1,0x6e,0x40,0x70,0x1c,0x70,0x65,
-+0x72,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,0x65,0x72,0x25,0x17,0x61,0x73,0x73,
-+0x69,0x67,0x6e,0x65,0x64,0x23,0x6e,0xa2,0x69,0x6f,0xa2,0x89,0x70,0xfe,0x30,0xf8,
-+0,0,9,0x69,0x33,0x69,0xff,0x10,0,0,0,0x6f,0xfd,0x80,0,0,
-+0x72,0x54,0x73,0xf9,0,0,0x75,0x12,0x6e,0x63,0x74,0xfe,0x30,0xf8,0,0,
-+0x15,0x75,0x61,0x74,0x69,0x6f,0x6e,0xff,0x30,0xf8,0,0,0x17,0x69,0x76,0x61,
-+0x74,0x65,0x75,0x73,0x65,0xdd,0,0,0x61,0x48,0x63,0xfd,0x40,0,0,0x64,
-+0xe9,0,0,0x65,0xfd,0x20,0,0,0x66,0xff,0x20,0,0,0,0x1f,0x72,
-+0x61,0x67,0x72,0x61,0x70,0x68,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,
-+0x40,0,0xbe,0,3,0x64,0xa7,0,0x6c,0xab,0,0x6f,0x30,0x75,0x13,0x6d,
-+0x62,0x65,0x72,0xbf,0,0xb2,0,0x1b,0x6e,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,
-+0x6d,0x61,0x72,0x6b,0xa1,1,0x70,0x92,0x74,0x12,0x68,0x65,0x72,0xe6,0x80,1,
-+3,0x6c,0x40,0x6e,0x4a,0x70,0x56,0x73,0x14,0x79,0x6d,0x62,0x6f,0x6c,0xff,8,
-+0,0,0,0x14,0x65,0x74,0x74,0x65,0x72,0x61,0x14,0x75,0x6d,0x62,0x65,0x72,
-+0xb3,0,0x19,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xfd,0x80,0,
-+0,0x1c,0x65,0x6e,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xf9,
-+0,0,0x66,0xc0,0xc4,0x66,0xa2,0x47,0x69,0xa2,0x64,0x6c,0xa2,0x79,0x6d,0xa4,
-+0xc0,4,0x61,0x6c,0x63,0xa5,0,0x65,0xa3,0x80,0x6e,0xa1,0x6f,0x15,0x64,0x69,
-+0x66,0x69,0x65,0x72,1,0x6c,0x38,0x73,0x14,0x79,0x6d,0x62,0x6f,0x6c,0xff,4,
-+0,0,0,0x14,0x65,0x74,0x74,0x65,0x72,0x41,1,0x72,0x3c,0x74,0x16,0x68,
-+0x73,0x79,0x6d,0x62,0x6f,0x6c,0xff,1,0,0,0,0x10,0x6b,0xa5,0xc0,1,
-+0x69,0x32,0x6f,0x13,0x72,0x6d,0x61,0x74,0xdb,0,0,0x1d,0x6e,0x61,0x6c,0x70,
-+0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xff,0x20,0,0,0,0x10,
-+0x6e,0x1f,0x69,0x74,0x69,0x61,0x6c,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,
-+0x6f,0x6e,0xff,0x10,0,0,0,0x9c,7,0x6d,0x18,0x6d,0x41,0x6f,0x28,0x74,
-+0x31,0x75,0x25,0x60,0x1c,0x77,0x65,0x72,0x63,0x61,0x73,0x65,0x6c,0x65,0x74,0x74,
-+0x65,0x72,0x29,0x63,0x3d,0x65,0x28,0x69,0x42,0x6c,0x29,0x13,0x74,0x74,0x65,0x72,
-+0x9c,0x15,0x6e,0x75,0x6d,0x62,0x65,0x72,0xab,0,0x1a,0x6e,0x65,0x73,0x65,0x70,
-+0x61,0x72,0x61,0x74,0x6f,0x72,0xd9,0x20,0,0x63,0x46,0x64,0xa2,0x96,0x65,0x1b,
-+0x6e,0x63,0x6c,0x6f,0x73,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0xa3,0x80,0xe6,0x80,
-+1,7,0x6e,0x57,0x6e,0x52,0x6f,0x5e,0x73,0xe1,0,0,0x75,0x1b,0x72,0x72,
-+0x65,0x6e,0x63,0x79,0x73,0x79,0x6d,0x62,0x6f,0x6c,0xff,2,0,0,0,0x22,
-+0x12,0x74,0x72,0x6c,0xd9,0x80,0,0xdc,0,0,1,0x6d,0x62,0x6e,1,0x6e,
-+0x30,0x74,0x12,0x72,0x6f,0x6c,0xd9,0x80,0,0x1f,0x65,0x63,0x74,0x6f,0x72,0x70,
-+0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xfd,0x40,0,0,0x19,0x62,
-+0x69,0x6e,0x69,0x6e,0x67,0x6d,0x61,0x72,0x6b,0xa5,0xc0,0x61,0x58,0x63,0xd9,0x80,
-+0,0x66,0xdb,0,0,0x6c,0x1d,0x6f,0x73,0x65,0x70,0x75,0x6e,0x63,0x74,0x75,
-+0x61,0x74,0x69,0x6f,0x6e,0xfd,0x20,0,0,0x18,0x73,0x65,0x64,0x6c,0x65,0x74,
-+0x74,0x65,0x72,0x3d,2,0x61,0x32,0x65,0x50,0x69,0x12,0x67,0x69,0x74,0xa7,0,
-+0x1c,0x73,0x68,0x70,0x75,0x6e,0x63,0x74,0x75,0x61,0x74,0x69,0x6f,0x6e,0xe9,0,
-+0,0x1a,0x63,0x69,0x6d,0x61,0x6c,0x6e,0x75,0x6d,0x62,0x65,0x72,0xa7,0
- };
- 
--const char PropNameData::nameGroups[17773]={
-+const char PropNameData::nameGroups[17897]={
- 2,'A','l','p','h','a',0,'A','l','p','h','a','b','e','t','i','c',0,
- 4,'N',0,'N','o',0,'F',0,'F','a','l','s','e',0,4,'Y',0,'Y','e','s',0,'T',0,'T','r','u','e',0,
- 2,'N','R',0,'N','o','t','_','R','e','o','r','d','e','r','e','d',0,
-@@ -972,8 +974,12 @@ const char PropNameData::nameGroups[17773]={
- 2,'C','W','C','F',0,'C','h','a','n','g','e','s','_','W','h','e','n','_','C','a','s','e','f','o','l','d','e','d',0,
- 2,'C','W','C','M',0,'C','h','a','n','g','e','s','_','W','h','e','n','_','C','a','s','e','m','a','p','p','e','d',0,
- 2,'C','W','K','C','F',0,'C','h','a','n','g','e','s','_','W','h','e','n','_','N','F','K','C','_','C','a','s','e','f','o','l',
--'d','e','d',0,2,'b','c',0,'B','i','d','i','_','C','l','a','s','s',0,
--2,'L',0,'L','e','f','t','_','T','o','_','R','i','g','h','t',0,
-+'d','e','d',0,2,'E','m','o','j','i',0,'E','m','o','j','i',0,
-+2,'E','m','o','j','i','_','P','r','e','s','e','n','t','a','t','i','o','n',0,'E','m','o','j','i','_','P','r','e','s','e','n',
-+'t','a','t','i','o','n',0,2,'E','m','o','j','i','_','M','o','d','i','f','i','e','r',0,'E','m','o','j','i','_','M','o','d',
-+'i','f','i','e','r',0,2,'E','m','o','j','i','_','M','o','d','i','f','i','e','r','_','B','a','s','e',0,
-+'E','m','o','j','i','_','M','o','d','i','f','i','e','r','_','B','a','s','e',0,
-+2,'b','c',0,'B','i','d','i','_','C','l','a','s','s',0,2,'L',0,'L','e','f','t','_','T','o','_','R','i','g','h','t',0,
- 2,'R',0,'R','i','g','h','t','_','T','o','_','L','e','f','t',0,
- 2,'E','N',0,'E','u','r','o','p','e','a','n','_','N','u','m','b','e','r',0,
- 2,'E','S',0,'E','u','r','o','p','e','a','n','_','S','e','p','a','r','a','t','o','r',0,
-diff --git a/source/common/ubidi_props_data.h b/source/common/ubidi_props_data.h
-index c18d692..3699708 100644
---- a/source/common/ubidi_props_data.h
-+++ b/source/common/ubidi_props_data.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 1999-2015, International Business Machines
-+ * Copyright (C) 1999-2016, International Business Machines
-  * Corporation and others.  All Rights Reserved.
-  *
-  * file name: ubidi_props_data.h
-diff --git a/source/common/ucase_props_data.h b/source/common/ucase_props_data.h
-index c7f6550..edfbda0 100644
---- a/source/common/ucase_props_data.h
-+++ b/source/common/ucase_props_data.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 1999-2015, International Business Machines
-+ * Copyright (C) 1999-2016, International Business Machines
-  * Corporation and others.  All Rights Reserved.
-  *
-  * file name: ucase_props_data.h
-diff --git a/source/common/uchar_props_data.h b/source/common/uchar_props_data.h
-index 7ec3ca6..40e0af2 100644
---- a/source/common/uchar_props_data.h
-+++ b/source/common/uchar_props_data.h
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (C) 1999-2015, International Business Machines
-+ * Copyright (C) 1999-2016, International Business Machines
-  * Corporation and others.  All Rights Reserved.
-  *
-  * file name: uchar_props_data.h
-@@ -1270,137 +1270,137 @@ static const UTrie2 propsTrie={
-     NULL, 0, FALSE, FALSE, 0, NULL
- };
- 
--static const uint16_t propsVectorsTrie_index[27272]={
-+static const uint16_t propsVectorsTrie_index[27452]={
- 0x488,0x490,0x498,0x4a0,0x4b8,0x4c0,0x4c8,0x4d0,0x4d8,0x4e0,0x4e8,0x4f0,0x4f8,0x500,0x508,0x510,
- 0x517,0x51f,0x527,0x52f,0x532,0x53a,0x542,0x54a,0x552,0x55a,0x562,0x56a,0x572,0x57a,0x582,0x58a,
- 0x592,0x59a,0x5a1,0x5a9,0x5b1,0x5b9,0x5c1,0x5c9,0x5d1,0x5d9,0x5de,0x5e6,0x5ed,0x5f5,0x5fd,0x605,
- 0x60d,0x615,0x61d,0x625,0x62c,0x634,0x63c,0x644,0x64c,0x654,0x65c,0x664,0x66c,0x674,0x67c,0x684,
--0x17f7,0xce8,0xdd0,0x4a8,0x4a8,0xe4f,0xe55,0xe5d,0x10f0,0x1108,0x10f8,0x1100,0x71c,0x722,0x72a,0x732,
-+0x180c,0xce8,0xdd3,0x4a8,0x4a8,0xe52,0xe58,0xe60,0x10fc,0x1114,0x1104,0x110c,0x71c,0x722,0x72a,0x732,
- 0x73a,0x740,0x748,0x750,0x758,0x75e,0x766,0x76e,0x776,0x77c,0x784,0x78c,0x794,0x79c,0x7a4,0x7ab,
- 0x7b3,0x7b9,0x7c1,0x7c9,0x7d1,0x7d7,0x7df,0x7e7,0x7ef,0x7f5,0x7fd,0x805,0x80d,0x814,0x81c,0x824,
--0x82c,0x830,0x838,0x83f,0x847,0x84f,0x857,0x85f,0x140a,0x1412,0x867,0x86f,0x877,0x87f,0x887,0x88e,
--0x1470,0x1460,0x1468,0x173a,0x1742,0x1118,0x896,0x1110,0x1357,0x1357,0x1359,0x112c,0x112d,0x1120,0x1122,0x1124,
--0x1478,0x147a,0x89e,0x147a,0x8a6,0x8ab,0x8b3,0x147f,0x8b9,0x147a,0x8bf,0x8c7,0xbc1,0x1487,0x1487,0x8cf,
--0x1497,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,0x1498,
--0x1498,0x1498,0x1498,0x148f,0x8d7,0x14a0,0x14a0,0x8df,0xad6,0xade,0xae6,0xaee,0x14b0,0x14a8,0x8e7,0x8ef,
--0x8f7,0x14b8,0x14c0,0x8ff,0x14b8,0x907,0x17ff,0xcf0,0xaf6,0xafe,0xb06,0xb0b,0x16b0,0xbf4,0xbfb,0x1618,
--0xb91,0x1807,0xcf8,0xd00,0xd08,0xd10,0xf0d,0xf0d,0x1700,0x1705,0xc2c,0xc34,0x1776,0x177e,0x18a0,0xdd8,
--0x1786,0xc7c,0xc84,0x178e,0x4a8,0x4a8,0xeed,0xd18,0x1638,0x1620,0x1630,0x1628,0x16c8,0x16c0,0x1688,0xba1,
--0x1135,0x1135,0x1135,0x1135,0x1138,0x1135,0x1135,0x1140,0x90f,0x1148,0x913,0x91b,0x1148,0x923,0x92b,0x933,
--0x1158,0x1150,0x1160,0x93b,0x943,0x94b,0x953,0x95b,0x1168,0x1170,0x1178,0x1180,0x963,0x1188,0x118f,0x1197,
--0x119f,0x11a7,0x11af,0x11b7,0x11bf,0x11c6,0x11ce,0x11d6,0x11de,0x11e6,0x11e9,0x11eb,0x14c8,0x15ae,0x15b4,0x96b,
--0x11f3,0x973,0x97b,0x130c,0x1311,0x1314,0x131a,0x11fb,0x1322,0x1322,0x120b,0x1203,0x1213,0x121b,0x1223,0x122b,
--0x1233,0x123b,0x1243,0x124b,0x15bc,0x1610,0x174a,0x1888,0x125b,0x1261,0x1269,0x1271,0x1253,0x1279,0x15c4,0x15cb,
--0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x15d3,0x15d3,0x15d3,0x15d3,0x15db,0x15e2,0x15e4,0x15eb,
--0x15f3,0x15f7,0x15f7,0x15fa,0x15f7,0x15f7,0x1600,0x15f7,0x1640,0x16f8,0x1752,0xb13,0xb19,0xb1f,0xb27,0xb2c,
--0x16a0,0xbd1,0xbd5,0x170d,0x1690,0x1690,0x1690,0xba9,0x1698,0xbc9,0x16e0,0xc1c,0xbb1,0xbb9,0xbb9,0x1796,
--0x16d0,0x175a,0xc0b,0xc0c,0x983,0x14d8,0x14d8,0x98b,0x14e0,0x14e0,0x14e0,0x14e0,0x14e0,0x14e0,0x993,0x68c,
--0x133f,0x1361,0x99b,0x1369,0x9a3,0x1371,0x1379,0x1381,0x9ab,0x9b0,0x1389,0x1390,0x9b5,0x9bd,0x16f0,0xb99,
--0x9c5,0x13e7,0x13ee,0x1398,0x13f6,0x13fa,0x13a0,0x9cd,0x13b9,0x13b9,0x13bb,0x13a8,0x13b0,0x13b0,0x13b1,0x1402,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
--0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x10a7,0x1648,0x1648,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,
--0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13c3,0x13ca,0x10af,0x10b5,
--0x14f0,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,
--0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,0x14f6,
--0x14f6,0x14f6,0x14f6,0x14f6,0x9d5,0x14fe,0x9dd,0x180f,0x17a2,0x17a2,0x17a2,0x17a2,0x17a2,0x17a2,0x17a2,0x17a2,
--0x179e,0xc8c,0x17b2,0x17aa,0x17b4,0x1817,0x1817,0xd20,0x16a8,0x1715,0x176a,0x176e,0x1762,0xc3c,0xc42,0xc45,
--0x16d8,0xc14,0x171d,0xc4d,0x17bc,0x17bf,0xc94,0xd28,0x17cf,0x17c7,0xc9c,0xd30,0x181f,0x1823,0xd38,0xfb3,
--0x17d7,0xca4,0xcac,0x182b,0x183b,0x1833,0xd40,0xeb0,0xde0,0xde8,0x19bc,0xf6b,0x1a61,0x1a61,0x1843,0xd48,
--0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,
--0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,
--0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,
--0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,
--0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,
--0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,
--0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,
--0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,
--0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,
--0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,
--0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,
--0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,
--0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,
--0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,
--0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,
--0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,
--0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,
--0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,
--0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,
--0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,
--0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,
--0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x1458,0x1452,0x1453,0x1454,0x1455,0x1456,0x1457,0x9e5,0xd50,0xd53,
-+0x82c,0x830,0x838,0x83f,0x847,0x84f,0x857,0x85f,0x141c,0x1424,0x867,0x86f,0x877,0x87f,0x887,0x88e,
-+0x1482,0x1472,0x147a,0x174f,0x1757,0x1124,0x896,0x111c,0x1366,0x1366,0x1368,0x1138,0x1139,0x112c,0x112e,0x1130,
-+0x148a,0x148c,0x89e,0x148c,0x8a6,0x8ab,0x8b3,0x1491,0x8b9,0x148c,0x8bf,0x8c7,0xbc1,0x1499,0x1499,0x8cf,
-+0x14a9,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,0x14aa,
-+0x14aa,0x14aa,0x14aa,0x14a1,0x8d7,0x14b2,0x14b2,0x8df,0xad6,0xade,0xae6,0xaee,0x14c2,0x14ba,0x8e7,0x8ef,
-+0x8f7,0x14ca,0x14d2,0x8ff,0x14ca,0x907,0x1814,0xcf0,0xaf6,0xafe,0xb06,0xb0b,0x16c5,0xbf4,0xbfb,0x162d,
-+0xb91,0x181c,0xcf8,0xd00,0xd08,0xd10,0xf10,0xf10,0x1715,0x171a,0xc2c,0xc34,0x178b,0x1793,0x18b5,0xddb,
-+0x179b,0xc7c,0xc84,0x17a3,0x4a8,0x4a8,0xef0,0xd18,0x164d,0x1635,0x1645,0x163d,0x16dd,0x16d5,0x169d,0xba1,
-+0x1141,0x1141,0x1141,0x1141,0x1144,0x1141,0x1141,0x114c,0x90f,0x1154,0x913,0x91b,0x1154,0x923,0x92b,0x933,
-+0x1164,0x115c,0x116c,0x93b,0x943,0x94b,0x953,0x95b,0x1174,0x117c,0x1184,0x118c,0x963,0x1194,0x119b,0x11a3,
-+0x11ab,0x11b3,0x11bb,0x11c3,0x11cb,0x11d2,0x11da,0x11e2,0x11ea,0x11f2,0x11f5,0x11f7,0x14da,0x15c0,0x15c6,0x96b,
-+0x11ff,0x973,0x97b,0x1319,0x131e,0x1321,0x1329,0x1207,0x1331,0x1331,0x1217,0x120f,0x121f,0x1227,0x122f,0x1237,
-+0x123f,0x1247,0x124f,0x1257,0x15ce,0x1625,0x175f,0x189d,0x1267,0x126e,0x1276,0x127e,0x125f,0x1286,0x15d6,0x15dd,
-+0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x15e5,0x15e8,0x15e5,0x15e5,0x15f0,0x15f7,0x15f9,0x1600,
-+0x1608,0x160c,0x160c,0x160f,0x160c,0x160c,0x1615,0x160c,0x1655,0x170d,0x1767,0xb13,0xb19,0xb1f,0xb27,0xb2c,
-+0x16b5,0xbd1,0xbd5,0x1722,0x16a5,0x16a5,0x16a5,0xba9,0x16ad,0xbc9,0x16f5,0xc1c,0xbb1,0xbb9,0xbb9,0x17ab,
-+0x16e5,0x176f,0xc0b,0xc0c,0x983,0x14ea,0x14ea,0x98b,0x14f2,0x14f2,0x14f2,0x14f2,0x14f2,0x14f2,0x993,0x68c,
-+0x134e,0x1370,0x99b,0x1378,0x9a3,0x1380,0x1388,0x1390,0x9ab,0x9b0,0x1398,0x139f,0x9b5,0x9bd,0x1705,0xb99,
-+0x9c5,0x13f6,0x13fd,0x13a7,0x1405,0x140c,0x13af,0x9cd,0x13c8,0x13c8,0x13ca,0x13b7,0x13bf,0x13bf,0x13c0,0x1414,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
-+0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x10b3,0x165d,0x165d,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
-+0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d9,0x10bb,0x10c1,
-+0x1502,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,
-+0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,0x1508,
-+0x1508,0x1508,0x1508,0x1508,0x9d5,0x1510,0x9dd,0x1824,0x17b7,0x17b7,0x17b7,0x17b7,0x17b7,0x17b7,0x17b7,0x17b7,
-+0x17b3,0xc8c,0x17c7,0x17bf,0x17c9,0x182c,0x182c,0xd20,0x16bd,0x172a,0x177f,0x1783,0x1777,0xc3c,0xc42,0xc45,
-+0x16ed,0xc14,0x1732,0xc4d,0x17d1,0x17d4,0xc94,0xd28,0x17e4,0x17dc,0xc9c,0xd30,0x1834,0x1838,0xd38,0xfb6,
-+0x17ec,0xca4,0xcac,0x1840,0x1850,0x1848,0xd40,0xeb3,0xde3,0xdeb,0x19e9,0xf6e,0x1a8e,0x1a8e,0x1858,0xd48,
-+0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,
-+0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,
-+0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,
-+0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,
-+0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,
-+0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,
-+0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,
-+0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,
-+0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,
-+0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,
-+0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,
-+0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,
-+0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,
-+0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,
-+0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,
-+0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,
-+0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,
-+0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,
-+0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,
-+0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,
-+0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,
-+0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x146a,0x1464,0x1465,0x1466,0x1467,0x1468,0x1469,0x9e5,0xd50,0xd53,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,
--0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,0x142a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,
--0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x132a,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,0x13d2,
--0x13d7,0x13df,0x1608,0x10bd,0x16e8,0x16e8,0x10c1,0x10c8,0x9ed,0x9f5,0x9fd,0x1299,0x12a0,0x12a8,0xa05,0x12b0,
--0x12e1,0x12e1,0x1289,0x1291,0x12b8,0x12d8,0x12d9,0x12e9,0x12c0,0x1281,0xa0d,0x12c8,0xa15,0x12d0,0xa1d,0xa21,
--0xc24,0x12f1,0xa29,0xa31,0x12f9,0x12ff,0x1304,0xa39,0xa49,0x1347,0x134f,0x1332,0x1337,0xa51,0xa59,0xa41,
--0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,
--0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x141a,0x1422,0x1422,0x1422,0x1422,
-+0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,
-+0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,0x143c,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,
-+0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x1339,0x13e1,0x13e1,0x13e1,0x13e1,0x13e1,0x13e1,0x13e1,0x13e1,
-+0x13e6,0x13ee,0x161d,0x10c9,0x16fd,0x16fd,0x10cd,0x10d4,0x9ed,0x9f5,0x9fd,0x12a6,0x12ad,0x12b5,0xa05,0x12bd,
-+0x12ee,0x12ee,0x1296,0x129e,0x12c5,0x12e5,0x12e6,0x12f6,0x12cd,0x128e,0xa0d,0x12d5,0xa15,0x12dd,0xa1d,0xa21,
-+0xc24,0x12fe,0xa29,0xa31,0x1306,0x130c,0x1311,0xa39,0xa49,0x1356,0x135e,0x1341,0x1346,0xa51,0xa59,0xa41,
-+0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,
-+0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x142c,0x1434,0x1434,0x1434,0x1434,
- 0x12a0,0x12a0,0x12e0,0x1320,0x1360,0x13a0,0x13e0,0x1420,0x145c,0x149c,0x14c8,0x1508,0x1548,0x1588,0x15c8,0x1608,
- 0x1648,0x1684,0x16c4,0x1704,0x1744,0x1778,0x17b4,0x17f4,0x1834,0x1874,0x18b0,0x18f0,0x1930,0x1970,0x19b0,0x19f0,
- 0xa80,0xac0,0xb00,0xe48,0xb40,0xa40,0xb80,0xa40,0xe68,0xa40,0xa40,0xa40,0xa40,0xbc0,0xa40,0xa40,
-@@ -1439,361 +1439,361 @@ static const uint16_t propsVectorsTrie_index[27272]={
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0xb34,0xb3b,0xb43,0xb4b,0x1650,0x1650,0x1650,0xb53,0xb5b,0xb5e,0x1680,0x1678,0xb89,0xcb4,0xcb8,0xcbc,
--0x4a8,0x4a8,0x4a8,0x4a8,0xcc4,0x17df,0xccc,0xf05,0x1506,0xa61,0xa67,0xfc3,0xb66,0x16b8,0xc03,0x4a8,
--0x151b,0x150e,0x1513,0x1658,0xb6e,0x694,0x4a8,0x4a8,0x19a4,0xf22,0x1994,0x69c,0x4a8,0x4a8,0x4a8,0x4a8,
--0x19c4,0x19c4,0x19c4,0x19c4,0x19c4,0x19c4,0x19c4,0x19c4,0x19c4,0xf73,0xf7b,0xf83,0x4a8,0x4a8,0x4a8,0x4a8,
--0xb76,0xb79,0xd5b,0x1a0c,0xfbb,0x6a4,0x4a8,0x1054,0xc55,0xcd4,0x4a8,0x4a8,0x1961,0xeb8,0xec0,0x1a4c,
--0xbdd,0xbe4,0xbec,0x184b,0x19ec,0x4a8,0x19cc,0xf93,0x1853,0xd63,0xd6b,0xd73,0xfe3,0x6ac,0x4a8,0x4a8,
--0x185b,0x185b,0x6b4,0x4a8,0x1a79,0x106c,0x1a71,0x1074,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0xb34,0xb3b,0xb43,0xb4b,0x1665,0x1665,0x1665,0xb53,0xb5b,0xb5e,0x1695,0x168d,0xb89,0xcb4,0xcb8,0xcbc,
-+0x4a8,0x4a8,0x4a8,0x4a8,0xcc4,0x17f4,0xccc,0xf08,0x1518,0xa61,0xa67,0xfc6,0xb66,0x16cd,0xc03,0x4a8,
-+0x152d,0x1520,0x1525,0x166d,0xb6e,0x694,0x4a8,0x4a8,0x19d1,0xf25,0x19c1,0x69c,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x19f1,0x19f1,0x19f1,0x19f1,0x19f1,0x19f1,0x19f1,0x19f1,0x19f1,0xf76,0xf7e,0xf86,0x4a8,0x4a8,0x4a8,0x4a8,
-+0xb76,0xb79,0xd5b,0x1a39,0xfbe,0x6a4,0x4a8,0x1057,0xc55,0xcd4,0x4a8,0x4a8,0x198d,0xebb,0xec3,0x1a79,
-+0xbdd,0xbe4,0xbec,0x1860,0x1a19,0x4a8,0x19f9,0xf96,0x1868,0xd63,0xd6b,0xd73,0xfe6,0x6ac,0x4a8,0x4a8,
-+0x1870,0x1870,0x6b4,0x4a8,0x1aa6,0x106f,0x1a9e,0x1077,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0xd7b,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x18a8,0x18aa,0xdf0,0xdf7,0x186b,0x1863,0xd83,0xee5,0x1959,0xea0,0xea8,0xf8b,0x1971,0x1975,0xedd,0x1003,
--0xf56,0xf5b,0x6bc,0x4a8,0x105c,0x1064,0x19b4,0xf63,0xf38,0xf3e,0xf46,0xf4e,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x1a34,0x1a2c,0x102a,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a1c,0xfeb,0xff3,0xffb,
--0x19e4,0x19dc,0xfa3,0x4a8,0x197d,0xef5,0x6c4,0x4a8,0x103a,0x1042,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,
--0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x172a,0xc5d,0xc64,0xc64,0xc64,
--0x1732,0x1732,0x1732,0xc6c,0x1a69,0x1a69,0x1a69,0x1a69,0x1a69,0x1a69,0x6cc,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x18bd,0x18bf,0xdf3,0xdfa,0x1880,0x1878,0xd83,0xee8,0x1985,0xea3,0xeab,0xf8e,0x199d,0x19a1,0xee0,0x1006,
-+0xf59,0xf5e,0x6bc,0x4a8,0x105f,0x1067,0x19e1,0xf66,0xf3b,0xf41,0xf49,0xf51,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x1a61,0x1a59,0x102d,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a49,0xfee,0xff6,0xffe,
-+0x1a11,0x1a09,0xfa6,0x4a8,0x19a9,0xef8,0x6c4,0x4a8,0x103d,0x1045,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,
-+0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173f,0xc5d,0xc64,0xc64,0xc64,
-+0x1747,0x1747,0x1747,0xc6c,0x1a96,0x1a96,0x1a96,0x1a96,0x1a96,0x1a96,0x6cc,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,
--0x1873,0x1873,0x1875,0x1873,0x187d,0x1873,0x1873,0x1873,0x1873,0x1873,0x1873,0x1880,0x1873,0x1873,0x1873,0x1873,
--0x1873,0x6d4,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,
-+0x1888,0x1888,0x188a,0x1888,0x1892,0x1888,0x1888,0x1888,0x1888,0x1888,0x1888,0x1895,0x1888,0x1888,0x1888,0x1888,
-+0x1888,0x6d4,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,0x18b2,
--0x18b2,0xdff,0xfab,0x6dc,0x4a8,0x4a8,0x6e0,0xefd,0x1a04,0x19fc,0xfcb,0xfd3,0x6e8,0x4a8,0x4a8,0x4a8,
-+0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,0x18c7,
-+0x18c7,0xe02,0xfae,0x6dc,0x4a8,0x4a8,0x6e0,0xf00,0x1a31,0x1a29,0xfce,0xfd6,0x6e8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1969,0x1969,0xec8,0xecd,0xed5,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1995,0x1995,0xecb,0xed0,0xed8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x199c,0x199c,0x199c,
--0xf15,0xf1a,0x6f0,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1523,0x1523,0x1523,
--0x1523,0x1523,0x1523,0x1523,0xa6f,0x1533,0xa77,0x1534,0x152b,0x153c,0x1542,0x154a,0xa7f,0x1670,0x1670,0x6f8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1660,0x1660,0xb81,0xc74,0x4a8,0x4a8,0x4a8,0x4a8,0x157b,0x1582,0xa87,
--0x1585,0xa8f,0xa97,0xa9f,0x157f,0xaa7,0xaaf,0xab7,0x1584,0x158c,0x157b,0x1582,0x157e,0x1585,0x158d,0x157c,
--0x1583,0x157f,0xabe,0x1552,0x155a,0x1561,0x1568,0x1555,0x155d,0x1564,0x156b,0xac6,0x1573,0x1a91,0x1a91,0x1a91,
--0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a81,0x1a84,0x1a81,
--0x1a8b,0x108b,0x700,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x19c9,0x19c9,0x19c9,
-+0xf18,0xf1d,0x6f0,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1535,0x1535,0x1535,
-+0x1535,0x1535,0x1535,0x1535,0xa6f,0x1545,0xa77,0x1546,0x153d,0x154e,0x1554,0x155c,0xa7f,0x1685,0x1685,0x6f8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1675,0x1675,0xb81,0xc74,0x4a8,0x4a8,0x4a8,0x4a8,0x158d,0x1594,0xa87,
-+0x1597,0xa8f,0xa97,0xa9f,0x1591,0xaa7,0xaaf,0xab7,0x1596,0x159e,0x158d,0x1594,0x1590,0x1597,0x159f,0x158e,
-+0x1595,0x1591,0xabe,0x1564,0x156c,0x1573,0x157a,0x1567,0x156f,0x1576,0x157d,0xac6,0x1585,0x1abe,0x1abe,0x1abe,
-+0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1abe,0x1aae,0x1ab1,0x1aae,
-+0x1ab8,0x1097,0x700,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x100b,0x1a24,0x1011,
--0x1a24,0x1019,0x101e,0x1022,0x1022,0x107c,0x1083,0x1083,0x1083,0x1081,0x1083,0x1082,0x1083,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x100e,0x1a51,0x1014,
-+0x1a51,0x101c,0x1021,0x1025,0x1025,0x107f,0x1086,0x1086,0x1086,0x108e,0x1086,0x108f,0x1086,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x704,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x704,0xace,0x1595,0x1595,
--0x1596,0x70c,0x70c,0x70c,0x70c,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x714,0x70c,0x70c,0x70c,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x704,0xace,0x15a7,0x15a7,
-+0x15a8,0x70c,0x70c,0x70c,0x70c,0x167d,0x167d,0x167d,0x167d,0x167d,0x167d,0x167d,0x714,0x70c,0x70c,0x70c,
- 0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,
- 0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,
- 0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,
--0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x17e7,0xcdc,0x17ef,
--0x17ef,0xce0,0xe10,0xe18,0xe20,0xd8b,0xd91,0x1890,0xd99,0xda1,0xda8,0xda8,0xdaf,0xdb7,0xdbb,0xdc3,
--0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0x18d9,0x18e1,0x18d9,0x18e7,0x18ef,0x18ba,0x18f7,0x18ff,0x18d9,0x1907,0x190f,
--0x18d9,0x18d9,0x18c2,0x18d9,0x1911,0x18ca,0x18d1,0x1919,0xe28,0x198c,0xe2f,0x1985,0x1921,0x1929,0x1931,0x1939,
--0x19f4,0x1941,0x1941,0xe37,0xe3f,0x1949,0x1949,0x1949,0xe47,0x19ac,0x19ac,0xf2a,0xf30,0xe07,0xe08,0xe08,
--0xe08,0xe08,0xe08,0xe08,0xe08,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x70c,0x17fc,0xcdc,0x1804,
-+0x1804,0xce0,0xe13,0xe1b,0xe23,0xd8b,0xd91,0x18a5,0xd99,0xda1,0xda8,0xda8,0xdaf,0xdb7,0xdbe,0xdc6,
-+0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0x18ee,0x18f6,0x18ee,0x18fc,0x1904,0x18cf,0x190c,0x1914,0x18ee,0x191c,0x1924,
-+0x192b,0x1933,0x18d7,0x18ee,0x1935,0x18df,0x18e6,0x193d,0xe2b,0x19b9,0xe32,0x19b1,0x1945,0x194d,0x1955,0x195d,
-+0x1a21,0x1965,0x196d,0xe3a,0xe42,0x1975,0x1975,0x1975,0xe4a,0x19d9,0x19d9,0xf2d,0xf33,0xe0a,0xe0b,0xe0b,
-+0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x19d4,0x19d4,0x19d4,
--0x19d4,0x19d4,0x19d4,0xf9b,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a01,0x1a01,0x1a01,
-+0x1a01,0x1a01,0x1a01,0xf9e,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0xe65,0xe6d,0xe75,
--0xe7d,0xe85,0xe8d,0xe94,0xe98,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a44,0x1a3c,0x1032,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a14,0xfdb,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0xe68,0xe70,0xe78,
-+0xe80,0xe88,0xe90,0xe97,0xe9b,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a71,0x1a69,0x1035,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a41,0xfde,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
- 0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,
--0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,0x1a54,0x1a59,0x1a54,0x1a54,0x1a54,0x104a,0x104c,0x4a8,0x4a8,0x4a8,0x4a8,
--0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x10d0,0x1093,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x109b,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x15a6,0x15a6,
--0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x15a6,0x10d8,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x109f,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,
--0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x1093,0x109f,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x10e0,0x1951,0x1951,0x1951,0x1951,0x1951,0x1951,0x10e8,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1432,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x143a,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,
--0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x1442,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,
--0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x144a,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,
--0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x159e,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,
--0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1898,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,
--0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x1a99,0x487,0x487,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,
-+0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,0x1a81,0x1a86,0x1a81,0x1a81,0x1a81,0x104d,0x104f,0x4a8,0x4a8,0x4a8,0x4a8,
-+0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x4a8,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x10dc,0x109f,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x10a7,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x15b8,0x15b8,
-+0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x15b8,0x10e4,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x10ab,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,
-+0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x109f,0x10ab,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x10ec,0x197d,0x197d,0x197d,0x197d,0x197d,0x197d,0x10f4,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1444,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x144c,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,
-+0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x1454,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,
-+0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x145c,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,
-+0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x15b0,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,
-+0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x18ad,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,
-+0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x1ac6,0x487,0x487,
- 0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x255,0x25e,0x258,0x258,0x25b,0x252,0x252,
- 0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,
--0x750,0x74a,0x72f,0x714,0x720,0x71d,0x714,0x72c,0x71a,0x726,0x714,0x741,0x738,0x729,0x74d,0x723,
--0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x735,0x732,0x73b,0x73b,0x73b,0x74a,
--0x714,0x75c,0x75c,0x75c,0x75c,0x75c,0x75c,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,
--0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x756,0x71a,0x720,0x726,0x747,0x70e,
--0x744,0x759,0x759,0x759,0x759,0x759,0x759,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,
--0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x753,0x71a,0x73e,0x717,0x73b,0x252,
-+0x786,0x780,0x765,0x75c,0x753,0x750,0x747,0x762,0x74d,0x759,0x75c,0x777,0x76e,0x75f,0x783,0x756,
-+0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x76b,0x768,0x771,0x771,0x771,0x780,
-+0x747,0x792,0x792,0x792,0x792,0x792,0x792,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,
-+0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x74d,0x753,0x759,0x77d,0x741,
-+0x77a,0x78f,0x78f,0x78f,0x78f,0x78f,0x78f,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,
-+0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x789,0x74d,0x774,0x74a,0x771,0x252,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0x261,0x261,0x261,0x261,0x261,0x270,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,
- 0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,
--0x264,0x5c1,0x765,0x768,0x5c7,0x768,0x762,0x5bb,0x5b2,0x26a,0x5d0,0x26d,0x76b,0x5a9,0x5be,0x75f,
--0x5c4,0x5cd,0x5af,0x5af,0x5b5,0x267,0x5bb,0x5b8,0x5b2,0x5af,0x5d0,0x26d,0x5ac,0x5ac,0x5ac,0x5c1,
--0x276,0x276,0x276,0x276,0x276,0x276,0x5d9,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,
--0x5d9,0x276,0x276,0x276,0x276,0x276,0x276,0x5ca,0x5d9,0x276,0x276,0x276,0x276,0x276,0x5d9,0x5d3,
--0x5d6,0x5d6,0x273,0x273,0x273,0x273,0x5d3,0x273,0x5d6,0x5d6,0x5d6,0x273,0x5d6,0x5d6,0x273,0x273,
--0x5d3,0x273,0x5d6,0x5d6,0x273,0x273,0x273,0x5ca,0x5d3,0x5d6,0x5d6,0x273,0x5d6,0x273,0x5d3,0x273,
--0x282,0x5df,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,
--0x27f,0x5dc,0x282,0x5df,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x5df,0x282,0x279,0x282,0x279,
--0x282,0x279,0x282,0x279,0x282,0x279,0x5e5,0x5dc,0x282,0x279,0x282,0x5df,0x282,0x279,0x282,0x279,
--0x282,0x5dc,0x5e8,0x5e2,0x282,0x279,0x282,0x279,0x5dc,0x282,0x279,0x282,0x279,0x282,0x279,0x5e8,
--0x5e2,0x5e5,0x5dc,0x282,0x5df,0x282,0x279,0x282,0x5df,0x5eb,0x5e5,0x5dc,0x282,0x5df,0x282,0x279,
--0x282,0x279,0x5e5,0x5dc,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,
--0x282,0x279,0x282,0x279,0x282,0x279,0x5e5,0x5dc,0x282,0x279,0x282,0x5df,0x282,0x279,0x282,0x279,
-+0x264,0x5df,0x79b,0x79e,0x5e5,0x79e,0x798,0x5dc,0x5d3,0x26a,0x5f1,0x26d,0x7a1,0x5ca,0x5e8,0x795,
-+0x5e2,0x5ee,0x5d0,0x5d0,0x5d6,0x267,0x5dc,0x5d9,0x5d3,0x5d0,0x5f1,0x26d,0x5cd,0x5cd,0x5cd,0x5df,
-+0x276,0x276,0x276,0x276,0x276,0x276,0x5fa,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,
-+0x5fa,0x276,0x276,0x276,0x276,0x276,0x276,0x5eb,0x5fa,0x276,0x276,0x276,0x276,0x276,0x5fa,0x5f4,
-+0x5f7,0x5f7,0x273,0x273,0x273,0x273,0x5f4,0x273,0x5f7,0x5f7,0x5f7,0x273,0x5f7,0x5f7,0x273,0x273,
-+0x5f4,0x273,0x5f7,0x5f7,0x273,0x273,0x273,0x5eb,0x5f4,0x5f7,0x5f7,0x273,0x5f7,0x273,0x5f4,0x273,
-+0x282,0x600,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,
-+0x27f,0x5fd,0x282,0x600,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x600,0x282,0x279,0x282,0x279,
-+0x282,0x279,0x282,0x279,0x282,0x279,0x606,0x5fd,0x282,0x279,0x282,0x600,0x282,0x279,0x282,0x279,
-+0x282,0x5fd,0x609,0x603,0x282,0x279,0x282,0x279,0x5fd,0x282,0x279,0x282,0x279,0x282,0x279,0x609,
-+0x603,0x606,0x5fd,0x282,0x600,0x282,0x279,0x282,0x600,0x60c,0x606,0x5fd,0x282,0x600,0x282,0x279,
-+0x282,0x279,0x606,0x5fd,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,
-+0x282,0x279,0x282,0x279,0x282,0x279,0x606,0x5fd,0x282,0x279,0x282,0x600,0x282,0x279,0x282,0x279,
- 0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x279,0x282,0x282,0x279,0x282,0x279,0x282,0x279,0x27c,
- 0x285,0x291,0x291,0x285,0x291,0x285,0x291,0x291,0x285,0x291,0x291,0x291,0x285,0x285,0x291,0x291,
- 0x291,0x291,0x285,0x291,0x291,0x285,0x291,0x291,0x291,0x285,0x285,0x285,0x291,0x291,0x285,0x291,
- 0x294,0x288,0x291,0x285,0x291,0x285,0x291,0x291,0x285,0x291,0x285,0x285,0x291,0x285,0x291,0x294,
- 0x288,0x291,0x291,0x291,0x285,0x291,0x285,0x291,0x291,0x285,0x285,0x28e,0x291,0x285,0x285,0x285,
--0x28e,0x28e,0x28e,0x28e,0x297,0x297,0x28b,0x297,0x297,0x28b,0x297,0x297,0x28b,0x294,0x5ee,0x294,
--0x5ee,0x294,0x5ee,0x294,0x5ee,0x294,0x5ee,0x294,0x5ee,0x294,0x5ee,0x294,0x5ee,0x285,0x294,0x288,
-+0x28e,0x28e,0x28e,0x28e,0x297,0x297,0x28b,0x297,0x297,0x28b,0x297,0x297,0x28b,0x294,0x60f,0x294,
-+0x60f,0x294,0x60f,0x294,0x60f,0x294,0x60f,0x294,0x60f,0x294,0x60f,0x294,0x60f,0x285,0x294,0x288,
- 0x294,0x288,0x294,0x288,0x291,0x285,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,
--0x288,0x297,0x297,0x28b,0x294,0x288,0x930,0x930,0x933,0x92d,0x294,0x288,0x294,0x288,0x294,0x288,
-+0x288,0x297,0x297,0x28b,0x294,0x288,0x969,0x969,0x96c,0x966,0x294,0x288,0x294,0x288,0x294,0x288,
- 0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,0x294,0x288,
--0x294,0x288,0x294,0x288,0x933,0x92d,0x933,0x92d,0x930,0x92a,0x933,0x92d,0xae9,0xbdf,0x930,0x92a,
--0x930,0x92a,0x933,0x92d,0x933,0x92d,0x933,0x92d,0x933,0x92d,0x933,0x92d,0x933,0x92d,0x933,0x92d,
--0xbdf,0xbdf,0xbdf,0xccc,0xccc,0xccc,0xccf,0xccf,0xccc,0xccf,0xccf,0xccc,0xccc,0xccf,0xe07,0xe0a,
--0xe0a,0xe0a,0xe0a,0xe07,0xe0a,0xe07,0xe0a,0xe07,0xe0a,0xe07,0xe0a,0xe07,0x29a,0x5f1,0x29a,0x29a,
--0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x5f1,0x29a,0x29a,
-+0x294,0x288,0x294,0x288,0x96c,0x966,0x96c,0x966,0x969,0x963,0x96c,0x966,0xb25,0xc27,0x969,0x963,
-+0x969,0x963,0x96c,0x966,0x96c,0x966,0x96c,0x966,0x96c,0x966,0x96c,0x966,0x96c,0x966,0x96c,0x966,
-+0xc27,0xc27,0xc27,0xd1d,0xd1d,0xd1d,0xd20,0xd20,0xd1d,0xd20,0xd20,0xd1d,0xd1d,0xd20,0xe61,0xe64,
-+0xe64,0xe64,0xe64,0xe61,0xe64,0xe61,0xe64,0xe61,0xe64,0xe61,0xe64,0xe61,0x29a,0x612,0x29a,0x29a,
-+0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x612,0x29a,0x29a,
- 0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,
- 0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29d,0x29a,0x29a,0x29a,
- 0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,
--0x29a,0x936,0x936,0x936,0x936,0x936,0xbe2,0xbe2,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,
--0x2b5,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2a9,0x2a9,0x2a0,0x2a0,0x5f7,0x2a0,0x2ac,0x5fa,
--0x2af,0x5fa,0x5fa,0x5fa,0x2af,0x5fa,0x2ac,0x2ac,0x5fd,0x2b2,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a6,
--0x5f4,0x5f4,0x5f4,0x5f4,0x2a3,0x5f4,0x2a0,0xa62,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2a0,0x2a0,0x2a0,
--0x2a0,0x2a0,0x93f,0x93f,0x93c,0x939,0x93c,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,
--0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,
--0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,
--0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,
--0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,
--0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x603,0x603,0x897,0x603,0x603,0x89a,0xa65,0xa65,
--0xa65,0xa65,0xa65,0xa65,0xa65,0xa65,0xa65,0xb9a,0xca2,0xca2,0xca2,0xca2,0xca2,0xca2,0xca2,0xca2,
--0xdd4,0xdd4,0xdd4,0xdd4,0xdd7,0xca5,0xca5,0xca5,0x606,0x606,0xa68,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,
--0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xeb5,0xeb2,0xeb5,0xeb2,0x2c1,0x2ca,0xeb5,0xeb2,
--6,6,0x2d0,0xe0d,0xe0d,0xe0d,0x2b8,0x13bf,6,6,6,6,0x2cd,0x2bb,0x2df,0x2be,
--0x2df,0x2df,0x2df,6,0x2df,6,0x2df,0x2df,0x2d6,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
--0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,6,0x60c,0x60c,0x60c,0x60c,0x60c,
--0x60c,0x60c,0x2df,0x2df,0x2d6,0x2d6,0x2d6,0x2d6,0x2d6,0x609,0x609,0x609,0x609,0x609,0x609,0x609,
--0x609,0x609,0x609,0x609,0x609,0x609,0x609,0x609,0x609,0x609,0x2d3,0x609,0x609,0x609,0x609,0x609,
--0x609,0x609,0x2d6,0x2d6,0x2d6,0x2d6,0x2d6,0xeb5,0x2e2,0x2e2,0x2e5,0x2df,0x2df,0x2e2,0x2d9,0x942,
--0xaf2,0xaef,0x2dc,0x942,0x2dc,0x942,0x2dc,0x942,0x2dc,0x942,0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,
--0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,0x2e2,0x2e2,0x2d9,0x2d3,0xaa1,0xa9e,0xaec,0xbeb,
--0xbe8,0xbee,0xbeb,0xbe8,0xcd2,0xcd5,0xcd5,0xcd5,0x951,0x618,0x2f4,0x2f7,0x2f4,0x2f4,0x2f4,0x2f7,
--0x2f4,0x2f4,0x2f4,0x2f4,0x2f7,0x951,0x2f7,0x2f4,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,
--0x615,0x618,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,
--0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
--0x60f,0x612,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
--0x60f,0x60f,0x60f,0x60f,0x94b,0x612,0x2ee,0x2f1,0x2ee,0x2ee,0x2ee,0x2f1,0x2ee,0x2ee,0x2ee,0x2ee,
--0x2f1,0x94b,0x2f1,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
-+0x29a,0x96f,0x96f,0x96f,0x96f,0x96f,0xc2a,0xc2a,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,
-+0x2b5,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2ac,0x2a9,0x2a9,0x2a0,0x2a0,0x618,0x2a0,0x2ac,0x61b,
-+0x2af,0x61b,0x61b,0x61b,0x2af,0x61b,0x2ac,0x2ac,0x61e,0x2b2,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a6,
-+0x615,0x615,0x615,0x615,0x2a3,0x615,0x2a0,0xa9e,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2a0,0x2a0,0x2a0,
-+0x2a0,0x2a0,0x978,0x978,0x975,0x972,0x975,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,
-+0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,
-+0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,
-+0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,
-+0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,
-+0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x621,0x624,0x624,0x8d0,0x624,0x624,0x8d3,0xaa1,0xaa1,
-+0xaa1,0xaa1,0xaa1,0xaa1,0xaa1,0xaa1,0xaa1,0xbe2,0xcf3,0xcf3,0xcf3,0xcf3,0xcf3,0xcf3,0xcf3,0xcf3,
-+0xe2e,0xe2e,0xe2e,0xe2e,0xe31,0xcf6,0xcf6,0xcf6,0x627,0x627,0xaa4,0xc24,0xc24,0xc24,0xc24,0xc24,
-+0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,0xf0f,0xf0c,0xf0f,0xf0c,0x2c1,0x2ca,0xf0f,0xf0c,
-+6,6,0x2d0,0xe67,0xe67,0xe67,0x2b8,0x1452,6,6,6,6,0x2cd,0x2bb,0x2df,0x2be,
-+0x2df,0x2df,0x2df,6,0x2df,6,0x2df,0x2df,0x2d6,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,
-+0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,0x62d,6,0x62d,0x62d,0x62d,0x62d,0x62d,
-+0x62d,0x62d,0x2df,0x2df,0x2d6,0x2d6,0x2d6,0x2d6,0x2d6,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,
-+0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x62a,0x2d3,0x62a,0x62a,0x62a,0x62a,0x62a,
-+0x62a,0x62a,0x2d6,0x2d6,0x2d6,0x2d6,0x2d6,0xf0f,0x2e2,0x2e2,0x2e5,0x2df,0x2df,0x2e2,0x2d9,0x97b,
-+0xb2e,0xb2b,0x2dc,0x97b,0x2dc,0x97b,0x2dc,0x97b,0x2dc,0x97b,0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,
-+0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,0x2c7,0x2c4,0x2e2,0x2e2,0x2d9,0x2d3,0xadd,0xada,0xb28,0xc33,
-+0xc30,0xc36,0xc33,0xc30,0xd23,0xd26,0xd26,0xd26,0x98a,0x639,0x2f4,0x2f7,0x2f4,0x2f4,0x2f4,0x2f7,
-+0x2f4,0x2f4,0x2f4,0x2f4,0x2f7,0x98a,0x2f7,0x2f4,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,
-+0x636,0x639,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,
-+0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x636,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,
-+0x630,0x633,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,0x630,
-+0x630,0x630,0x630,0x630,0x984,0x633,0x2ee,0x2f1,0x2ee,0x2ee,0x2ee,0x2f1,0x2ee,0x2ee,0x2ee,0x2ee,
-+0x2f1,0x984,0x2f1,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
- 0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f7,0x2f1,0x2f4,0x2ee,0x2f4,0x2ee,
--0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2eb,0x8a3,0x2e8,0x888,0x888,0x1059,0x945,0x945,0xaf8,0xaf5,
--0x94e,0x948,0x94e,0x948,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
-+0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2eb,0x8dc,0x2e8,0x8c1,0x8c1,0x10b9,0x97e,0x97e,0xb34,0xb31,
-+0x987,0x981,0x987,0x981,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
- 0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
- 0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2ee,
--0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2f7,0x2f1,0x2f4,0x2ee,0xaf8,0xaf5,0x2f4,0x2ee,0xaf8,0xaf5,0x2f4,
--0x2ee,0xaf8,0xaf5,0xe10,0x2f7,0x2f1,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,
-+0x2f4,0x2ee,0x2f4,0x2ee,0x2f4,0x2f7,0x2f1,0x2f4,0x2ee,0xb34,0xb31,0x2f4,0x2ee,0xb34,0xb31,0x2f4,
-+0x2ee,0xb34,0xb31,0xe6a,0x2f7,0x2f1,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,
- 0x2f7,0x2f1,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,0x2f7,0x2f1,0x2f7,0x2f1,0x2f4,0x2ee,0x2f7,0x2f1,
--0x951,0x94b,0x2f7,0x2f1,0x2f7,0x2f1,0x2f7,0x2f1,0x2f7,0x2f1,0xcdb,0xcd8,0x2f7,0x2f1,0xe13,0xe10,
--0xe13,0xe10,0xe13,0xe10,0xb5e,0xb5b,0xb5e,0xb5b,0xb5e,0xb5b,0xb5e,0xb5b,0xb5e,0xb5b,0xb5e,0xb5b,
--0xb5e,0xb5b,0xb5e,0xb5b,0xe40,0xe3d,0xe40,0xe3d,0xf33,0xf30,0xf33,0xf30,0xf33,0xf30,0xf33,0xf30,
--0xf33,0xf30,0xf33,0xf30,0xf33,0xf30,0xf33,0xf30,0x1095,0x1092,0x1257,0x1254,0x13f5,0x13f2,0x13f5,0x13f2,
--0x13f5,0x13f2,0x13f5,0x13f2,9,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,
-+0x98a,0x984,0x2f7,0x2f1,0x2f7,0x2f1,0x2f7,0x2f1,0x2f7,0x2f1,0xd2c,0xd29,0x2f7,0x2f1,0xe6d,0xe6a,
-+0xe6d,0xe6a,0xe6d,0xe6a,0xba3,0xba0,0xba3,0xba0,0xba3,0xba0,0xba3,0xba0,0xba3,0xba0,0xba3,0xba0,
-+0xba3,0xba0,0xba3,0xba0,0xe9a,0xe97,0xe9a,0xe97,0xf8d,0xf8a,0xf8d,0xf8a,0xf8d,0xf8a,0xf8d,0xf8a,
-+0xf8d,0xf8a,0xf8d,0xf8a,0xf8d,0xf8a,0xf8d,0xf8a,0x10f5,0x10f2,0x12d5,0x12d2,0x148b,0x1488,0x148b,0x1488,
-+0x148b,0x1488,0x148b,0x1488,9,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,
- 0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,0x306,9,
- 9,0x309,0x2fa,0x2fa,0x2fa,0x2fd,0x2fa,0x2fa,9,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
- 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,
--0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x303,9,0x813,0x954,9,
--9,0x13c2,0x13c2,0x12de,0xc,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,
--0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0xcde,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,0x8c4,
--0x8c4,0x8c4,0x8c4,0x8c4,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0xe16,0x30c,
--0x30c,0x30c,0x318,0x30c,0x30f,0x30c,0x30c,0x31b,0x8c7,0xce1,0xce4,0xce1,0xc,0xc,0xc,0xc,
-+0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x303,9,0x849,0x98d,9,
-+9,0x1455,0x1455,0x1371,0xc,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,
-+0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0xd2f,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,
-+0x8fd,0x8fd,0x8fd,0x8fd,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0x30c,0xe70,0x30c,
-+0x30c,0x30c,0x318,0x30c,0x30f,0x30c,0x30c,0x31b,0x900,0xd32,0xd35,0xd32,0xc,0xc,0xc,0xc,
- 0xc,0xc,0xc,0xc,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,
- 0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0xc,
- 0xc,0xc,0xc,0xc,0x31e,0x31e,0x31e,0x315,0x312,0xc,0xc,0xc,0xc,0xc,0xc,0xc,
--0xc,0xc,0xc,0xc,0xbf1,0xbf1,0xbf1,0xbf1,0x12e1,0x13c5,0xebe,0xebe,0xebe,0xebb,0xebb,0xced,
--0x819,0xc00,0xbfd,0xbfd,0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0xeb8,0xeb8,0xeb8,0xeb8,0xeb8,0x816,
--0x13b9,0xf,0xcea,0x81c,0x121b,0x339,0x33c,0x33c,0x33c,0x33c,0x33c,0x339,0x339,0x339,0x339,0x339,
--0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0xec1,
--0xec1,0xec1,0xec1,0xec1,0x81f,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x88e,
--0x88e,0x88e,0x88e,0x88e,0x88e,0x88e,0x88e,0xa98,0xa98,0xa98,0xbf4,0xbfa,0xbf7,0xce7,0xce7,0xce7,
--0xce7,0xce7,0xce7,0x1218,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x8a6,0x333,0x330,
--0x32d,0x32a,0xafb,0xafb,0x88b,0x339,0x339,0x345,0x339,0x33f,0x33f,0x33f,0x33f,0x339,0x339,0x339,
-+0xc,0xc,0xc,0xc,0xc39,0xc39,0xc39,0xc39,0x1374,0x1458,0xf18,0xf18,0xf18,0xf15,0xf15,0xd3e,
-+0x84f,0xc48,0xc45,0xc45,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xf12,0xf12,0xf12,0xf12,0xf12,0x84c,
-+0x144c,0xf,0xd3b,0x852,0x1290,0x339,0x33c,0x33c,0x33c,0x33c,0x33c,0x339,0x339,0x339,0x339,0x339,
-+0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0xf1b,
-+0xf1b,0xf1b,0xf1b,0xf1b,0x855,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x8c7,
-+0x8c7,0x8c7,0x8c7,0x8c7,0x8c7,0x8c7,0x8c7,0xad4,0xad4,0xad4,0xc3c,0xc42,0xc3f,0xd38,0xd38,0xd38,
-+0xd38,0xd38,0xd38,0x128d,0x8df,0x8df,0x8df,0x8df,0x8df,0x8df,0x8df,0x8df,0x8df,0x8df,0x333,0x330,
-+0x32d,0x32a,0xb37,0xb37,0x8c4,0x339,0x339,0x345,0x339,0x33f,0x33f,0x33f,0x33f,0x339,0x339,0x339,
- 0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,
- 0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,
- 0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,
--0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x95a,0x95a,0x339,0x339,0x339,0x339,0x339,0x95a,
--0x33c,0x339,0x33c,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x95a,
-+0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x993,0x993,0x339,0x339,0x339,0x339,0x339,0x993,
-+0x33c,0x339,0x33c,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x339,0x993,
- 0x339,0x339,0x339,0x33c,0x348,0x339,0x324,0x324,0x324,0x324,0x324,0x324,0x324,0x321,0x32a,0x327,
--0x327,0x324,0x324,0x324,0x324,0x342,0x342,0x324,0x324,0x32a,0x327,0x327,0x327,0x324,0xc03,0xc03,
--0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x95a,0x95a,0x95a,0x957,0x957,0xc03,
--0x972,0x972,0x972,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x969,0x96c,0x969,0x12,0x95d,
--0x96f,0x960,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,
--0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0x96f,0xc06,0xc06,0xc06,
--0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,0x966,
--0x963,0x963,0x963,0x963,0x963,0x963,0x963,0x963,0x963,0x963,0x963,0x12,0x12,0xc06,0xc06,0xc06,
--0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,
--0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xf45,0xf45,
--0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,0xf45,
--0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,
--0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,0x978,
--0x978,0x978,0x978,0x978,0x978,0x978,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,
--0x975,0xafe,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
--0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,
--0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,
--0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,
--0xe4f,0xe4f,0xe4f,0xe4f,0xe5e,0xe5e,0xe52,0xe52,0xe55,0xe64,0xe61,0x10e,0x10e,0x10e,0x10e,0x10e,
-+0x327,0x324,0x324,0x324,0x324,0x342,0x342,0x324,0x324,0x32a,0x327,0x327,0x327,0x324,0xc4b,0xc4b,
-+0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x336,0x993,0x993,0x993,0x990,0x990,0xc4b,
-+0x9ab,0x9ab,0x9ab,0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x9a2,0x9a5,0x9a2,0x12,0x996,
-+0x9a8,0x999,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,
-+0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0x9a8,0xc4e,0xc4e,0xc4e,
-+0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,
-+0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x12,0x12,0xc4e,0xc4e,0xc4e,
-+0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,
-+0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xfa2,0xfa2,
-+0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,
-+0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,
-+0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,
-+0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9b1,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
-+0x9ae,0xb3a,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
-+0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb2,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,
-+0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,
-+0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xeb5,0xea9,0xea9,0xea9,0xea9,0xea9,
-+0xea9,0xea9,0xea9,0xea9,0xeb8,0xeb8,0xeac,0xeac,0xeaf,0xebe,0xebb,0x10e,0x10e,0x10e,0x10e,0x10e,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0xa74,0xa74,0xa77,0xa77,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0x72,0x72,0x72,0x72,
--0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,
-+0xab0,0xab0,0xab3,0xab3,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0x72,0x72,0x72,0x72,
-+0xce7,0xce7,0xce7,0xce7,0xce7,0xce7,0xce7,0xce7,0xce7,0xce7,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x146d,0x146d,0x146d,0x146d,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x146a,
-+0x1518,0x1518,0x1518,0x1518,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1515,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1527,0x1527,0x1527,0x1527,0x1527,0x1527,0x1527,0x1527,0x1527,
-+0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x15d2,0x15d2,0x15d2,0x15d2,0x15d2,0x15d2,0x15d2,0x15d2,0x15d2,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,
-+0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x160b,0x160b,0x160b,0x160b,0x160b,0x160b,0x160b,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x17a,0x17a,0x17a,0x17a,0x17a,0x17a,0x17a,
-+0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x17a,0x17a,0x17a,0x17a,0x17a,0x17a,0x17a,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,
-+0x142b,0x142b,0x142b,0x142b,0x142b,0x142b,0x142b,0x142b,0x142b,0x142b,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x164d,0x164d,0x164d,0x164d,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,
-+0x16fb,0x16fb,0x16fb,0x16fb,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x183,
-+0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x183,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x1512,0x1512,0x1512,0x1512,0x1512,0x1512,0x1512,0x1512,0x1512,0x1512,0x1f8,0x1f8,0x1f8,0x1f8,0x1518,0x1518,
-+0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x15bd,0x1f8,0x1f8,0x1f8,0x1f8,0x15c3,0x15c3,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,
--0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,
-+0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,
-+0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x15b7,0x15b7,0x15b7,0x15b7,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,
-+0x1662,0x1662,0x1662,0x1662,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0xd41,0xd41,0xd3e,0xd3e,0xd3e,0xd41,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,
-+0xd9b,0xd9b,0xd98,0xd98,0xd98,0xd9b,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0x234,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,
-+0x234,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
--0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x8c1,0x8c1,
-+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x8fa,0x8fa,
- 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
- 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
--0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,
-+0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,
- 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
--0x13cb,0x360,0x36f,0x36f,0x18,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x18,0x18,0x375,
-+0x145e,0x360,0x36f,0x36f,0x18,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x18,0x18,0x375,
- 0x375,0x18,0x18,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x375,
- 0x375,0x18,0x375,0x375,0x375,0x375,0x375,0x375,0x375,0x18,0x375,0x18,0x18,0x18,0x375,0x375,
--0x375,0x375,0x18,0x18,0x363,0xc0c,0x360,0x36f,0x36f,0x360,0x360,0x360,0x360,0x18,0x18,0x36f,
--0x36f,0x18,0x18,0x372,0x372,0x366,0xcf3,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x360,
--0x18,0x18,0x18,0x18,0x378,0x378,0x18,0x378,0x375,0x375,0x360,0x360,0x18,0x18,0x8ac,0x8ac,
--0x8ac,0x8ac,0x8ac,0x8ac,0x8ac,0x8ac,0x8ac,0x8ac,0x375,0x375,0x36c,0x36c,0x369,0x369,0x369,0x369,
--0x369,0x36c,0x369,0x1068,0x18,0x18,0x18,0x18,0x1b,0xc0f,0x37b,0xc12,0x1b,0x387,0x387,0x387,
-+0x375,0x375,0x18,0x18,0x363,0xc54,0x360,0x36f,0x36f,0x360,0x360,0x360,0x360,0x18,0x18,0x36f,
-+0x36f,0x18,0x18,0x372,0x372,0x366,0xd44,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x360,
-+0x18,0x18,0x18,0x18,0x378,0x378,0x18,0x378,0x375,0x375,0x360,0x360,0x18,0x18,0x8e5,0x8e5,
-+0x8e5,0x8e5,0x8e5,0x8e5,0x8e5,0x8e5,0x8e5,0x8e5,0x375,0x375,0x36c,0x36c,0x369,0x369,0x369,0x369,
-+0x369,0x36c,0x369,0x10c8,0x18,0x18,0x18,0x18,0x1b,0xc57,0x37b,0xc5a,0x1b,0x387,0x387,0x387,
- 0x387,0x387,0x387,0x1b,0x1b,0x1b,0x1b,0x387,0x387,0x1b,0x1b,0x387,0x387,0x387,0x387,0x387,
- 0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x1b,0x387,0x387,0x387,0x387,0x387,0x387,
- 0x387,0x1b,0x387,0x38a,0x1b,0x387,0x38a,0x1b,0x387,0x387,0x1b,0x1b,0x37e,0x1b,0x384,0x384,
- 0x384,0x37b,0x37b,0x1b,0x1b,0x1b,0x1b,0x37b,0x37b,0x1b,0x1b,0x37b,0x37b,0x381,0x1b,0x1b,
--0x1b,0xeca,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x38a,0x38a,0x38a,0x387,0x1b,0x38a,0x1b,
--0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,
--0x37b,0x37b,0x387,0x387,0x387,0xeca,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
--0x1e,0x38d,0x38d,0x396,0x1e,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0xc1b,0x399,0x1e,0x399,
-+0x1b,0xf24,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x38a,0x38a,0x38a,0x387,0x1b,0x38a,0x1b,
-+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,0x8e8,
-+0x37b,0x37b,0x387,0x387,0x387,0xf24,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-+0x1e,0x38d,0x38d,0x396,0x1e,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0xc63,0x399,0x1e,0x399,
- 0x399,0x399,0x1e,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x399,
- 0x399,0x1e,0x399,0x399,0x399,0x399,0x399,0x399,0x399,0x1e,0x399,0x399,0x1e,0x399,0x399,0x399,
- 0x399,0x399,0x1e,0x1e,0x390,0x399,0x396,0x396,0x396,0x38d,0x38d,0x38d,0x38d,0x38d,0x1e,0x38d,
- 0x38d,0x396,0x1e,0x396,0x396,0x393,0x1e,0x1e,0x399,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
--0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x399,0xc1b,0xc15,0xc15,0x1e,0x1e,0x8b2,0x8b2,
--0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x12e4,0xc18,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
--0x1e,0x15c0,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x21,0x39c,0x3ab,0x3ab,0x21,0x3b1,0x3b1,0x3b1,
-+0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x399,0xc63,0xc5d,0xc5d,0x1e,0x1e,0x8eb,0x8eb,
-+0x8eb,0x8eb,0x8eb,0x8eb,0x8eb,0x8eb,0x8eb,0x8eb,0x1377,0xc60,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
-+0x1e,0x166b,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x21,0x39c,0x3ab,0x3ab,0x21,0x3b1,0x3b1,0x3b1,
- 0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x21,0x21,0x3b1,0x3b1,0x21,0x21,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,
- 0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x21,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,0x3b1,
--0x3b1,0x21,0x3b1,0x3b1,0x21,0xc1e,0x3b1,0x3b1,0x3b1,0x3b1,0x21,0x21,0x39f,0x3b1,0x39c,0x39c,
--0x3ab,0x39c,0x39c,0x39c,0xecd,0x21,0x21,0x3ab,0x3ae,0x21,0x21,0x3ae,0x3ae,0x3a2,0x21,0x21,
-+0x3b1,0x21,0x3b1,0x3b1,0x21,0xc66,0x3b1,0x3b1,0x3b1,0x3b1,0x21,0x21,0x39f,0x3b1,0x39c,0x39c,
-+0x3ab,0x39c,0x39c,0x39c,0xf27,0x21,0x21,0x3ab,0x3ae,0x21,0x21,0x3ae,0x3ae,0x3a2,0x21,0x21,
- 0x21,0x21,0x21,0x21,0x21,0x21,0x39c,0x39c,0x21,0x21,0x21,0x21,0x3b4,0x3b4,0x21,0x3b1,
--0x3b1,0x3b1,0xecd,0xecd,0x21,0x21,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,
--0x3a5,0xc1e,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
-+0x3b1,0x3b1,0xf27,0xf27,0x21,0x21,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,
-+0x3a5,0xc66,0x129c,0x129c,0x129c,0x129c,0x129c,0x129c,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
- 0x24,0x24,0x3b7,0x3c3,0x24,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x24,0x24,0x24,0x3c3,0x3c3,
- 0x3c3,0x24,0x3c3,0x3c3,0x3c6,0x3c3,0x24,0x24,0x24,0x3c3,0x3c3,0x24,0x3c3,0x24,0x3c3,0x3c3,
--0x24,0x24,0x24,0x3c3,0x3c3,0x24,0x24,0x24,0x3c3,0x3c3,0x8bb,0x24,0x24,0x24,0x3c3,0x3c3,
--0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x8bb,0xcf6,0x3c3,0x3c3,0x3c3,0x24,0x24,0x24,0x24,0x3b7,0x3bd,
-+0x24,0x24,0x24,0x3c3,0x3c3,0x24,0x24,0x24,0x3c3,0x3c3,0x8f4,0x24,0x24,0x24,0x3c3,0x3c3,
-+0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x8f4,0xd47,0x3c3,0x3c3,0x3c3,0x24,0x24,0x24,0x24,0x3b7,0x3bd,
- 0x3b7,0x3bd,0x3bd,0x24,0x24,0x24,0x3bd,0x3bd,0x3bd,0x24,0x3c0,0x3c0,0x3c0,0x3ba,0x24,0x24,
--0xed0,0x24,0x24,0x24,0x24,0x24,0x24,0x3b7,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
--0x24,0x24,0xe04,0x8b8,0x8b8,0x8b8,0x8b8,0x8b8,0x8b8,0x8b8,0x8b8,0x8b8,0x8b5,0x8b5,0x8b5,0xc21,
--0xc21,0xc21,0xc21,0xc21,0xc21,0xc24,0xc21,0x24,0x24,0x24,0x24,0x24,0x13ce,0x3d5,0x3d5,0x3d5,
-+0xf2a,0x24,0x24,0x24,0x24,0x24,0x24,0x3b7,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,
-+0x24,0x24,0xe5e,0x8f1,0x8f1,0x8f1,0x8f1,0x8f1,0x8f1,0x8f1,0x8f1,0x8f1,0x8ee,0x8ee,0x8ee,0xc69,
-+0xc69,0xc69,0xc69,0xc69,0xc69,0xc6c,0xc69,0x24,0x24,0x24,0x24,0x24,0x1461,0x3d5,0x3d5,0x3d5,
- 0x27,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x27,0x3d8,0x3d8,0x3d8,0x27,0x3d8,0x3d8,
- 0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x27,0x3d8,0x3d8,
--0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x13d1,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x27,0x27,
--0x27,0xed9,0x3c9,0x3c9,0x3c9,0x3d5,0x3d5,0x3d5,0x3d5,0x27,0x3c9,0x3c9,0x3cc,0x27,0x3c9,0x3c9,
--0x3c9,0x3cf,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x3c9,0x3c9,0x27,0xed9,0xed9,0x15c3,0x27,
--0x27,0x27,0x27,0x27,0x3d8,0x3d8,0xed3,0xed3,0x27,0x27,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,
--0x3d2,0x3d2,0x3d2,0x3d2,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0xed6,0xed6,0xed6,0xed6,
--0xed6,0xed6,0xed6,0xed6,0x2a,0x13d4,0x3e4,0x3e4,0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,
-+0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x1464,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x27,0x27,
-+0x27,0xf33,0x3c9,0x3c9,0x3c9,0x3d5,0x3d5,0x3d5,0x3d5,0x27,0x3c9,0x3c9,0x3cc,0x27,0x3c9,0x3c9,
-+0x3c9,0x3cf,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x3c9,0x3c9,0x27,0xf33,0xf33,0x166e,0x27,
-+0x27,0x27,0x27,0x27,0x3d8,0x3d8,0xf2d,0xf2d,0x27,0x27,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,
-+0x3d2,0x3d2,0x3d2,0x3d2,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0xf30,0xf30,0xf30,0xf30,
-+0xf30,0xf30,0xf30,0xf30,0x2a,0x1467,0x3e4,0x3e4,0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,
- 0x3ea,0x2a,0x3ea,0x3ea,0x3ea,0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,
- 0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,
--0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x2a,0x2a,0xc27,0xc2a,0x3e4,0x3db,0x3e7,0x3e4,0x3db,0x3e4,
-+0x2a,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x2a,0x2a,0xc6f,0xc72,0x3e4,0x3db,0x3e7,0x3e4,0x3db,0x3e4,
- 0x3e4,0x2a,0x3db,0x3e7,0x3e7,0x2a,0x3e7,0x3e7,0x3db,0x3de,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
--0x2a,0x3db,0x3db,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x3ea,0x2a,0x3ea,0x3ea,0xe1c,0xe1c,
--0x2a,0x2a,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x2a,0xe1f,0xe1f,0x2a,
--0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2d,0x13d7,0x3f6,0x3f6,
-+0x2a,0x3db,0x3db,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x3ea,0x2a,0x3ea,0x3ea,0xe76,0xe76,
-+0x2a,0x2a,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x3e1,0x2a,0xe79,0xe79,0x2a,
-+0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2d,0x146a,0x3f6,0x3f6,
- 0x2d,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x2d,0x3fc,0x3fc,0x3fc,0x2d,0x3fc,0x3fc,
--0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x122a,0x3fc,0x3fc,
--0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x122a,0x2d,
--0x2d,0xee5,0x3ed,0x3f6,0x3f6,0x3ed,0x3ed,0x3ed,0xedc,0x2d,0x3f6,0x3f6,0x3f6,0x2d,0x3f9,0x3f9,
--0x3f9,0x3f0,0x122a,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x3ed,0x2d,0x2d,0x2d,0x2d,
--0x2d,0x2d,0x2d,0x15c6,0x3fc,0x3fc,0xedc,0xedc,0x2d,0x2d,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,
--0x3f3,0x3f3,0x3f3,0x3f3,0xedf,0xedf,0xedf,0xedf,0xedf,0xedf,0x2d,0x2d,0x2d,0xee2,0xee5,0xee5,
--0xee5,0xee5,0xee5,0xee5,0x30,0x30,0x984,0x984,0x30,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,
--0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x30,0x30,0x30,0x98a,0x98a,
--0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,
--0x98a,0x98a,0x30,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x30,0x98a,0x30,0x30,
--0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x30,0x30,0x30,0x97e,0x30,0x30,0x30,0x30,0x97b,
--0x984,0x984,0x97b,0x97b,0x97b,0x30,0x97b,0x30,0x984,0x984,0x987,0x984,0x987,0x987,0x987,0x97b,
--0x30,0x30,0x30,0x30,0x30,0x30,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,
--0x30,0x30,0x984,0x984,0x981,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-+0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x129f,0x3fc,0x3fc,
-+0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x129f,0x2d,
-+0x2d,0xf3f,0x3ed,0x3f6,0x3f6,0x3ed,0x3ed,0x3ed,0xf36,0x2d,0x3f6,0x3f6,0x3f6,0x2d,0x3f9,0x3f9,
-+0x3f9,0x3f0,0x129f,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x3ed,0x2d,0x2d,0x2d,0x2d,
-+0x2d,0x2d,0x2d,0x1671,0x3fc,0x3fc,0xf36,0xf36,0x2d,0x2d,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,
-+0x3f3,0x3f3,0x3f3,0x3f3,0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0x2d,0x2d,0x2d,0xf3c,0xf3f,0xf3f,
-+0xf3f,0xf3f,0xf3f,0xf3f,0x30,0x30,0x9bd,0x9bd,0x30,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
-+0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x30,0x30,0x30,0x9c3,0x9c3,
-+0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
-+0x9c3,0x9c3,0x30,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x30,0x9c3,0x30,0x30,
-+0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x30,0x30,0x30,0x9b7,0x30,0x30,0x30,0x30,0x9b4,
-+0x9bd,0x9bd,0x9b4,0x9b4,0x9b4,0x30,0x9b4,0x30,0x9bd,0x9bd,0x9c0,0x9bd,0x9c0,0x9c0,0x9c0,0x9b4,
-+0x30,0x30,0x30,0x30,0x30,0x30,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,
-+0x30,0x30,0x9bd,0x9bd,0x9ba,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
- 0x33,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,
- 0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,0x417,
- 0x417,0x402,0x417,0x414,0x402,0x402,0x402,0x402,0x402,0x402,0x408,0x33,0x33,0x33,0x33,0x3ff,
-@@ -1806,51 +1806,51 @@ static const uint16_t propsVectorsTrie_index[27272]={
- 0x36,0x42c,0x36,0x42c,0x36,0x36,0x42c,0x42c,0x36,0x42c,0x42c,0x42c,0x42c,0x420,0x42c,0x429,
- 0x420,0x420,0x420,0x420,0x420,0x420,0x36,0x420,0x420,0x42c,0x36,0x36,0x435,0x435,0x435,0x435,
- 0x435,0x36,0x432,0x36,0x423,0x423,0x423,0x423,0x423,0x420,0x36,0x36,0x426,0x426,0x426,0x426,
--0x426,0x426,0x426,0x426,0x426,0x426,0x36,0x36,0x42f,0x42f,0x12e7,0x12e7,0x36,0x36,0x36,0x36,
-+0x426,0x426,0x426,0x426,0x426,0x426,0x36,0x36,0x42f,0x42f,0x137a,0x137a,0x36,0x36,0x36,0x36,
- 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
--0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x8fd,0x8fd,0x8fd,0x900,
--0x8fd,0x8fd,0x8fd,0x8fd,0x39,0x8fd,0x8fd,0x8fd,0x8fd,0x900,0x8fd,0x8fd,0x8fd,0x8fd,0x900,0x8fd,
--0x8fd,0x8fd,0x8fd,0x900,0x8fd,0x8fd,0x8fd,0x8fd,0x900,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,
--0x8fd,0x8fd,0x8fd,0x8fd,0x8fd,0x900,0x999,0xef1,0xef1,0x39,0x39,0x39,0x39,0x8ca,0x8ca,0x8cd,
--0x8ca,0x8cd,0x8cd,0x8d6,0x8cd,0x8d6,0x8ca,0x8ca,0x8ca,0x8ca,0x8ca,0x8f7,0x8ca,0x8cd,0x8d0,0x8d0,
--0x8d3,0x8dc,0x8d0,0x8d0,0x8fd,0x8fd,0x8fd,0x8fd,0x1233,0x122d,0x122d,0x122d,0x8ca,0x8ca,0x8ca,0x8cd,
--0x8ca,0x8ca,0x98d,0x8ca,0x39,0x8ca,0x8ca,0x8ca,0x8ca,0x8cd,0x8ca,0x8ca,0x8ca,0x8ca,0x8cd,0x8ca,
--0x8ca,0x8ca,0x8ca,0x8cd,0x8ca,0x8ca,0x8ca,0x8ca,0x8cd,0x8ca,0x98d,0x98d,0x98d,0x8ca,0x8ca,0x8ca,
--0x8ca,0x8ca,0x8ca,0x8ca,0x98d,0x8cd,0x98d,0x98d,0x98d,0x39,0x996,0x996,0x993,0x993,0x993,0x993,
--0x993,0x993,0x990,0x993,0x993,0x993,0x993,0x993,0x993,0x39,0xee8,0x993,0xcf9,0xcf9,0xeeb,0xeee,
--0xee8,0x106b,0x106b,0x106b,0x106b,0x1230,0x1230,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
-+0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x936,0x936,0x936,0x939,
-+0x936,0x936,0x936,0x936,0x39,0x936,0x936,0x936,0x936,0x939,0x936,0x936,0x936,0x936,0x939,0x936,
-+0x936,0x936,0x936,0x939,0x936,0x936,0x936,0x936,0x939,0x936,0x936,0x936,0x936,0x936,0x936,0x936,
-+0x936,0x936,0x936,0x936,0x936,0x939,0x9d2,0xf4b,0xf4b,0x39,0x39,0x39,0x39,0x903,0x903,0x906,
-+0x903,0x906,0x906,0x90f,0x906,0x90f,0x903,0x903,0x903,0x903,0x903,0x930,0x903,0x906,0x909,0x909,
-+0x90c,0x915,0x909,0x909,0x936,0x936,0x936,0x936,0x12a8,0x12a2,0x12a2,0x12a2,0x903,0x903,0x903,0x906,
-+0x903,0x903,0x9c6,0x903,0x39,0x903,0x903,0x903,0x903,0x906,0x903,0x903,0x903,0x903,0x906,0x903,
-+0x903,0x903,0x903,0x906,0x903,0x903,0x903,0x903,0x906,0x903,0x9c6,0x9c6,0x9c6,0x903,0x903,0x903,
-+0x903,0x903,0x903,0x903,0x9c6,0x906,0x9c6,0x9c6,0x9c6,0x39,0x9cf,0x9cf,0x9cc,0x9cc,0x9cc,0x9cc,
-+0x9cc,0x9cc,0x9c9,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x39,0xf42,0x9cc,0xd4a,0xd4a,0xf45,0xf48,
-+0xf42,0x10cb,0x10cb,0x10cb,0x10cb,0x12a5,0x12a5,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
- 0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
--0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x3c,0x12ed,
--0x3c,0x3c,0x3c,0x3c,0x3c,0x12ed,0x3c,0x3c,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,
--0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,
--0x9c3,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,
--0x9c3,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,
--0x9c3,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x3f,0x9c3,0x9c3,
--0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x9c3,0x3f,0x9c3,0x9c3,
--0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x3f,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x3f,0x3f,0x1236,0x1236,0xd02,0xd05,0x9bd,0x9c6,0x9ba,
--0x9ba,0x9ba,0x9ba,0x9c6,0x9c6,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9b7,0x9b7,
--0x9b7,0x9b7,0x9b7,0x9b7,0x9b7,0x9b7,0x9b7,0x9b7,0x9b7,0x3f,0x3f,0x3f,0x9c9,0x9c9,0x9c9,0x9c9,
--0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,
--0x9c9,0x15cc,0x42,0x42,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x42,0x42,0x9db,0x9de,0x9de,0x9de,
--0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,
--0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9de,0x9d8,0x9d5,0x45,0x45,0x45,0x9e4,0x9e4,0x9e4,0x9e4,
--0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e1,0x9e1,0x9e1,0x9e4,0x9e4,0x9e4,0x13dd,0x13dd,0x13dd,
--0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xa05,0xa05,0xa05,0xa05,
--0xa05,0xa05,0x9e7,0xa05,0xa05,0x9ea,0x9ea,0x9ea,0x9ea,0x9ea,0x9ea,0x9ea,0x9ea,0x9ea,0x9ed,0x9ea,
--0x9fc,0x9fc,0x9ff,0xa08,0x9f6,0x9f3,0x9fc,0x9f9,0xa08,0xc2d,0x4b,0x4b,0xa02,0xa02,0xa02,0xa02,
--0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0xc30,0xc30,0xc30,0xc30,
--0xc30,0xc30,0xc30,0xc30,0xc30,0xc30,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0xa14,0xa14,0xa8f,0xa92,
--0xa1a,0xa8c,0xa17,0xa14,0xa1d,0xa2c,0xa20,0xa2f,0xa2f,0xa2f,0xa0e,0x4e,0xa23,0xa23,0xa23,0xa23,
--0xa23,0xa23,0xa23,0xa23,0xa23,0xa23,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa26,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa26,0xa26,0xa11,0xf12,0x4e,0x4e,0x4e,0x4e,0x4e,0x10c2,0x10c2,0x10c2,0x10c2,
--0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x45c,0x45c,0x45c,0x45c,
-+0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x3c,0x1380,
-+0x3c,0x3c,0x3c,0x3c,0x3c,0x1380,0x3c,0x3c,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,
-+0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0xd59,
-+0x9fc,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,
-+0x9fc,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0xd59,
-+0x9fc,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0xd59,0x9fc,0x3f,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x9fc,0x3f,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0xd59,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0xd59,0x9fc,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x3f,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0xd59,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x3f,0x3f,0x12ab,0x12ab,0xd53,0xd56,0x9f6,0x9ff,0x9f3,
-+0x9f3,0x9f3,0x9f3,0x9ff,0x9ff,0x9f9,0x9f9,0x9f9,0x9f9,0x9f9,0x9f9,0x9f9,0x9f9,0x9f9,0x9f0,0x9f0,
-+0x9f0,0x9f0,0x9f0,0x9f0,0x9f0,0x9f0,0x9f0,0x9f0,0x9f0,0x3f,0x3f,0x3f,0xa02,0xa02,0xa02,0xa02,
-+0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,
-+0xa02,0x1677,0x42,0x42,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x42,0x42,0xa14,0xa17,0xa17,0xa17,
-+0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,
-+0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa17,0xa11,0xa0e,0x45,0x45,0x45,0xa1d,0xa1d,0xa1d,0xa1d,
-+0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1a,0xa1a,0xa1a,0xa1d,0xa1d,0xa1d,0x1470,0x1470,0x1470,
-+0x1470,0x1470,0x1470,0x1470,0x1470,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0xa3e,0xa3e,0xa3e,0xa3e,
-+0xa3e,0xa3e,0xa20,0xa3e,0xa3e,0xa23,0xa23,0xa23,0xa23,0xa23,0xa23,0xa23,0xa23,0xa23,0xa26,0xa23,
-+0xa35,0xa35,0xa38,0xa41,0xa2f,0xa2c,0xa35,0xa32,0xa41,0xc75,0x4b,0x4b,0xa3b,0xa3b,0xa3b,0xa3b,
-+0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0xc78,0xc78,0xc78,0xc78,
-+0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0xa4d,0xa4d,0xacb,0xace,
-+0xa53,0xac8,0xa50,0xa4d,0xa56,0xa65,0xa59,0xa68,0xa68,0xa68,0xa47,0x4e,0xa5c,0xa5c,0xa5c,0xa5c,
-+0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa4a,0xf6c,0x4e,0x4e,0x4e,0x4e,0x4e,0x1122,0x1122,0x1122,0x1122,
-+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x45c,0x45c,0x45c,0x45c,
- 0x45c,0x45c,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45c,0x45c,0x45c,0x45c,
- 0x45c,0x45c,0x51,0x51,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x51,0x51,0x45c,0x45c,0x45c,0x45c,
- 0x45c,0x45c,0x45c,0x45c,0x51,0x45f,0x51,0x45f,0x51,0x45f,0x51,0x45f,0x45c,0x45c,0x45c,0x45c,
-@@ -1861,1121 +1861,1132 @@ static const uint16_t propsVectorsTrie_index[27272]={
- 0x45c,0x51,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x453,0x453,0x453,0x45c,0x45c,0x45c,0x45c,
- 0x51,0x51,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x51,0x453,0x453,0x453,0x45c,0x45c,0x45c,0x45c,
- 0x45c,0x45c,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x453,0x453,0x453,0x51,0x51,0x45c,0x45c,
--0x45c,0x51,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x459,0x456,0x51,0xb04,0xb07,0xb07,0xb07,
--0xf1b,0x54,0x13bc,0x13bc,0x13bc,0x13bc,0x468,0x468,0x468,0x468,0x468,0x468,0x4b0,0xb19,0x57,0x57,
--0x64e,0x4b0,0x4b0,0x4b0,0x4b0,0x4b0,0x4b6,0x4c8,0x4b6,0x4c2,0x4bc,0x651,0x4ad,0x64b,0x64b,0x64b,
--0x64b,0x4ad,0x4ad,0x4ad,0x4ad,0x4ad,0x4b3,0x4c5,0x4b3,0x4bf,0x4b9,0x57,0xd11,0xd11,0xd11,0xd11,
--0xd11,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x57,0x57,0x57,0x4ce,0x4ce,0x4ce,0x4ce,
--0x4ce,0x4ce,0x4ce,0x4cb,0x4d1,0x6b4,0x4ce,0x906,0x927,0xa3b,0xa3b,0xa3b,0xb1c,0xb1c,0xd14,0xd14,
--0xd14,0xd14,0x1083,0x1086,0x1086,0x123c,0x13b6,0x13e0,0x13e3,0x13e3,0x15cf,0x5a,0x5a,0x5a,0x5a,0x5a,
-+0x45c,0x51,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x459,0x456,0x51,0xb40,0xb43,0xb43,0xb43,
-+0xf75,0x54,0x144f,0x144f,0x144f,0x144f,0x468,0x468,0x468,0x468,0x468,0x468,0x4b0,0xb55,0x57,0x57,
-+0x66f,0x4b0,0x4b0,0x4b0,0x4b0,0x4b0,0x4b6,0x4c8,0x4b6,0x4c2,0x4bc,0x672,0x4ad,0x66c,0x66c,0x66c,
-+0x66c,0x4ad,0x4ad,0x4ad,0x4ad,0x4ad,0x4b3,0x4c5,0x4b3,0x4bf,0x4b9,0x57,0xd62,0xd62,0xd62,0xd62,
-+0xd62,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x57,0x57,0x57,0x4ce,0x4ce,0x4ce,0x4ce,
-+0x4ce,0x4ce,0x4ce,0x4cb,0x4d1,0x6e7,0x4ce,0x93f,0x960,0xa77,0xa77,0xa77,0xb58,0xb58,0xd65,0xd65,
-+0xd65,0xd65,0x10e3,0x10e6,0x10e6,0x12b1,0x1449,0x1473,0x1476,0x1476,0x167a,0x5a,0x5a,0x5a,0x5a,0x5a,
- 0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x4d7,0x4d7,0x4d7,0x4d7,
--0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d4,0x4d4,0x4d4,0x4d4,0x4d7,0xa3e,0xa3e,
--0xb1f,0xb25,0xb25,0xb22,0xb22,0xb22,0xb22,0xd17,0xe22,0xe22,0xe22,0xe22,0x1056,0x5d,0x5d,0x5d,
--0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x507,0x507,0x507,0xa47,
--0xe2b,0xf21,0xf21,0xf21,0xf21,0x11b5,0x15d2,0x15d2,0x60,0x60,0x60,0x60,0x678,0x678,0x678,0x678,
--0x678,0x678,0x678,0x678,0x678,0x678,0x513,0x513,0x510,0x510,0x510,0x510,0xe31,0xe31,0xe31,0xe2e,
--0xe2e,0xe2e,0xe2e,0xe2e,0x108c,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x1242,0x1242,0x1242,0x1242,
--0x13e6,0x13e6,0x13e6,0x13e6,0x13e6,0x13e6,0x13e6,0x63,0x63,0x63,0x63,0x63,0x537,0x537,0x537,0x537,
--0x537,0xa50,0xa50,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
--0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x53a,0x53a,0x53a,0x53a,
--0x53a,0x53a,0x53a,0x53a,0x53a,0x53a,0x53a,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
--0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0xa6b,0xa6b,0xa6b,0xa6b,
--0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,
--0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0x6c,0xa6b,0xa6b,0xa6b,0xa6b,0xa6e,0xa6b,0xa6b,0xa6b,0xa6b,
--0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6e,
--0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0xa71,0xa71,0xa71,0xa71,
--0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,
--0xa71,0xa71,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x75,0x792,0x78c,0x792,
--0x78c,0x792,0x78c,0x792,0x78c,0x792,0x78c,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,
--0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78c,0x78c,0x78c,0x792,
--0x78c,0x792,0x78c,0x792,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x792,0x78c,0x78c,0x78c,0x78c,0x78c,
--0x78f,0xbbb,0xbbb,0x75,0x75,0x8a0,0x8a0,0x86d,0x86d,0x795,0x798,0xbb8,0x78,0x78,0x78,0x78,
--0x78,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,
--0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x7aa,0x104a,0x78,0x78,
--0x7b,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
--0x7ad,0x7ad,0x7ad,0x7b,0x876,0x876,0x879,0x879,0x879,0x879,0x879,0x879,0x879,0x879,0x879,0x879,
--0x879,0x879,0x879,0x879,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,
--0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0x12cc,0x12cc,0x12cc,0x7e,
--0x7e,0x7e,0x7e,0x7e,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,
--0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,0x7b6,
--0x7b6,0xcb4,0xcb4,0x81,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,
--0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,
--0x7bc,0x7bc,0x7bc,0x81,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,
--0xa83,0x84,0x84,0x84,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,
--0xa89,0xa89,0xa89,0xa89,0xa89,0xbc4,0xa89,0xa89,0xa89,0xbc4,0xa89,0x87,0x87,0x87,0x87,0x87,
--0x87,0x87,0x87,0x87,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,
--0x10e9,0x10e9,0x10e9,0x10e9,0x921,0x921,0x921,0x921,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
--0x8a,0x8a,0x8a,0x8a,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,
--0x115e,0x115e,0x115e,0x115e,0x579,0x579,0x579,0x579,0x579,0x579,0x579,0x8d,0x8d,0x8d,0x8d,0x8d,
--0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x567,0x567,0x567,0x567,0x567,0x8d,0x8d,0x8d,0x8d,
--0x8d,0xa5c,0x56a,0x570,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x56d,0x570,0x570,
--0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x8d,0x570,0x570,0x570,0x570,
--0x570,0x8d,0x570,0x8d,0x570,0x570,0x8d,0x570,0x570,0x8d,0x570,0x570,0x570,0x570,0x570,0x570,
--0x570,0x570,0x570,0x573,0x58b,0x585,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,
--0x588,0x58e,0x58b,0x585,0x1251,0x1251,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
--0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x58b,0x585,0x58b,
--0x585,0x58b,0x58b,0x585,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
--0x90,0x90,0x90,0x90,0x588,0x585,0x588,0x588,0x588,0x588,0x588,0x588,0x585,0x588,0x585,0x585,
--0x588,0x588,0x585,0x585,0x585,0x585,0x585,0x588,0x585,0x585,0x588,0x585,0x588,0x588,0x588,0x585,
--0x588,0x588,0x588,0x588,0x90,0x90,0x588,0x588,0x588,0x588,0x585,0x585,0x588,0x585,0x585,0x585,
--0x585,0x588,0x585,0x585,0x585,0x585,0x585,0x588,0x588,0x588,0x585,0x585,0x90,0x90,0x90,0x90,
--0x90,0x90,0x90,0x90,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,0xaa4,
--0xaa4,0xaa4,0xaa4,0xaa4,0x58b,0x58b,0x8be,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x582,0x582,
--0xb55,0xcc9,0x90,0x90,0x7ce,0x7e0,0x7dd,0x7e0,0x7dd,0xbd9,0xbd9,0xcc0,0xcbd,0x7d1,0x7d1,0x7d1,
--0x7d1,0x7e3,0x7e3,0x7e3,0x7fb,0x7fe,0x80d,0x93,0x801,0x804,0x810,0x810,0x7f8,0x7ef,0x7e9,0x7ef,
--0x7e9,0x7ef,0x7e9,0x7ec,0x7ec,0x807,0x807,0x80a,0x807,0x807,0x807,0x93,0x807,0x7f5,0x7f2,0x7ec,
--0x93,0x93,0x93,0x93,0x597,0x5a3,0x597,0xb58,0x597,0x96,0x597,0x5a3,0x597,0x5a3,0x597,0x5a3,
--0x597,0x5a3,0x597,0x5a3,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,
--0x5a3,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x5a0,
--0x59a,0x96,0x96,0x594,0x6d5,0x6d8,0x6ed,0x6f0,0x6cf,0x6d8,0x6d8,0x9c,0x6b7,0x6ba,0x6ba,0x6ba,
--0x6ba,0x6b7,0x6b7,0x9c,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0xa5f,0xa5f,0xa5f,
--0x924,0x6b1,0x5a6,0x5a6,0x9c,0x6ff,0x6de,0x6cf,0x6d8,0x6d5,0x6cf,0x6e1,0x6d2,0x6cc,0x6cf,0x6ed,
--0x6e4,0x6db,0x6fc,0x6cf,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6ea,0x6e7,
--0x6ed,0x6ed,0x6ed,0x6ff,0x6c0,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,
--0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,
--0x6bd,0x6bd,0x6bd,0x9c,0x9c,0x9c,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x9c,0x9c,0x6bd,0x6bd,
--0x6bd,0x6bd,0x6bd,0x6bd,0x9c,0x9c,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x9c,0x9c,0x6bd,0x6bd,
--0x6bd,0x9c,0x9c,0x9c,0xaa7,0xaa7,0xaa7,0xaa7,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
--0x9f,0x9f,0x9f,0x9f,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,
--0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xa2,0xa2,0xa2,0xa2,0xa2,0x1536,0x1536,0x1536,0x1536,
--0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0xab6,0xab6,0xab6,0xab6,
--0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,
--0xab6,0xab6,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xa8,0xa8,0xf2d,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0x15d8,0x15d8,0x15d8,0x15d8,
--0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
--0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xab,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xada,0xada,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xada,0xab,0xada,0xada,0xab,0xab,0xada,0xab,
--0xab,0xada,0xada,0xab,0xab,0xada,0xada,0xada,0xada,0xab,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xad7,0xad7,0xad7,0xad7,0xab,0xad7,0xab,0xad7,0xad7,0xad7,0xad7,0xc4b,0xad7,0xad7,
--0xab,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xad7,0xad7,0xad7,0xad7,
--0xada,0xada,0xab,0xada,0xada,0xada,0xada,0xab,0xab,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xab,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xab,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xada,0xada,0xab,0xada,0xada,0xada,0xada,0xab,0xada,0xada,0xada,0xada,
--0xada,0xab,0xada,0xab,0xab,0xab,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xab,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xd29,0xd29,0xab,0xab,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xad7,0xad7,0xad7,0xad1,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xe3a,0xe37,0xab,0xab,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,
--0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xae,0xae0,0xae,0xae,0xae,0xae,0xae,0xae,
-+0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d7,0x4d4,0x4d4,0x4d4,0x4d4,0x4d7,0xa7a,0xa7a,
-+0xb5b,0xb61,0xb61,0xb5e,0xb5e,0xb5e,0xb5e,0xd68,0xe7c,0xe7c,0xe7c,0xe7c,0x10b6,0x5d,0x5d,0x5d,
-+0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x507,0x507,0x507,0xa83,
-+0xe85,0xf7b,0xf7b,0xf7b,0xf7b,0x1215,0x167d,0x167d,0x60,0x60,0x60,0x60,0x699,0x699,0x699,0x699,
-+0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x513,0x513,0x510,0x510,0x510,0x510,0xe8b,0xe8b,0xe8b,0xe88,
-+0xe88,0xe88,0xe88,0xe88,0x10ec,0x12ba,0x12ba,0x12ba,0x12ba,0x12b4,0x12b4,0x12b4,0x12bd,0x12b7,0x12b7,0x12bd,
-+0x1479,0x1479,0x1479,0x1479,0x147c,0x147c,0x147c,0x63,0x63,0x63,0x63,0x63,0x53d,0x53d,0x53d,0x53d,
-+0x53d,0xa8c,0xa8c,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
-+0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x540,0x540,0x540,0x540,
-+0x540,0x540,0x540,0x540,0x540,0x540,0x540,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
-+0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0xaa7,0xaa7,0xaa7,0xaa7,
-+0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,
-+0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0x6c,0xaa7,0xaa7,0xaa7,0xaa7,0xaaa,0xaa7,0xaa7,0xaa7,0xaa7,
-+0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaaa,
-+0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0xaad,0xaad,0xaad,0xaad,
-+0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,
-+0xaad,0xaad,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x75,0x7c8,0x7c2,0x7c8,
-+0x7c2,0x7c8,0x7c2,0x7c8,0x7c2,0x7c8,0x7c2,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,
-+0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c2,0x7c2,0x7c2,0x7c8,
-+0x7c2,0x7c8,0x7c2,0x7c8,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c8,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,
-+0x7c5,0xc03,0xc03,0x75,0x75,0x8d9,0x8d9,0x8a3,0x8a3,0x7cb,0x7ce,0xc00,0x78,0x78,0x78,0x78,
-+0x78,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,
-+0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x10aa,0x78,0x78,
-+0x7b,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,
-+0x7e3,0x7e3,0x7e3,0x7b,0x8ac,0x8ac,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,0x8af,
-+0x8af,0x8af,0x8af,0x8af,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,
-+0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0x135c,0x135c,0x135c,0x7e,
-+0x7e,0x7e,0x7e,0x7e,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,
-+0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,0x7ec,
-+0x7ec,0xd05,0xd05,0x81,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,
-+0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,
-+0x7f2,0x7f2,0x7f2,0x81,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,
-+0xabf,0x84,0x84,0x84,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,
-+0xac5,0xac5,0xac5,0xac5,0xac5,0xc0c,0xac5,0xac5,0xac5,0xc0c,0xac5,0x87,0x87,0x87,0x87,0x87,
-+0x87,0x87,0x87,0x87,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,
-+0x1149,0x1149,0x1149,0x1149,0x95a,0x95a,0x95a,0x95a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
-+0x8a,0x8a,0x8a,0x8a,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,
-+0x11be,0x11be,0x11be,0x11be,0x59a,0x59a,0x59a,0x59a,0x59a,0x59a,0x59a,0x8d,0x8d,0x8d,0x8d,0x8d,
-+0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x588,0x588,0x588,0x588,0x588,0x8d,0x8d,0x8d,0x8d,
-+0x8d,0xa98,0x58b,0x591,0x597,0x597,0x597,0x597,0x597,0x597,0x597,0x597,0x597,0x58e,0x591,0x591,
-+0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x8d,0x591,0x591,0x591,0x591,
-+0x591,0x8d,0x591,0x8d,0x591,0x591,0x8d,0x591,0x591,0x8d,0x591,0x591,0x591,0x591,0x591,0x591,
-+0x591,0x591,0x591,0x594,0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5a9,0x5af,0x5ac,0x5a6,0x12cf,0x12cf,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
-+0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,
-+0x5a6,0x5ac,0x5ac,0x5a6,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
-+0x90,0x90,0x90,0x90,0x5a9,0x5a6,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a6,0x5a9,0x5a6,0x5a6,
-+0x5a9,0x5a9,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a6,0x5a6,0x5a9,0x5a6,0x5a9,0x5a9,0x5a9,0x5a6,
-+0x5a9,0x5a9,0x5a9,0x5a9,0x90,0x90,0x5a9,0x5a9,0x5a9,0x5a9,0x5a6,0x5a6,0x5a9,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a9,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a9,0x5a6,0x5a6,0x90,0x90,0x90,0x90,
-+0x90,0x90,0x90,0x90,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,0xae0,
-+0xae0,0xae0,0xae0,0xae0,0x5ac,0x5ac,0x8f7,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5a3,0x5a3,
-+0xb9a,0xd1a,0x90,0x90,0x804,0x816,0x813,0x816,0x813,0xc21,0xc21,0xd11,0xd0e,0x807,0x807,0x807,
-+0x807,0x819,0x819,0x819,0x831,0x834,0x843,0x93,0x837,0x83a,0x846,0x846,0x82e,0x825,0x81f,0x825,
-+0x81f,0x825,0x81f,0x822,0x822,0x83d,0x83d,0x840,0x83d,0x83d,0x83d,0x93,0x83d,0x82b,0x828,0x822,
-+0x93,0x93,0x93,0x93,0x5b8,0x5c4,0x5b8,0xb9d,0x5b8,0x96,0x5b8,0x5c4,0x5b8,0x5c4,0x5b8,0x5c4,
-+0x5b8,0x5c4,0x5b8,0x5c4,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,
-+0x5c4,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,
-+0x5bb,0x96,0x96,0x5b5,0x708,0x70b,0x720,0x723,0x702,0x70b,0x70b,0x9c,0x6ea,0x6ed,0x6ed,0x6ed,
-+0x6ed,0x6ea,0x6ea,0x9c,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0xa9b,0xa9b,0xa9b,
-+0x95d,0x6e4,0x5c7,0x5c7,0x9c,0x732,0x711,0x702,0x70b,0x708,0x702,0x714,0x705,0x6ff,0x702,0x720,
-+0x717,0x70e,0x72f,0x702,0x72c,0x72c,0x72c,0x72c,0x72c,0x72c,0x72c,0x72c,0x72c,0x72c,0x71d,0x71a,
-+0x720,0x720,0x720,0x732,0x6f3,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,
-+0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,
-+0x6f0,0x6f0,0x6f0,0x9c,0x9c,0x9c,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x9c,0x9c,0x6f0,0x6f0,
-+0x6f0,0x6f0,0x6f0,0x6f0,0x9c,0x9c,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x6f0,0x9c,0x9c,0x6f0,0x6f0,
-+0x6f0,0x9c,0x9c,0x9c,0xae3,0xae3,0xae3,0xae3,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
-+0x9f,0x9f,0x9f,0x9f,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,
-+0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xa2,0xa2,0xa2,0xa2,0xa2,0x15e1,0x15e1,0x15e1,0x15e1,
-+0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0xaf2,0xaf2,0xaf2,0xaf2,
-+0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,
-+0xaf2,0xaf2,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xa8,0xa8,0xf87,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0x1683,0x1683,0x1683,0x1683,
-+0x1683,0x1683,0x1683,0x1683,0x1683,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
-+0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xab,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb16,0xab,0xb16,0xb16,0xab,0xab,0xb16,0xab,
-+0xab,0xb16,0xb16,0xab,0xab,0xb16,0xb16,0xb16,0xb16,0xab,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb13,0xb13,0xb13,0xb13,0xab,0xb13,0xab,0xb13,0xb13,0xb13,0xb13,0xc99,0xb13,0xb13,
-+0xab,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb13,0xb13,0xb13,0xb13,
-+0xb16,0xb16,0xab,0xb16,0xb16,0xb16,0xb16,0xab,0xab,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xab,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xab,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xab,0xb16,0xb16,0xb16,0xb16,0xab,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xab,0xb16,0xab,0xab,0xab,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xab,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xd83,0xd83,0xab,0xab,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb13,0xb13,0xb13,0xb0d,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xe94,0xe91,0xab,0xab,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-+0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xae,0xb1c,0xae,0xae,0xae,0xae,0xae,0xae,
- 0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
--0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,
--0xb67,0xb67,0xb67,0xb67,0xb67,0xb1,0xb67,0xb67,0xb67,0xb67,0xb61,0xb61,0xb64,0xb1,0xb1,0xb1,
--0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,
--0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb6a,0xb6a,0xb6d,0xbcd,0xbcd,0xb4,
--0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
--0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb73,0xb73,0xb7,0xb7,0xb7,0xb7,
--0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,
--0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xba,0xb7c,0xb7c,0xb7c,0xba,0xb79,0xb79,0xba,0xba,0xba,0xba,
--0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,
--0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,
--0xc5d,0xc5d,0xc5d,0xc5d,0xc5d,0x13f8,0x13f8,0xbd,0xc4e,0xc4e,0xc4e,0xc5a,0xc5a,0xc5a,0xc5a,0xc4e,
--0xc4e,0xc5a,0xc5a,0xc5a,0xbd,0xbd,0xbd,0xbd,0xc5a,0xc5a,0xc4e,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,
--0xc5a,0xc51,0xc51,0xc51,0xbd,0xbd,0xbd,0xbd,0xc54,0xbd,0xbd,0xbd,0xc60,0xc60,0xc57,0xc57,
--0xc57,0xc57,0xc57,0xc57,0xc57,0xc57,0xc57,0xc57,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,
--0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc63,0xc0,0xc0,0xc63,0xc63,0xc63,0xc63,
--0xc63,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x13fb,0x13fb,0x13fb,0x13fb,
--0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
--0xc3,0xc3,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
--0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0xc3,0xc3,0x13fb,0x13fb,0x13fb,0x13fb,
--0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
--0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0xc3,0xc3,0xc3,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
--0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0xc3,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0xc3,0xc3,
--0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x15db,0x15db,0x15db,0x15db,
-+0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xbac,0xbac,0xbac,0xbac,0xbac,0xbac,0xbac,0xbac,
-+0xbac,0xbac,0xbac,0xbac,0xbac,0xb1,0xbac,0xbac,0xbac,0xbac,0xba6,0xba6,0xba9,0xb1,0xb1,0xb1,
-+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,
-+0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbb5,0xbaf,0xbaf,0xbb2,0xc15,0xc15,0xb4,
-+0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,
-+0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbbb,0xbb8,0xbb8,0xb7,0xb7,0xb7,0xb7,
-+0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,
-+0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xba,0xbc1,0xbc1,0xbc1,0xba,0xbbe,0xbbe,0xba,0xba,0xba,0xba,
-+0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,
-+0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,
-+0xcab,0xcab,0xcab,0xcab,0xcab,0x148e,0x148e,0xbd,0xc9c,0xc9c,0xc9c,0xca8,0xca8,0xca8,0xca8,0xc9c,
-+0xc9c,0xca8,0xca8,0xca8,0xbd,0xbd,0xbd,0xbd,0xca8,0xca8,0xc9c,0xca8,0xca8,0xca8,0xca8,0xca8,
-+0xca8,0xc9f,0xc9f,0xc9f,0xbd,0xbd,0xbd,0xbd,0xca2,0xbd,0xbd,0xbd,0xcae,0xcae,0xca5,0xca5,
-+0xca5,0xca5,0xca5,0xca5,0xca5,0xca5,0xca5,0xca5,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,
-+0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xcb1,0xc0,0xc0,0xcb1,0xcb1,0xcb1,0xcb1,
-+0xcb1,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x1491,0x1491,0x1491,0x1491,
-+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
-+0xc3,0xc3,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
-+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0xc3,0xc3,0x1491,0x1491,0x1491,0x1491,
-+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
-+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0xc3,0xc3,0xc3,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
-+0x1491,0x1491,0x1491,0x1491,0x1491,0xc3,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0xc3,0xc3,
-+0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x1686,0x1686,0x1686,0x1686,
- 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
--0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc6,0xc87,0xc87,0xc87,
--0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,
--0xc87,0xc87,0xc87,0xc6,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,
--0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc6,0xc87,0xc87,0xc6,0xc87,0xc87,0xc87,0xc87,0xc87,
--0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc6,0xc6,0xc87,0xc87,0xc87,0xc87,
--0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc87,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
-+0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xc6,0xcd8,0xcd8,0xcd8,
-+0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,
-+0xcd8,0xcd8,0xcd8,0xc6,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,
-+0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xc6,0xcd8,0xcd8,0xc6,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,
-+0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xc6,0xc6,0xcd8,0xcd8,0xcd8,0xcd8,
-+0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xcd8,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
- 0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
--0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc8a,0xc8a,0xc8a,0xc8a,
--0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,
--0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc9,0xc9,0xc9,0xc9,0xc9,0xcc6,0xcc6,0xcc6,0xcc,
--0xcc,0xcc,0xcc,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,
--0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc,0xcc,0xcc,0xcc3,
--0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,
--0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,
--0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xcf,0xc8d,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,
--0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,
--0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xd2,0xd2,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xd5,0xd5,
--0xc9c,0xd5,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,
--0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xc9c,0xd5,0xc9c,0xc9c,0xd5,0xd5,0xd5,
--0xc9c,0xd5,0xd5,0xc9c,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,
--0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xd8,0xd8,0xd8,0xd8,0xd8,
--0xd8,0xd8,0xd8,0xd8,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0x13fe,
--0x13fe,0xde,0xde,0xde,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,
--0x135,0x135,0x135,0x135,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,
--0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd4d,0xd4d,0xd53,0xd53,0xd4d,
--0xe1,0xe1,0xd50,0xd50,0x1053,0x1053,0x1053,0x1053,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,
--0xe4,0xe4,0xe4,0xe4,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,
--0xbca,0xbca,0xbca,0xbca,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0x1401,0x1401,0x1401,0x1401,0x1401,
--0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1404,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,
--0x125d,0x1098,0xe49,0xe49,0xd68,0xd65,0xd68,0xd65,0xd65,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0x10a1,
--0x109e,0x10a1,0x109e,0x109b,0x109b,0x109b,0x12f6,0x12f3,0xea,0xea,0xea,0xea,0xea,0xd62,0xd5f,0xd5f,
--0xd5f,0xd5c,0xd62,0xd5f,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,
--0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xed,0xed,0xed,0xed,0xed,
--0xed,0xed,0xed,0xed,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xed,0xd6b,0xd6b,0xd6b,0xd6b,
--0xd6b,0xd6b,0xd6b,0xed,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xed,0xd6b,0xd6b,0xd6b,0xd6b,
--0xd6b,0xd6b,0xd6b,0xed,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,
--0xd71,0xd71,0xd71,0xd71,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xf0,0xf0,
--0xf0,0xf0,0xf0,0xf0,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xf3,0x12f9,0xf3,0xf3,0xf3,0xf3,
--0xf3,0x12f9,0xf3,0xf3,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,
--0xdce,0xdce,0xdce,0xdce,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,
--0xd7a,0xd7a,0xd7a,0xf6,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,
--0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,
--0xd77,0xd77,0xd77,0xf6,0xd8c,0xd80,0xd80,0xd80,0xf9,0xd80,0xd80,0xf9,0xf9,0xf9,0xf9,0xf9,
--0xd80,0xd80,0xd80,0xd80,0xd8c,0xd8c,0xd8c,0xd8c,0xf9,0xd8c,0xd8c,0xd8c,0xf9,0xd8c,0xd8c,0xd8c,
--0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,0xd8c,
--0xd8c,0xd8c,0xd8c,0xd8c,0xf9,0xf9,0xf9,0xf9,0xd7d,0xd7d,0xd7d,0xf9,0xf9,0xf9,0xf9,0xd83,
--0xd86,0xd86,0xd86,0xd86,0xd86,0xd86,0xd86,0xd86,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
--0xd89,0xd89,0xd89,0xd89,0xd89,0xd89,0xd8f,0xd8f,0xd86,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
--0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0x10a7,0x10a7,0xfc,0xfc,0xfc,0xfc,
--0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9e,0xd9e,0xd9e,0xd9b,0xd9b,0xd9e,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,
--0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xd98,0xd98,0xd98,0xd98,
--0xd98,0xd98,0xd98,0xd98,0xd98,0xd98,0x10a4,0xfc,0xfc,0xfc,0xd95,0xd95,0xda4,0xda4,0xda4,0xda4,
--0xff,0xff,0xff,0xff,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda1,0xda4,0xda4,0xda4,
--0xda4,0xda4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x140d,0x1413,0x1410,0x102,
-+0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xcdb,0xcdb,0xcdb,0xcdb,
-+0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,
-+0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xc9,0xc9,0xc9,0xc9,0xc9,0xd17,0xd17,0xd17,0xcc,
-+0xcc,0xcc,0xcc,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,
-+0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xcc,0xcc,0xcc,0xd14,
-+0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,
-+0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,
-+0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0xcf,0xcde,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,
-+0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,
-+0xcea,0xcea,0xcea,0xcea,0xcea,0xcea,0xd2,0xd2,0xced,0xced,0xced,0xced,0xced,0xced,0xd5,0xd5,
-+0xced,0xd5,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,
-+0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xced,0xd5,0xced,0xced,0xd5,0xd5,0xd5,
-+0xced,0xd5,0xd5,0xced,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,
-+0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xd8,0xd8,0xd8,0xd8,0xd8,
-+0xd8,0xd8,0xd8,0xd8,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0x1494,
-+0x1494,0xde,0xde,0xde,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,0x1086,
-+0x135,0x135,0x135,0x135,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,
-+0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xdb0,0xda7,0xda7,0xdad,0xdad,0xda7,
-+0xe1,0xe1,0xdaa,0xdaa,0x10b3,0x10b3,0x10b3,0x10b3,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,
-+0xe4,0xe4,0xe4,0xe4,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,0xc12,
-+0xc12,0xc12,0xc12,0xc12,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0x1497,0x1497,0x1497,0x1497,0x1497,
-+0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x149a,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,
-+0x12db,0x10f8,0xea3,0xea3,0xdc2,0xdbf,0xdc2,0xdbf,0xdbf,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0x1101,
-+0x10fe,0x1101,0x10fe,0x10fb,0x10fb,0x10fb,0x1389,0x1386,0xea,0xea,0xea,0xea,0xea,0xdbc,0xdb9,0xdb9,
-+0xdb9,0xdb6,0xdbc,0xdb9,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,
-+0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xed,0xed,0xed,0xed,0xed,
-+0xed,0xed,0xed,0xed,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xed,0xdc5,0xdc5,0xdc5,0xdc5,
-+0xdc5,0xdc5,0xdc5,0xed,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xdc5,0xed,0xdc5,0xdc5,0xdc5,0xdc5,
-+0xdc5,0xdc5,0xdc5,0xed,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,
-+0xdcb,0xdcb,0xdcb,0xdcb,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xf0,0xf0,
-+0xf0,0xf0,0xf0,0xf0,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xf3,0x138c,0xf3,0xf3,0xf3,0xf3,
-+0xf3,0x138c,0xf3,0xf3,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,
-+0xe28,0xe28,0xe28,0xe28,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,
-+0xdd4,0xdd4,0xdd4,0xf6,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,
-+0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,0xdd1,
-+0xdd1,0xdd1,0xdd1,0xf6,0xde6,0xdda,0xdda,0xdda,0xf9,0xdda,0xdda,0xf9,0xf9,0xf9,0xf9,0xf9,
-+0xdda,0xdda,0xdda,0xdda,0xde6,0xde6,0xde6,0xde6,0xf9,0xde6,0xde6,0xde6,0xf9,0xde6,0xde6,0xde6,
-+0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,
-+0xde6,0xde6,0xde6,0xde6,0xf9,0xf9,0xf9,0xf9,0xdd7,0xdd7,0xdd7,0xf9,0xf9,0xf9,0xf9,0xddd,
-+0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
-+0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde9,0xde9,0xde0,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
-+0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0x1107,0x1107,0xfc,0xfc,0xfc,0xfc,
-+0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf8,0xdf8,0xdf8,0xdf5,0xdf5,0xdf8,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,
-+0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xdf2,0xdf2,0xdf2,0xdf2,
-+0xdf2,0xdf2,0xdf2,0xdf2,0xdf2,0xdf2,0x1104,0xfc,0xfc,0xfc,0xdef,0xdef,0xdfe,0xdfe,0xdfe,0xdfe,
-+0xff,0xff,0xff,0xff,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfb,0xdfe,0xdfe,0xdfe,
-+0xdfe,0xdfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x14a3,0x14a9,0x14a6,0x102,
- 0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,
- 0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,
--0xdcb,0xdcb,0xdcb,0xdc8,0xdc8,0xdbf,0xdbf,0xdc8,0xdc5,0xdc5,0xdc5,0xdc5,0x105,0x105,0x105,0x105,
--0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1203,0x1200,0x159,0x159,0x159,0x159,0x159,0x159,
--0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0x1305,0x1305,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0xdd1,
--0x1263,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x1260,
--0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,
--0xdf8,0xde9,0xde3,0xdf5,0xdf2,0xdec,0xdec,0xdfb,0xde6,0xdef,0x10b,0x10b,0x10b,0x10b,0x10b,0x10b,
--0xe7c,0xe7c,0xe67,0xe7c,0xe7f,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0x111,0x111,0x111,0x111,
--0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe88,0xe88,0xe6d,0xe73,0xe88,0xe88,
--0xe70,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,
--0xe6a,0xe6a,0xe6a,0xe6a,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0x111,0x111,0x111,
--0x1269,0x1266,0x1269,0x1266,0x1269,0x1266,0x1269,0x1266,0x1269,0x1266,0x130b,0x141f,0x141f,0x141f,0x114,0x114,
--0x141f,0x141f,0x15e4,0x15e4,0x15e4,0x15de,0x15e4,0x15de,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,
-+0xe25,0xe25,0xe25,0xe22,0xe22,0xe19,0xe19,0xe22,0xe1f,0xe1f,0xe1f,0xe1f,0x105,0x105,0x105,0x105,
-+0x1275,0x1275,0x1275,0x1275,0x1275,0x1275,0x1275,0x1275,0x1278,0x1275,0x159,0x159,0x159,0x159,0x159,0x159,
-+0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0x1398,0x1398,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0xe2b,
-+0x12e1,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x12de,
-+0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,0xbe8,
-+0xe52,0xe43,0xe3d,0xe4f,0xe4c,0xe46,0xe46,0xe55,0xe40,0xe49,0x10b,0x10b,0x10b,0x10b,0x10b,0x10b,
-+0xed6,0xed6,0xec1,0xed6,0xed9,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0x111,0x111,0x111,0x111,
-+0xed0,0xed0,0xed0,0xed0,0xed0,0xed0,0xed0,0xed0,0xed0,0xed0,0xee2,0xee2,0xec7,0xecd,0xee2,0xee2,
-+0xeca,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec4,0xec4,0xec4,0xec4,0xec4,
-+0xec4,0xec4,0xec4,0xec4,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0x111,0x111,0x111,
-+0x12e7,0x12e4,0x12e7,0x12e4,0x12e7,0x12e4,0x12e7,0x12e4,0x12e7,0x12e4,0x139e,0x14b5,0x14b5,0x14b5,0x114,0x114,
-+0x14b5,0x14b5,0x168f,0x168f,0x168f,0x1689,0x168f,0x1689,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,
- 0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,
--0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x141c,0x130e,0x130e,0x1266,0xf84,
--0xf84,0xf84,0xf84,0xf84,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,
--0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe94,0xe94,0xe9a,0xe9a,0x117,0x117,0x117,0x117,
--0x117,0x117,0x117,0x117,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,
--0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xe9d,0xe9d,0xe9d,0xe9d,0x10b0,0x10b0,
--0x11a,0x11a,0x11a,0xea0,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,
--0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x15e7,0x11d,0x11d,
-+0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x14b2,0x13a1,0x13a1,0x12e4,0xfe1,
-+0xfe1,0xfe1,0xfe1,0xfe1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,
-+0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xeee,0xeee,0xef4,0xef4,0x117,0x117,0x117,0x117,
-+0x117,0x117,0x117,0x117,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,
-+0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xefd,0xef7,0xef7,0xef7,0xef7,0x1110,0x1110,
-+0x11a,0x11a,0x11a,0xefa,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,
-+0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x1692,0x11d,0x11d,
- 0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,
- 0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,
--0xeac,0xeac,0xeac,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x1428,0x120,
--0xea9,0xea9,0xea9,0xea9,0x1425,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,
--0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,
--0xeaf,0xeaf,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,
--0xfab,0xfab,0xfab,0xfab,0xfa8,0xfa8,0xfa8,0xfa8,0xfa8,0xfa8,0xfa8,0xfa8,0xf99,0xf99,0xf99,0xf99,
--0xf99,0xf99,0xf99,0xf99,0xfa8,0xfa8,0xf9f,0xf9c,0x126,0x126,0x126,0xfae,0xfae,0xfa2,0xfa2,0xfa2,
--0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0x126,0x126,0x126,0xfab,0xfab,0xfab,
--0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb1,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,
--0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc9,0xfc9,0x129,0x129,0x129,0x129,
-+0xf06,0xf06,0xf06,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x120,
-+0xf03,0xf03,0xf03,0xf03,0x14bb,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,
-+0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,0xf09,
-+0xf09,0xf09,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x123,
-+0x1008,0x1008,0x1008,0x1008,0x1005,0x1005,0x1005,0x1005,0x1005,0x1005,0x1005,0x1005,0xff6,0xff6,0xff6,0xff6,
-+0xff6,0xff6,0xff6,0xff6,0x1005,0x1005,0xffc,0xff9,0x126,0x126,0x126,0x100b,0x100b,0xfff,0xfff,0xfff,
-+0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x126,0x126,0x126,0x1008,0x1008,0x1008,
-+0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,
-+0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1026,0x1026,0x129,0x129,0x129,0x129,
- 0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,
--0xff0,0xff0,0xff0,0xff0,0xfea,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0xff6,0xff6,
--0xfed,0xfed,0xfed,0xfed,0xfed,0xfed,0xfed,0xfed,0xfed,0xfed,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,
--0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
--0x1008,0x1008,0x100e,0x1011,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x100b,
--0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1017,0x1017,0x1017,0x1017,0x1017,0x1017,0x1020,
--0x1020,0x1017,0x1017,0x1020,0x1020,0x1017,0x1017,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,
--0x1023,0x1023,0x1023,0x1017,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1017,0x1020,0x132,0x132,
--0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x132,0x132,0x101a,0x1026,0x1026,0x1026,
--0x1434,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,
-+0x104d,0x104d,0x104d,0x104d,0x1047,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x1053,0x1053,
-+0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,
-+0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1065,0x1065,0x1065,0x1065,0x1065,0x1065,0x1065,0x1065,0x1065,
-+0x1065,0x1065,0x106b,0x106e,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x1068,
-+0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1074,0x1074,0x1074,0x1074,0x1074,0x1074,0x107d,
-+0x107d,0x1074,0x1074,0x107d,0x107d,0x1074,0x1074,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,
-+0x1080,0x1080,0x1080,0x1074,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1074,0x107d,0x132,0x132,
-+0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x132,0x132,0x1077,0x1083,0x1083,0x1083,
-+0x14ca,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,
- 0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,
--0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,
--0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102f,0x138,0x138,
--0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,
--0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x1032,0x13b,0x13b,0x13b,
--0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,
--0x1035,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,
--0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,
--0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x103b,0x141,0x141,0x141,0x141,0x141,0x1038,
--0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x144,0x144,0x144,0x144,
--0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,
--0x1041,0x1041,0x1041,0x1041,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,
--0x10b6,0x10b6,0x10b6,0x10b6,0x10bf,0x10b6,0x10b6,0x10b6,0x10bf,0x10b6,0x10b6,0x10b6,0x10b6,0x10b3,0x14a,0x14a,
--0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x14a,
--0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,
--0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,
--0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,
--0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10da,0x10c5,0x10da,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x150,
--0x10ce,0x10d7,0x10c5,0x10d7,0x10d7,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10da,0x10da,0x10da,
--0x10da,0x10da,0x10da,0x10c5,0x10c5,0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x150,0x150,0x10c8,
--0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x150,0x150,0x150,0x150,0x150,0x150,
--0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x150,0x150,0x150,0x150,0x150,0x150,
--0x10d1,0x10d1,0x10d1,0x10d1,0x10d1,0x10d1,0x10d1,0x10e0,0x10e3,0x10e3,0x10e3,0x10e3,0x10d1,0x10d1,0x150,0x150,
--0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1470,0x1d1,
--0x120f,0x11f4,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x11f7,0x11f7,0x11f7,0x11f7,0x1209,0x11f7,0x11f7,
--0x11f7,0x11f7,0x11fd,0x13ad,0x13b3,0x13b0,0x13aa,0x153,0x15ba,0x15ba,0x153,0x153,0x153,0x153,0x153,0x153,
--0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,
--0x10ef,0x10ef,0x10f2,0x10fb,0x10f5,0x10f5,0x10f5,0x10fb,0x156,0x156,0x156,0x156,0x156,0x156,0x156,0x156,
--0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,
--0x10fe,0x10fe,0x1104,0x1215,0x1104,0x1104,0x1104,0x1104,0x1101,0x1101,0x1101,0x1104,0x15ed,0x15f0,0x15c,0x15c,
--0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,
--0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x15f,0x15f,0x15f,
--0x1119,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x1110,0x111f,0x111f,0x110d,0x110d,0x110d,0x110d,0x162,0x1206,
--0x1113,0x1113,0x1113,0x1113,0x1113,0x1113,0x1113,0x1113,0x1113,0x1113,0x162,0x162,0x162,0x162,0x110d,0x110d,
--0x113d,0x1131,0x113d,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,
--0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x113a,0x113a,0x1140,0x1134,0x1137,
--0x1155,0x1155,0x1155,0x114f,0x114f,0x1146,0x114f,0x114f,0x1146,0x114f,0x114f,0x1158,0x1152,0x1149,0x168,0x168,
--0x114c,0x114c,0x114c,0x114c,0x114c,0x114c,0x114c,0x114c,0x114c,0x114c,0x168,0x168,0x168,0x168,0x168,0x168,
--0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x16b,0x16b,0x16b,0x16b,0x115b,0x115b,0x115b,0x115b,0x115b,
--0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,
--0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x115b,0x16b,0x16b,0x16b,0x16b,0x1167,0x1167,0x1167,0x1167,
--0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,0x1167,
--0x1167,0x1167,0x16e,0x1164,0x1161,0x1161,0x1161,0x1161,0x1161,0x1161,0x1161,0x1161,0x1176,0x1176,0x1176,0x1176,
--0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,
--0x1176,0x1176,0x171,0x171,0x171,0x1170,0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x117c,0x117c,0x117c,0x117c,
--0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,
--0x117c,0x117c,0x174,0x174,0x1179,0x1179,0x1179,0x1179,0x1179,0x1179,0x1179,0x1179,0x1182,0x1182,0x1182,0x1182,
--0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x1182,0x177,
--0x177,0x177,0x177,0x177,0x117f,0x117f,0x117f,0x117f,0x117f,0x117f,0x117f,0x117f,0x1188,0x1188,0x1188,0x1188,
--0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,
--0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x17d,0x11a6,0x11a6,0x180,0x180,
--0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x138c,0x138c,0x138c,0x138c,
--0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x11ca,0x11ca,0x11ca,0x11ca,
--0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x1440,0x1440,0x186,0x186,0x186,0x11ca,0x11ca,0x11ca,0x11ca,
--0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11cd,
--0x11cd,0x11cd,0x11b2,0x186,0x12c9,0x11d6,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,
--0x12c9,0x11d6,0x12c9,0x11d6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x131d,0x131d,
--0x186,0x186,0x186,0x186,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x11d3,0x12c6,0x11d3,
--0x11d3,0x12c6,0x12c6,0x11d3,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x11c7,0x11c7,
--0x11c7,0x11c7,0x12c0,0x12c0,0x11d0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x12c0,0x186,
-+0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,
-+0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x108c,0x138,0x138,
-+0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,
-+0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x13b,0x13b,0x13b,
-+0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,
-+0x1092,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,
-+0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,
-+0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x141,0x141,0x141,0x141,0x141,0x1095,
-+0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x144,0x144,0x144,0x144,
-+0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,
-+0x10a1,0x10a1,0x10a1,0x10a1,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,
-+0x1116,0x1116,0x1116,0x1116,0x111f,0x1116,0x1116,0x1116,0x111f,0x1116,0x1116,0x1116,0x1116,0x1113,0x14a,0x14a,
-+0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x14a,
-+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,
-+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,
-+0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,
-+0x113d,0x113d,0x113d,0x113d,0x113d,0x113a,0x1125,0x113a,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x150,
-+0x112e,0x1137,0x1125,0x1137,0x1137,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x113a,0x113a,0x113a,
-+0x113a,0x113a,0x113a,0x1125,0x1125,0x112b,0x112b,0x112b,0x112b,0x112b,0x112b,0x112b,0x112b,0x150,0x150,0x1128,
-+0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x150,0x150,0x150,0x150,0x150,0x150,
-+0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x1134,0x150,0x150,0x150,0x150,0x150,0x150,
-+0x1131,0x1131,0x1131,0x1131,0x1131,0x1131,0x1131,0x1140,0x1143,0x1143,0x1143,0x1143,0x1131,0x1131,0x150,0x150,
-+0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x151b,0x1d1,
-+0x1284,0x1269,0x127e,0x127e,0x127e,0x127e,0x127e,0x127e,0x127e,0x126c,0x126c,0x126c,0x126c,0x127e,0x126c,0x126c,
-+0x126c,0x126c,0x1272,0x1440,0x1446,0x1443,0x143d,0x153,0x1665,0x1665,0x153,0x153,0x153,0x153,0x153,0x153,
-+0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,
-+0x114f,0x114f,0x1152,0x115b,0x1155,0x1155,0x1155,0x115b,0x156,0x156,0x156,0x156,0x156,0x156,0x156,0x156,
-+0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,0x115e,
-+0x115e,0x115e,0x1164,0x128a,0x1164,0x1164,0x1164,0x1164,0x1161,0x1161,0x1161,0x1164,0x1698,0x169b,0x15c,0x15c,
-+0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,
-+0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x15f,0x15f,0x15f,
-+0x1179,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x1170,0x117f,0x117f,0x116d,0x116d,0x116d,0x116d,0x162,0x127b,
-+0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x1173,0x162,0x162,0x162,0x162,0x116d,0x116d,
-+0x119d,0x1191,0x119d,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,
-+0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x165,0x119a,0x119a,0x11a0,0x1194,0x1197,
-+0x11b5,0x11b5,0x11b5,0x11af,0x11af,0x11a6,0x11af,0x11af,0x11a6,0x11af,0x11af,0x11b8,0x11b2,0x11a9,0x168,0x168,
-+0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x168,0x168,0x168,0x168,0x168,0x168,
-+0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x16b,0x16b,0x16b,0x16b,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,
-+0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,
-+0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x16b,0x16b,0x16b,0x16b,0x11c7,0x11c7,0x11c7,0x11c7,
-+0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,
-+0x11c7,0x11c7,0x16e,0x11c4,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11d6,0x11d6,0x11d6,0x11d6,
-+0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,
-+0x11d6,0x11d6,0x171,0x171,0x171,0x11d0,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11dc,0x11dc,0x11dc,0x11dc,
-+0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,0x11dc,
-+0x11dc,0x11dc,0x174,0x174,0x11d9,0x11d9,0x11d9,0x11d9,0x11d9,0x11d9,0x11d9,0x11d9,0x11e2,0x11e2,0x11e2,0x11e2,
-+0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x177,
-+0x177,0x177,0x177,0x177,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11e8,0x11e8,0x11e8,0x11e8,
-+0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,
-+0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x17d,0x1206,0x1206,0x180,0x180,
-+0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x180,0x141f,0x141f,0x141f,0x141f,
-+0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x1239,0x1239,0x1239,0x1239,
-+0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x14d6,0x14d6,0x186,0x186,0x186,0x1239,0x1239,0x1239,0x1239,
-+0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x123c,
-+0x123c,0x123c,0x1212,0x186,0x1356,0x1245,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,
-+0x1356,0x1245,0x1356,0x1245,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x13b0,0x13b0,
-+0x186,0x186,0x186,0x186,0x1359,0x1359,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1242,0x1353,0x1242,
-+0x1242,0x1353,0x1359,0x1248,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1236,0x1236,
-+0x1236,0x1236,0x1350,0x134a,0x123f,0x1350,0x1350,0x1350,0x1350,0x1350,0x1350,0x1350,0x1350,0x1350,0x1350,0x186,
- 0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
- 0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
--0x186,0x186,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,
--0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x11ee,0x12d2,0x12d2,0x189,
--0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x11eb,0x11eb,0x11eb,0x11eb,
--0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x11eb,0x12d2,0x12d2,
--0x12d2,0x12d2,0x12d2,0x12d2,0x12d2,0x12d2,0x12d2,0x189,0x189,0x189,0x189,0x189,0x11e8,0x11e8,0x11e8,0x11e8,
--0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x12cf,0x12cf,0x189,0x189,
--0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,
-+0x186,0x186,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,
-+0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x12f0,0x1263,0x1365,0x135f,0x189,
-+0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x125d,0x125d,0x125d,0x125d,
-+0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x1260,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,
-+0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x1260,0x125d,0x125d,0x1365,0x1365,0x1365,0x1365,0x1365,0x135f,
-+0x1365,0x1365,0x1365,0x189,0x189,0x189,0x189,0x189,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,
-+0x125a,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x1362,0x1362,0x189,0x189,0x189,0x189,0x189,0x189,
- 0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,
--0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,
--0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x1275,0x1275,0x1275,0x18c,0x18c,0x1278,0x18c,
--0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x127e,0x1287,0x1281,0x1281,0x1287,0x1287,0x1287,0x1281,0x1287,0x1281,
--0x1281,0x1281,0x128a,0x128a,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x1284,0x1284,0x1284,0x1284,
--0x192,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x192,0x192,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x192,
--0x192,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,
--0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x192,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x1290,0x192,
--0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,
--0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1296,0x12a8,0x12a8,0x129c,0x129c,0x129c,0x129c,0x129c,0x195,0x195,
--0x195,0x195,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,
--0x1299,0x1299,0x129f,0x129f,0x129f,0x129f,0x129f,0x129f,0x129f,0x129f,0x129f,0x129f,0x195,0x195,0x195,0x195,
--0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x1443,0x12ab,0x12ab,0x12ab,0x12ab,
--0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,
--0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x198,0x198,0x198,0x198,0x198,0x198,0x198,0x12d8,0x12d5,0x19b,0x19b,
-+0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x189,0x12f9,0x12f9,0x12f9,0x12f9,
-+0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,
-+0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f3,0x12f3,0x12f3,0x18c,0x18c,0x12f6,0x18c,0x130b,0x130b,0x130b,0x130b,
-+0x130b,0x130b,0x12fc,0x1305,0x12ff,0x12ff,0x1305,0x1305,0x1305,0x12ff,0x1305,0x12ff,0x12ff,0x12ff,0x1308,0x1308,
-+0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x1302,0x1302,0x1302,0x1302,0x192,0x130e,0x130e,0x130e,
-+0x130e,0x130e,0x130e,0x192,0x192,0x130e,0x130e,0x130e,0x130e,0x130e,0x130e,0x192,0x192,0x130e,0x130e,0x130e,
-+0x130e,0x130e,0x130e,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x130e,0x130e,0x130e,0x130e,
-+0x130e,0x130e,0x130e,0x192,0x130e,0x130e,0x130e,0x130e,0x130e,0x130e,0x130e,0x192,0x157b,0x157b,0x157b,0x157b,
-+0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x1311,0x1311,0x1311,0x1311,
-+0x1311,0x1311,0x1314,0x1326,0x1326,0x131a,0x131a,0x131a,0x131a,0x131a,0x195,0x195,0x195,0x195,0x1317,0x1317,
-+0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0x131d,0x131d,
-+0x131d,0x131d,0x131d,0x131d,0x131d,0x131d,0x131d,0x131d,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x195,
-+0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x14d9,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,
-+0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,
-+0x1329,0x198,0x198,0x198,0x198,0x198,0x198,0x198,0x136b,0x1368,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,
- 0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,
--0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,
--0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x19e,
--0x19e,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x1446,
--0x19e,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,
--0x19e,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,0x12ae,
--0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,
--0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x1a1,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x1a1,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x12ba,0x12ba,0x12ba,0x12ba,
--0x12ba,0x12ba,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x15fc,0x1a4,0x1a4,0x1a4,
--0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1452,0x1452,0x1452,0x1452,
--0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1452,0x1a4,0x1a4,0x1a4,0x1452,0x1452,0x1452,0x1452,
--0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x12bd,0x12bd,0x12bd,0x12bd,
--0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,
--0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x132c,0x1458,0x132c,0x132c,
--0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,0x1602,
--0x1602,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,
-+0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x132c,0x132c,0x132c,0x132c,
-+0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x19e,0x19e,0x132c,0x132c,0x132c,
-+0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x14dc,0x19e,0x132c,0x132c,0x132c,
-+0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132f,0x19e,0x132c,0x132c,0x132c,
-+0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x132c,0x14dc,0x14dc,0x14dc,0x14dc,
-+0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,0x14dc,
-+0x14dc,0x14dc,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e8,0x14e2,0x14e2,0x14e8,
-+0x14e8,0x14ee,0x14e8,0x14e8,0x14e8,0x14e8,0x1a1,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x1a1,0x14e8,0x14e2,0x14e2,
-+0x14e8,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e8,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,
-+0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e2,0x14e2,0x14e2,0x1344,0x1341,0x1341,0x1341,0x1341,0x1341,0x14f7,0x14f7,
-+0x14f7,0x14f7,0x14f7,0x14fa,0x14fd,0x14fa,0x14fa,0x14fa,0x16aa,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
-+0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14f7,0x14f7,
-+0x14f7,0x14fa,0x14f7,0x14fd,0x14fd,0x1a4,0x1a4,0x1a4,0x14fa,0x14f7,0x14f7,0x14fa,0x1a4,0x1a4,0x1a4,0x1a4,
-+0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,
-+0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1a7,0x1a7,0x1a7,0x1a7,
-+0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x13bf,0x1503,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,
-+0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x1503,0x1503,0x1503,0x1503,0x1503,0x1503,0x16b0,0x16b0,0x1aa,0x1aa,0x1aa,
- 0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,
--0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x15ff,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1326,0x1326,
--0x1326,0x1326,0x1326,0x1326,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,
--0x1329,0x1329,0x1329,0x1455,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,
--0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,
--0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1ad,0x1332,0x1ad,0x1ad,0x1332,0x1ad,0x1332,0x1332,0x1332,
--0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1ad,0x1332,
--0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1332,0x1ad,0x1ad,0x1ad,0x1ad,0x1332,0x1ad,0x1332,0x1ad,0x1332,
--0x1ad,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1ad,0x1332,0x1ad,0x1ad,0x1332,0x1ad,0x1332,0x1ad,0x1332,
--0x1ad,0x1332,0x1ad,0x1332,0x1ad,0x1332,0x1332,0x1ad,0x1332,0x1ad,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1ad,
--0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1332,
--0x1332,0x1ad,0x1332,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,
--0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,
--0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1332,0x1332,0x1332,0x1ad,0x1332,0x1332,0x1332,0x1332,0x1332,0x1ad,0x1332,
--0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,
--0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,
-+0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,
-+0x1aa,0x1aa,0x1aa,0x16ad,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,
-+0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x1500,
-+0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x1ad,0x13c5,0x13c5,0x1ad,0x13c5,0x1ad,0x1ad,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x1ad,0x1ad,0x1ad,
-+0x1ad,0x1ad,0x13c5,0x1ad,0x1ad,0x1ad,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,
-+0x1ad,0x13c5,0x13c5,0x1ad,0x13c5,0x1ad,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,0x1ad,0x13c5,
-+0x1ad,0x13c5,0x13c5,0x1ad,0x13c5,0x1ad,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x1ad,
-+0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x1ad,0x1ad,0x1ad,
-+0x1ad,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,
-+0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x13c5,0x1ad,0x1ad,0x1ad,0x1ad,
- 0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,
--0x132f,0x132f,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,
--0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1335,0x1335,0x1335,0x1335,0x1335,0x1344,0x1335,0x1338,0x1338,
--0x1335,0x1335,0x1335,0x133b,0x133b,0x1b0,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,
--0x133e,0x134a,0x134a,0x134a,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,
--0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,
--0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1356,0x1353,0x134d,0x134d,0x1353,0x1353,
--0x135c,0x135c,0x1356,0x1359,0x1359,0x1353,0x1350,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,
--0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,
--0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x1b6,0x1b6,0x1b6,0x1b6,0x1605,0x1605,0x135f,0x135f,
--0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,
--0x1b6,0x1b6,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,
--0x136b,0x136b,0x136b,0x136b,0x136b,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,
--0x136b,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,
--0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,0x1368,
--0x1368,0x1368,0x1368,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,
--0x1b9,0x1b9,0x1b9,0x1365,0x1365,0x1365,0x1365,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,
--0x136e,0x136e,0x136e,0x136e,0x1380,0x1383,0x1383,0x1383,0x1383,0x1386,0x1386,0x1374,0x1377,0x160b,0x1608,0x1608,
--0x1608,0x145e,0x1bc,0x1bc,0x137a,0x137a,0x137a,0x137a,0x137a,0x137a,0x137a,0x137a,0x137a,0x137a,0x145b,0x1611,
--0x1614,0x160e,0x1617,0x1617,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x1bf,0x1bf,0x1bf,
--0x1bf,0x1bf,0x1bf,0x1bf,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1bf,0x1bf,
--0x1bf,0x1bf,0x1bf,0x1bf,0x138f,0x138f,0x138f,0x138f,0x138f,0x138f,0x138f,0x138f,0x1c2,0x1c2,0x1c2,0x1c2,
--0x1c2,0x1c2,0x1c2,0x1c2,0x120c,0x1209,0x120c,0x11fa,0x1209,0x1209,0x1209,0x120f,0x1209,0x120f,0x1212,0x1209,
--0x120f,0x120f,0x1209,0x1209,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x1392,
--0x139b,0x1392,0x139b,0x139b,0x1392,0x1392,0x1392,0x1392,0x1392,0x1392,0x139e,0x1395,0x1c5,0x1c5,0x1c5,0x1c5,
--0x1c5,0x1c5,0x1c5,0x1c5,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,0x1464,
--0x1464,0x1464,0x1c8,0x1c8,0x1461,0x1461,0x1461,0x1461,0x1461,0x1467,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,
--0x1c8,0x1c8,0x1c8,0x1c8,0x15bd,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,
--0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,
--0x1ce,0x1ce,0x1ce,0x1ce,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,
-+0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x13c2,0x13c2,0x1ad,0x1ad,
-+0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x1ad,0x13da,0x13da,0x13da,0x13da,
-+0x13da,0x13da,0x13da,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13d7,0x13c8,0x13cb,0x13cb,0x13c8,0x13c8,0x13c8,0x13ce,
-+0x13ce,0x1b0,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d4,0x13d1,0x13dd,0x13dd,0x13dd,
-+0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x158d,0x158d,0x158d,0x158d,
-+0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x13e9,0x13e9,0x13e9,0x13e9,
-+0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e6,0x13e0,0x13e0,0x13e6,0x13e6,0x13ef,0x13ef,0x13e9,0x13ec,
-+0x13ec,0x13e6,0x13e3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x1b3,0x13f2,0x13f2,0x13f2,0x13f2,
-+0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,0x13f2,
-+0x13f2,0x13f2,0x13f2,0x13f2,0x1b6,0x1b6,0x1b6,0x1b6,0x16b3,0x16b3,0x13f2,0x13f2,0x16b3,0x16b3,0x16b3,0x16b3,
-+0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x1b6,0x1b6,0x16b3,0x16b3,
-+0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x13fe,0x13fe,0x13fe,0x13fe,
-+0x13fe,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x13fe,0x13fb,0x13fb,0x13fb,
-+0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
-+0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x1b9,
-+0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x13f8,
-+0x13f8,0x13f8,0x13f8,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,0x1401,
-+0x1413,0x1416,0x1416,0x1416,0x1416,0x1419,0x1419,0x1407,0x140a,0x16b9,0x16b6,0x16b6,0x16b6,0x1509,0x1bc,0x1bc,
-+0x140d,0x140d,0x140d,0x140d,0x140d,0x140d,0x140d,0x140d,0x140d,0x140d,0x1506,0x16bf,0x16c2,0x16bc,0x16c5,0x16c5,
-+0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x141f,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,
-+0x141c,0x141c,0x141c,0x141c,0x141c,0x141c,0x141c,0x141c,0x141c,0x141c,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,
-+0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,
-+0x1281,0x127e,0x1281,0x126f,0x127e,0x127e,0x127e,0x1284,0x127e,0x1284,0x1287,0x127e,0x1284,0x1284,0x127e,0x127e,
-+0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1425,0x142e,0x1425,0x142e,0x142e,
-+0x1425,0x1425,0x1425,0x1425,0x1425,0x1425,0x1431,0x1428,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,0x1c5,
-+0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x1c8,0x1c8,
-+0x150c,0x150c,0x150c,0x150c,0x150c,0x1512,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,
-+0x1668,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
-+0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x1ce,0x1ce,0x1ce,0x1ce,
- 0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,
--0x1d1,0x1d1,0x1d1,0x1d1,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x1d4,
--0x1d4,0x1d4,0x1d4,0x1d4,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
--0x147f,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
--0x147f,0x147f,0x1d4,0x1d4,0x147c,0x1476,0x1479,0x1482,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,
--0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,
--0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,
--0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1da,0x1da,0x1da,
--0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,
-+0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,
-+0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,
-+0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x1d4,0x1d4,0x1d4,
-+0x1d4,0x1d4,0x1d4,0x1d4,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x1d4,0x1d4,
-+0x1527,0x1521,0x1524,0x152d,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1d7,0x1d7,0x1d7,0x1d7,
-+0x1d7,0x1d7,0x1d7,0x1d7,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,
-+0x1518,0x1518,0x1518,0x1518,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,
-+0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,
- 0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,
--0x161a,0x148b,0x1491,0x1491,0x1dd,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x1dd,0x1dd,0x149a,
--0x149a,0x1dd,0x1dd,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,
--0x149a,0x1dd,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x1dd,0x149a,0x149a,0x1dd,0x149a,0x149a,0x149a,
--0x149a,0x149a,0x1dd,0x1dd,0x148e,0x149a,0x148b,0x1491,0x148b,0x1491,0x1491,0x1491,0x1491,0x1dd,0x1dd,0x1491,
--0x1491,0x1dd,0x1dd,0x1494,0x1494,0x1497,0x1dd,0x1dd,0x161d,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x148b,
--0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x149d,0x149a,0x149a,0x149a,0x149a,0x1491,0x1491,0x1dd,0x1dd,0x148e,0x148e,
--0x148e,0x148e,0x148e,0x148e,0x148e,0x1dd,0x1dd,0x1dd,0x148e,0x148e,0x148e,0x148e,0x148e,0x1dd,0x1dd,0x1dd,
--0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,
--0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x1e0,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,
--0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14ac,0x14ac,0x14ac,0x14a0,0x14a0,0x14a0,0x14ac,0x14ac,
--0x14a0,0x14af,0x14a3,0x14a0,0x14b5,0x14b5,0x14a9,0x14b5,0x14b5,0x14a6,0x1e0,0x1e0,0x14c4,0x14c4,0x14c4,0x14b8,
--0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14bb,0x14be,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x14c1,0x14c1,0x14c1,0x14c1,
--0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1620,0x1620,0x1620,0x1620,
--0x14d0,0x14cd,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x164a,0x164a,0x164a,0x164a,
--0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x14d6,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x14d6,0x14d6,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,
--0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x14e2,0x14e2,0x14e2,0x14e2,
--0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14d9,
--0x14dc,0x14df,0x14e2,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x14f1,0x14f1,0x14f1,0x14f1,
--0x14f1,0x14e5,0x14e5,0x1ef,0x1ef,0x1ef,0x1ef,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14ee,0x14ee,0x14ee,0x14ee,
--0x14ee,0x14ee,0x14eb,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x14fa,0x14fa,0x14fa,0x14fa,
--0x14fa,0x1f2,0x1f2,0x14f7,0x14f7,0x14f7,0x14f7,0x14f7,0x14f7,0x14f7,0x14f7,0x14f7,0x14f4,0x14f4,0x14f4,0x14f4,
--0x14f4,0x14f4,0x14f4,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x14fd,0x150f,0x150f,0x1503,
--0x150c,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1506,0x1506,0x1506,0x1506,
--0x1506,0x1506,0x1506,0x1506,0x1506,0x1506,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1515,0x1515,0x1515,0x1515,
--0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,
--0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1f8,0x1521,0x1521,0x1521,0x1521,
--0x1521,0x151b,0x1524,0x1521,0x1521,0x1521,0x1521,0x1521,0x1521,0x1521,0x1521,0x1521,0x151e,0x151e,0x151e,0x151e,
--0x151e,0x151e,0x151e,0x151e,0x151e,0x151e,0x1521,0x1521,0x1521,0x1521,0x1521,0x1fb,0x152a,0x152a,0x152a,0x152a,
--0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,
--0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x1fe,0x1536,0x1536,0x1536,0x1536,
--0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,
--0x1536,0x1536,0x1533,0x1533,0x1533,0x1533,0x1533,0x201,0x201,0x201,0x201,0x201,0x154e,0x154e,0x1551,0x1551,
--0x1554,0x1545,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x154b,0x154b,0x154b,0x154b,
--0x154b,0x154b,0x154b,0x154b,0x154b,0x154b,0x204,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x204,0x154e,
--0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,
--0x154e,0x154e,0x154e,0x154e,0x204,0x204,0x204,0x204,0x204,0x154e,0x154e,0x154e,0x155d,0x155d,0x155d,0x155d,
--0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,
--0x155d,0x155d,0x155d,0x155d,0x155d,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x1566,0x1566,0x1566,0x1566,
--0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x1566,0x20a,0x20a,
--0x20a,0x20a,0x20a,0x20a,0x20a,0x1563,0x1563,0x1563,0x1563,0x20a,0x20a,0x20a,0x1581,0x1581,0x1581,0x1581,
--0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1569,0x157b,0x157b,0x1569,0x1569,
--0x1569,0x1569,0x210,0x210,0x157b,0x157b,0x157e,0x157e,0x1569,0x1569,0x157b,0x156f,0x156c,0x1572,0x1584,0x1584,
--0x1575,0x1575,0x1578,0x1578,0x1578,0x1584,0x1629,0x1629,0x1629,0x1629,0x1629,0x1629,0x1629,0x1629,0x1629,0x1629,
--0x1629,0x1629,0x1629,0x1629,0x1626,0x1626,0x1626,0x1626,0x1623,0x1623,0x210,0x210,0x210,0x210,0x210,0x210,
-+0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,0x16c8,0x1536,0x153c,0x153c,
-+0x1dd,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1dd,0x1dd,0x1545,0x1545,0x1dd,0x1dd,0x1545,
-+0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,0x1dd,0x1545,0x1545,
-+0x1545,0x1545,0x1545,0x1545,0x1545,0x1dd,0x1545,0x1545,0x1dd,0x1545,0x1545,0x1545,0x1545,0x1545,0x1dd,0x1dd,
-+0x1539,0x1545,0x1536,0x153c,0x1536,0x153c,0x153c,0x153c,0x153c,0x1dd,0x1dd,0x153c,0x153c,0x1dd,0x1dd,0x153f,
-+0x153f,0x1542,0x1dd,0x1dd,0x16cb,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1536,0x1dd,0x1dd,0x1dd,0x1dd,
-+0x1dd,0x1548,0x1545,0x1545,0x1545,0x1545,0x153c,0x153c,0x1dd,0x1dd,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,
-+0x1539,0x1dd,0x1dd,0x1dd,0x1539,0x1539,0x1539,0x1539,0x1539,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,
-+0x1dd,0x1dd,0x1dd,0x1dd,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,
-+0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x1e0,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,
-+0x155d,0x155d,0x155d,0x155d,0x1557,0x1557,0x1557,0x154b,0x154b,0x154b,0x1557,0x1557,0x154b,0x155a,0x154e,0x154b,
-+0x1560,0x1560,0x1554,0x1560,0x1560,0x1551,0x1e0,0x1e0,0x156f,0x156f,0x156f,0x1563,0x1563,0x1563,0x1563,0x1563,
-+0x1563,0x1566,0x1569,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x156c,0x156c,0x156c,0x156c,0x156c,0x156c,0x156c,0x156c,
-+0x156c,0x156c,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x16ce,0x16ce,0x16ce,0x16ce,0x157b,0x1578,0x1e6,0x1e6,
-+0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,
-+0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
-+0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1e9,
-+0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
-+0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1e9,0x1e9,
-+0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
-+0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,
-+0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,
-+0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x1584,0x1587,0x158a,0x158d,0x1ec,
-+0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x159c,0x159c,0x159c,0x159c,0x159c,0x1590,0x1590,0x1ef,
-+0x1ef,0x1ef,0x1ef,0x1593,0x1593,0x1593,0x1593,0x1593,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1596,0x1ef,
-+0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x1ef,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x1f2,0x1f2,0x15a2,
-+0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x159f,0x159f,0x159f,0x159f,0x159f,0x159f,0x159f,0x1f2,
-+0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x1f2,0x15a8,0x15ba,0x15ba,0x15ae,0x15b7,0x1f5,0x1f5,0x1f5,
-+0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,
-+0x15b1,0x15b1,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
-+0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
-+0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1f8,0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x15c6,0x15cf,0x15cc,
-+0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,
-+0x15c9,0x15c9,0x15cc,0x15cc,0x15cc,0x15cc,0x15cc,0x1fb,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,
-+0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,
-+0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x15d5,0x1fe,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,
-+0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15e1,0x15de,0x15de,
-+0x15de,0x15de,0x15de,0x201,0x201,0x201,0x201,0x201,0x15f9,0x15f9,0x15fc,0x15fc,0x15ff,0x15f0,0x204,0x204,
-+0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,
-+0x15f6,0x15f6,0x204,0x15f0,0x15f0,0x15f0,0x15f0,0x15f0,0x15f0,0x15f0,0x204,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
-+0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
-+0x204,0x204,0x204,0x204,0x204,0x15f9,0x15f9,0x15f9,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-+0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-+0x1608,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,
-+0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,
-+0x20a,0x160e,0x160e,0x160e,0x160e,0x20a,0x20a,0x20a,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,
-+0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x1614,0x1626,0x1626,0x1614,0x1614,0x1614,0x1614,0x210,0x210,
-+0x1626,0x1626,0x1629,0x1629,0x1614,0x1614,0x1626,0x161a,0x1617,0x161d,0x162f,0x162f,0x1620,0x1620,0x1623,0x1623,
-+0x1623,0x162f,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,
-+0x16d4,0x16d4,0x16d4,0x16d4,0x16d1,0x16d1,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,
- 0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,
--0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x213,0x1587,0x1587,0x1587,
--0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,0x1587,
--0x1587,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x158a,0x158a,0x158a,0x158a,
--0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x216,0x216,0x216,0x216,0x158a,0x158a,0x158a,0x158a,
--0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x216,0x216,0x216,0x216,
--0x216,0x216,0x216,0x216,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x216,0x216,
--0x216,0x216,0x216,0x216,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x216,0x216,0x216,0x216,
--0x216,0x216,0x216,0x216,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
--0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,
-+0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x213,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,
-+0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x213,0x213,0x213,
-+0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
-+0x1635,0x1635,0x1635,0x1635,0x216,0x216,0x216,0x216,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
-+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,
-+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x216,0x216,0x216,0x216,0x216,0x216,
-+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,
-+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
-+0x1635,0x1635,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,
- 0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,
--0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x216,0x158d,0x159c,0x1593,0x1590,0x15a2,0x15a2,0x1596,0x15a2,
--0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
--0x1599,0x1599,0x219,0x219,0x219,0x219,0x219,0x219,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,
--0x15a8,0x15a8,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x21c,0x21c,0x21c,0x21c,0x21c,
--0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x15ae,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
--0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
--0x163b,0x163b,0x21f,0x21f,0x21f,0x162c,0x162c,0x162c,0x1638,0x1638,0x162c,0x162c,0x162c,0x162c,0x1638,0x162c,
--0x162c,0x162c,0x162c,0x162f,0x21f,0x21f,0x21f,0x21f,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
--0x1635,0x1635,0x1632,0x1632,0x163e,0x163e,0x163e,0x1632,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x222,
--0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,
-+0x216,0x216,0x216,0x216,0x1638,0x1647,0x163e,0x163b,0x164d,0x164d,0x1641,0x164d,0x219,0x219,0x219,0x219,
-+0x219,0x219,0x219,0x219,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x219,0x219,
-+0x219,0x219,0x219,0x219,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1650,0x1650,
-+0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,
-+0x21c,0x21c,0x21c,0x1659,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,
-+0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x21f,0x21f,
-+0x21f,0x16da,0x16da,0x16da,0x16e6,0x16e6,0x16da,0x16da,0x16da,0x16da,0x16e6,0x16da,0x16da,0x16da,0x16da,0x16dd,
-+0x21f,0x21f,0x21f,0x21f,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e0,0x16e0,
-+0x16ec,0x16ec,0x16ec,0x16e0,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x222,0x222,0x222,0x222,0x222,
- 0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,
--0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,
--0x1653,0x1653,0x1653,0x228,0x1653,0x1653,0x228,0x228,0x228,0x228,0x228,0x1650,0x1650,0x1650,0x1650,0x1650,
--0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x22b,0x1656,0x22b,0x1656,0x1656,0x1656,0x1656,0x22b,0x1656,
--0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x22b,0x1656,
--0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1659,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,
--0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,
--0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,
--0x1662,0x1662,0x1662,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,
--0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
--0x165f,0x165f,0x165f,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,
-+0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x222,0x1701,0x1701,0x1701,0x1701,
-+0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x1701,0x228,
-+0x1701,0x1701,0x228,0x228,0x228,0x228,0x228,0x16fe,0x16fe,0x16fe,0x16fe,0x16fe,0x1704,0x1704,0x1704,0x1704,
-+0x1704,0x1704,0x1704,0x22b,0x1704,0x22b,0x1704,0x1704,0x1704,0x1704,0x22b,0x1704,0x1704,0x1704,0x1704,0x1704,
-+0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x22b,0x1704,0x1704,0x1704,0x1704,0x1704,
-+0x1704,0x1704,0x1704,0x1704,0x1704,0x1707,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x1572,0x1572,0x1572,0x1572,
-+0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1710,0x1710,0x1710,0x1710,
-+0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x22e,
-+0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x170d,0x170d,0x170d,0x170d,
-+0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x22e,
-+0x22e,0x22e,0x22e,0x22e,0x22e,0x22e,0x170a,0x170a,0x170a,0x170a,0x170a,0x170a,0x231,0x231,0x231,0x231,
-+0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x1713,0x1713,0x1713,0x1713,
-+0x1713,0x1713,0x1713,0x1713,0x1716,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,
- 0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,
--0x1665,0x1665,0x1665,0x1665,0x1665,0x1665,0x1665,0x1665,0x1665,0x231,0x231,0x231,0x231,0x231,0x231,0x231,
-+0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x1713,0x1713,0x1713,0x1713,0x1713,0x231,0x231,0x231,
- 0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,
--0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x166b,0x166b,0x166b,0x166b,
--0x1668,0x166b,0x166b,0x166e,0x1671,0x166e,0x166e,0x166b,0x234,0x234,0x234,0x234,0x234,0x234,0x234,0x234,
--0x234,0x234,0x234,0x234,0x234,0x234,0x234,0x1668,0x1668,0x1668,0x1668,0x1668,0x237,0x237,0x237,0x237,
-+0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x171c,0x171c,0x171c,0x171c,
-+0x1719,0x171c,0x171c,0x171f,0x1722,0x171f,0x171f,0x171c,0x234,0x234,0x234,0x234,0x234,0x234,0x234,0x234,
-+0x234,0x234,0x234,0x234,0x234,0x234,0x234,0x1719,0x1719,0x1719,0x1719,0x1719,0x237,0x237,0x237,0x237,
- 0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,
--0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x1677,0x1677,0x24f,0x24f,
-+0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x1728,0x1728,0x24f,0x24f,
- 0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x237,0x237,0x237,0x237,
- 0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,
--0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x8c1,0x8c1,0xa80,0xa80,0xa80,0xa80,
--0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,
--0xa80,0xa80,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x104d,0x104d,0x104d,0x104d,
--0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x13a4,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
--0x1674,0x1674,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,
-+0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x237,0x8fa,0x8fa,0xabc,0xabc,0xabc,0xabc,
-+0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-+0xabc,0xabc,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x10ad,0x10ad,0x10ad,0x10ad,
-+0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1437,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,0x1725,
-+0x1725,0x1725,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,
- 0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,
--0x23d,0x23d,0x23d,0x23d,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0x11e2,
--0x11e2,0x11e2,0x240,0x240,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,
--0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0x240,0x240,
-+0x23d,0x23d,0x23d,0x23d,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0x1254,
-+0x1254,0x1254,0x240,0x240,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
-+0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0x240,0x240,
- 0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,
- 0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,
--0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,
--0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,
--0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,
--0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0x246,0x246,
--0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,
--0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,
--0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,
--0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x24c,0x24c,
--0x105f,0x34b,0x34b,0x357,0xc09,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,
-+0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-+0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,
-+0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-+0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0x246,0x246,
-+0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,
-+0x1266,0x1266,0x1266,0x1266,0x1266,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,
-+0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,
-+0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x24c,0x24c,
-+0x10bf,0x34b,0x34b,0x357,0xc51,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,
- 0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,
--0x357,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x357,0x357,0x357,0x357,0x351,0x1062,0x1221,
--0x35a,0x891,0x894,0x34e,0x34e,0x105f,0x121e,0x121e,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,
--0x35a,0x35a,0x34b,0x34b,0x822,0x825,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,0x8a9,
--0x354,0xec7,0xec4,0x1224,0x1224,0x1224,0x1224,0x1224,0x13c8,0x1065,0x1065,0xe19,0xe19,0xcf0,0xe19,0xe19,
-+0x357,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x357,0x357,0x357,0x357,0x351,0x10c2,0x1296,
-+0x35a,0x8ca,0x8cd,0x34e,0x34e,0x10bf,0x1293,0x1293,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,0x35d,
-+0x35a,0x35a,0x34b,0x34b,0x858,0x85b,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,0x8e2,
-+0x354,0xf21,0xf1e,0x1299,0x1299,0x1299,0x1299,0x1299,0x145b,0x10c5,0x10c5,0xe73,0xe73,0xd41,0xe73,0xe73,
- 0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35d,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,
--0x35a,0x35d,0x35a,0x35a,0x35d,0x35a,0x35a,0x35a,0x35a,0x35a,0x121e,0x1221,0x34e,0x35a,0x357,0x357,
-+0x35a,0x35d,0x35a,0x35a,0x35d,0x35a,0x35a,0x35a,0x35a,0x35a,0x1293,0x1296,0x34e,0x35a,0x357,0x357,
- 0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,
--0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0xb01,0xb01,0xcfc,0xcfc,0x438,0xcff,0x12ea,0x12ea,0x12ea,
-+0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0xb3d,0xb3d,0xd4d,0xd4d,0x438,0xd50,0x137d,0x137d,0x137d,
- 0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,
- 0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,
--0x444,0x444,0x444,0x107a,0x107a,0x107a,0x107a,0x107a,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,
-+0x444,0x444,0x444,0x10da,0x10da,0x10da,0x10da,0x10da,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,
- 0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,
--0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,
-+0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,
- 0x447,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,
- 0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,0x444,
- 0x444,0x444,0x444,0x444,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,
- 0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,
--0x450,0x44a,0x450,0x44a,0x450,0x44a,0x44a,0x44a,0x44a,0x44a,0x44d,0x903,0xf15,0xf15,0xf18,0xf15,
-+0x450,0x44a,0x450,0x44a,0x450,0x44a,0x44a,0x44a,0x44a,0x44a,0x44d,0x93c,0xf6f,0xf6f,0xf72,0xf6f,
- 0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,
--0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0xf18,0xf15,0xf18,0xf15,0xf18,0xf15,
-+0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0x450,0x44a,0xf72,0xf6f,0xf72,0xf6f,0xf72,0xf6f,
- 0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,
- 0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,0x45f,
--0x61b,0x61b,0x61e,0x47a,0x62a,0x627,0x627,0x624,0x4a4,0x4a4,0x462,0x462,0x462,0x462,0x462,0xa32,
--0x62d,0x486,0x645,0x648,0x49b,0x62d,0x489,0x489,0x47a,0x495,0x495,0x61b,0x4a1,0x49e,0x621,0x474,
-+0x63c,0x63c,0x63f,0x47a,0x64b,0x648,0x648,0x645,0x4a4,0x4a4,0x462,0x462,0x462,0x462,0x462,0xa6b,
-+0x64e,0x486,0x666,0x669,0x49b,0x64e,0x489,0x489,0x47a,0x495,0x495,0x63c,0x4a1,0x49e,0x642,0x474,
- 0x46b,0x46b,0x46e,0x46e,0x46e,0x46e,0x46e,0x471,0x46e,0x46e,0x46e,0x465,0x4aa,0x4aa,0x4a7,0x4a7,
--0x639,0x48f,0x48c,0x636,0x633,0x630,0x642,0x47d,0x63f,0x63f,0x492,0x495,0x63c,0x63c,0x492,0x495,
--0x477,0x47a,0x47a,0x47a,0x498,0x483,0x480,0xb16,0xa38,0xa38,0xa35,0xa35,0xa35,0xa35,0xb0d,0xb0d,
--0xb0d,0xb0d,0xb13,0xc36,0xc33,0xd0b,0xd0e,0xb10,0xd0e,0xd0e,0xd0e,0xd0e,0xd0b,0xd0e,0xd0e,0xb0a,
--0x4dd,0x4dd,0x4f5,0x65a,0x4da,0x654,0x4dd,0x4f2,0x4da,0x65a,0x4ec,0x4f5,0x4f5,0x4f5,0x4ec,0x4ec,
--0x4f5,0x4f5,0x4f5,0x660,0x4da,0x4f5,0x65d,0x4da,0x4e9,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4da,0x4da,
--0x4e0,0x654,0x657,0x4da,0x4f5,0x4da,0x663,0x4da,0x4f5,0x4e3,0x4fb,0x666,0x4f5,0x4f5,0x4e6,0x4ec,
--0x4f5,0x4f5,0x4f8,0x4f5,0x4ec,0x4ef,0x4ef,0x4ef,0x4ef,0xa44,0xa41,0xc39,0xd1d,0xb31,0xb34,0xb34,
--0xb2e,0xb2b,0xb2b,0xb2b,0xb2b,0xb34,0xb31,0xb31,0xb31,0xb31,0xb28,0xb2b,0xd1a,0xe25,0xe28,0xf1e,
--0x1089,0x1089,0x1089,0x66c,0x669,0x4fe,0x501,0x501,0x501,0x501,0x501,0x669,0x66c,0x66c,0x669,0x501,
--0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x672,0x50a,0x50a,0x50a,0x50a,
--0x66f,0x66f,0x66f,0x66f,0x66f,0x66f,0x66f,0x66f,0x66f,0x66f,0x504,0x504,0x504,0x504,0x504,0x504,
--0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x50d,0x510,0x510,0x510,0x510,0x510,0x513,0x50d,
--0x510,0x510,0x50d,0x50d,0x50d,0x50d,0x510,0x510,0x675,0x675,0x50d,0x50d,0x510,0x510,0x510,0x510,
--0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x513,0x513,0x513,0x510,0x510,0x678,0x510,
--0x678,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x50d,0x510,0x50d,0x50d,0x50d,0x50d,0x50d,0x50d,
--0x510,0x510,0x50d,0x675,0x50d,0x50d,0x50d,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,
--0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0x67b,0x516,0x67b,0x67b,
--0x519,0x516,0x516,0x67b,0x67b,0x519,0x516,0x67b,0x519,0x516,0x516,0x67b,0x516,0x67b,0x525,0x522,
--0x516,0x67b,0x516,0x516,0x516,0x516,0x67b,0x516,0x516,0x67b,0x67b,0x67b,0x67b,0x516,0x516,0x67b,
--0x519,0x67b,0x519,0x67b,0x67b,0x67b,0x67b,0x67b,0x681,0x51c,0x67b,0x51c,0x51c,0x516,0x516,0x516,
--0x67b,0x67b,0x67b,0x67b,0x516,0x516,0x516,0x516,0x67b,0x67b,0x516,0x516,0x516,0x519,0x516,0x516,
--0x519,0x516,0x516,0x519,0x67b,0x519,0x516,0x516,0x67b,0x516,0x516,0x516,0x516,0x516,0x67b,0x516,
--0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x67e,0x67b,0x519,0x516,
--0x67b,0x67b,0x67b,0x67b,0x516,0x516,0x67b,0x67b,0x516,0x519,0x67e,0x67e,0x519,0x519,0x516,0x516,
--0x519,0x519,0x516,0x516,0x519,0x519,0x516,0x516,0x516,0x516,0x516,0x516,0x519,0x519,0x67b,0x67b,
--0x519,0x519,0x67b,0x67b,0x519,0x519,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,
--0x516,0x67b,0x516,0x516,0x516,0x67b,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x67b,0x516,0x516,
--0x516,0x516,0x516,0x516,0x519,0x519,0x519,0x519,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,
--0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x67b,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,
--0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,
--0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x516,0x519,0x519,0x519,0x519,0x516,0x516,0x516,0x516,
--0x516,0x516,0x519,0x519,0x519,0x519,0x516,0x51f,0x516,0x516,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,
--0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0x528,0xa4d,0x528,0x528,0x528,0x528,0x528,0x528,
--0x534,0x531,0x534,0x531,0x528,0x528,0x528,0x528,0x528,0x528,0x684,0x528,0x528,0x528,0x528,0x528,
--0x528,0x528,0x52b,0x52b,0x528,0x528,0x528,0x528,0x52e,0x52e,0x528,0x528,0x528,0x528,0x528,0x528,
--0x528,0x777,0x774,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,
--0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,0x528,
--0x528,0x528,0x528,0x528,0x528,0x528,0x528,0xa4d,0xb40,0xa4d,0xa4d,0xa4d,0x537,0x537,0x537,0x537,
--0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,
--0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x537,0x68d,0x68d,0x68d,0x68d,
--0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x53d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,
--0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xb9d,0xca8,0x693,0x693,0x693,0x693,
--0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,
--0x540,0x543,0x543,0x543,0x543,0x543,0x543,0x543,0x543,0x543,0x543,0x543,0x693,0x693,0x693,0x693,
--0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x543,0x543,0x543,0x543,0x693,0x693,0x693,0x693,
--0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x696,0x696,0x696,0x696,
--0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x546,0x546,0x696,0x696,
--0x696,0x696,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0x69c,0x69c,0x549,0x699,
--0x699,0x699,0x699,0x699,0x699,0x699,0x549,0x549,0x549,0x549,0x54c,0x54c,0x54c,0x54c,0x69c,0x69c,
--0x54c,0x54c,0x69c,0x69c,0x549,0x549,0x549,0x549,0x69c,0x69c,0x54c,0x54c,0x69c,0x69c,0x549,0x549,
--0x549,0x549,0x69c,0x69c,0x699,0x549,0x54c,0x69c,0x549,0x549,0x699,0x69c,0x69c,0x69c,0x54c,0x54c,
--0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x69c,0x699,
--0x69c,0x699,0x549,0x54c,0x54c,0x54c,0x54c,0x54c,0x54c,0x549,0x549,0x699,0xa53,0xa53,0xa53,0xa53,
--0xa53,0xa53,0xa53,0xa53,0xb46,0xb46,0xb46,0xb46,0xb46,0xb46,0xb46,0xb46,0x552,0x552,0x552,0x552,
--0x54f,0x6a5,0x6a5,0x54f,0x54f,0x69f,0x54f,0x54f,0x54f,0x54f,0x69f,0x69f,0x54f,0x54f,0x54f,0x54f,
--0xcab,0xcab,0xb49,0xb49,0xd26,0xa56,0x552,0x552,0x6a2,0x552,0x6a2,0x552,0x54f,0x54f,0x54f,0x54f,
--0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,
--0x54f,0x54f,0x54f,0x54f,0x54f,0x552,0x552,0x552,0x54f,0x54f,0x54f,0x54f,0x6a5,0x54f,0x6a5,0x54f,
--0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,
--0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x6a5,0x6a5,0x555,0x6a5,
--0x69f,0x69f,0x54f,0x69f,0x6a2,0x69f,0x69f,0x54f,0x69f,0x6a5,0x555,0x6a5,0xa56,0xa56,0xb4c,0xb4c,
--0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xd23,0xd26,0x558,0x558,0x558,0x558,
--0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,
--0x55b,0x1248,0x1248,0x1248,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x13e9,0x561,0x561,0x561,
--0x561,0x1248,0x55b,0x55b,0x561,0x561,0x124b,0x124b,0x561,0x561,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
--0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x1248,0x55b,0x55b,0x55b,
--0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
--0x55b,0x6ab,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
--0x1248,0x55b,0x1248,0x55b,0x55b,0x55b,0x55b,0x1248,0x1248,0x1248,0x55b,0x11be,0x55b,0x55b,0x55b,0x564,
--0x564,0x564,0x564,0x124e,0x124e,0x55b,0x55e,0x55e,0x55b,0x55b,0x55b,0x55b,0xb52,0xb4f,0xb52,0xb4f,
--0xb52,0xb4f,0xb52,0xb4f,0xb52,0xb4f,0xb52,0xb4f,0xb52,0xb4f,0x6a8,0x6a8,0x6a8,0x6a8,0x6a8,0x6a8,
--0x6a8,0x6a8,0x6a8,0x6a8,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
--0x55b,0x55b,0x55b,0x55b,0x1248,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
--0x55b,0x55b,0x55b,0x1248,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x585,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,
--0x585,0x58b,0x57c,0x57f,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x58b,0x582,0x582,0x582,0x582,0x582,0x582,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x585,0x585,0x585,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,
--0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,
--0x588,0x58e,0x58b,0x585,0x58b,0x585,0x58b,0x585,0x58b,0x585,0x58b,0x585,0x58b,0x585,0x58b,0x585,
--0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,
--0x58b,0x585,0x588,0x58e,0x58b,0x585,0x58b,0x585,0x588,0x58e,0x58b,0x585,0x588,0x58e,0x58b,0x585,
--0x58b,0x585,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,
--0x58b,0x585,0x58b,0x585,0x58b,0x585,0x588,0x58e,0x588,0x58e,0x58b,0x585,0x58b,0x585,0x58b,0x585,
--0x58b,0x585,0x58b,0x585,0x58b,0x585,0x58b,0x585,0x588,0x58b,0x585,0x588,0x58b,0x585,0x588,0x58e,
--0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,
--0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x588,0x588,0x585,0x588,0x585,0x588,0x585,0x585,0x588,0x585,0x585,0x588,0x585,0x588,0x585,0x585,
--0x588,0x585,0x588,0x588,0x585,0x585,0x585,0x588,0x585,0x585,0x585,0x585,0x585,0x588,0x585,0x585,
--0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
--0x585,0x585,0x585,0x585,0x588,0x588,0x585,0x585,0x588,0x585,0x588,0x585,0x585,0x585,0x585,0x585,
--0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,
--0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x588,
--0x588,0x588,0x588,0x58e,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x58b,0x58b,0x58b,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,
--0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58e,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,0x58b,
--0x58b,0x58b,0x58b,0x58b,0x591,0x591,0x591,0x591,0xf2a,0xf2a,0xf2a,0x13ec,0x13ec,0x13ec,0x13ec,0x13ec,
--0x13ec,0x13ec,0x15d5,0x15d5,0x7d4,0x7da,0x7da,0x7e6,0x7e6,0x7d7,0x7ce,0x7d7,0x7ce,0x7d7,0x7ce,0x7d7,
--0x7ce,0x7d7,0x7ce,0x7d7,0x5a0,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x59d,
--0x5a3,0x5a0,0x59a,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,
--0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x5a0,0x59a,0x59d,
--0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,
--0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,0x5a3,0x5a0,0x59a,0x59d,
--0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,0x68a,
--0x68a,0x68a,0x68a,0x68a,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
--0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
--0x687,0x687,0x687,0x687,0x687,0x687,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,
--0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,
--0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x68d,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,
--0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,
--0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,
--0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,
--0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0xba3,0x837,0x831,0x82e,0x834,0x82b,0x6c3,0x6c6,
--0x6c6,0x6c6,0x6c6,0x6c6,0x6c6,0x6c6,0x6c6,0x6c6,0x83d,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,
--0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,
--0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x6c3,0x83a,0x83a,0x6c9,0x84c,0x84f,0x855,
--0x77a,0x786,0x86a,0x783,0x843,0x840,0x843,0x840,0x849,0x846,0x849,0x846,0x843,0x840,0x780,0x855,
--0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x85b,0x861,0x85e,0x85e,0x6cf,0x70b,0x70b,0x70b,
--0x70b,0x70b,0x70b,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,
--0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x6d2,0x6ed,0x6cc,0x6f3,0x6f6,0x6f0,0x708,0x708,0x708,
--0x708,0x708,0x708,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x702,
--0x702,0x702,0x702,0x702,0x702,0x702,0x702,0x6d2,0x6ed,0x6cc,0x6ed,0xba6,0x76e,0x76e,0x76e,0x76e,
--0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,
--0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x76e,0x11d9,0x11d9,
--0x11d9,0x11d9,0x11d9,0x771,0x780,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x89d,0x89d,
--0x89d,0x89d,0x789,0x789,0x858,0x867,0x867,0x867,0x867,0x864,0x77d,0x852,0xa7a,0xa7a,0xa7a,0xbb5,
--0xbd3,0xbd0,0xa95,0x828,0x78f,0x78c,0x78f,0x792,0x78c,0x78f,0x78c,0x78f,0x78c,0x78f,0x78c,0x78c,
--0x78c,0x78c,0x78c,0x78c,0x78f,0x78f,0x78c,0x78f,0x78f,0x78c,0x78f,0x78f,0x78c,0x78f,0x78f,0x78c,
--0x78f,0x78f,0x78c,0x78c,0xbd6,0x7a1,0x79b,0x7a1,0x79b,0x7a1,0x79b,0x7a1,0x79b,0x7a1,0x79b,0x79b,
--0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,
--0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x7a1,0x79b,0x79e,0x79b,0x79e,0x79b,0x79e,0x79b,0x79b,
--0x79b,0x79b,0x79b,0x79b,0x79e,0x79e,0x79b,0x79e,0x79e,0x79b,0x79e,0x79e,0x79b,0x79e,0x79e,0x79b,
--0x79e,0x79e,0x79b,0x79b,0x79b,0x79b,0x79b,0x7a1,0x79b,0x7a1,0x79b,0x7a1,0x79b,0x79b,0x79b,0x79b,
--0x79b,0x79b,0x7a1,0x79b,0x79b,0x79b,0x79b,0x79b,0x79e,0x7a1,0x7a1,0x79e,0x79e,0x79e,0x79e,0x870,
--0x873,0x7a4,0x7a7,0xbbe,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
--0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
--0x7ad,0x7ad,0x7ad,0x7ad,0x7b0,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
--0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
--0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,
--0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0xcb7,0xcb7,0xdda,0x7b3,
--0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0xcb1,0xcb1,0xcb1,0xcb1,
--0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,0x7bc,
--0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,
--0x882,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0xcba,0xcba,0xcba,0xcba,0x885,0x885,0x885,0x885,0x885,
--0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,
--0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,0x7bf,
--0x7bf,0x7bf,0xcba,0xcba,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,
--0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,
--0x7c2,0x7c2,0x7c2,0x7c2,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x7c5,0x7c5,0x7c5,0x7c5,
--0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,
--0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0x7c5,0xddd,0xddd,
--0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,0xddd,
--0xddd,0xddd,0xddd,0xddd,0x104d,0x104d,0x104d,0x104d,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,
--0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,
--0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7cb,0x7cb,0x7c8,0x7cb,0x7c8,0x7cb,
--0x7cb,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7c8,0x7cb,0x7c8,0x7cb,0x7c8,0x7cb,
--0x7cb,0x7c8,0x7c8,0x7cb,0x7cb,0x7cb,0x7c8,0x7c8,0x7c8,0x7c8,0x13a7,0x13a7,0xbc7,0xbc7,0xbc7,0xbc7,
--0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0x87c,0x87c,0x87c,0x87c,
--0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,
--0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x87c,0x11dc,0x11dc,0x11dc,0x11dc,
--0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0x11c1,0xcb1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,
--0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,
--0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,
--0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0x87f,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,
--0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0xbc1,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,
--0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,0x882,
--0x882,0x882,0x882,0x882,0x882,0x882,0x882,0xcba,0x8fd,0x8df,0x8df,0x8df,0x8df,0x8d9,0x8df,0x8df,
--0x8f1,0x8df,0x8df,0x8dc,0x8e8,0x8ee,0x8ee,0x8ee,0x8ee,0x8ee,0x8f1,0x8d9,0x8e5,0x8d9,0x8d9,0x8d9,
--0x8d0,0x8d0,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8f4,0x8f4,0x8f4,0x8f4,0x8f4,0x8f4,0x8f4,0x8f4,
--0x8f4,0x8f4,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8d9,0x8dc,0x8d0,0x8d9,0x8d0,
--0x8d9,0x8d0,0x8eb,0x8e2,0x8eb,0x8e2,0x8fa,0x8fa,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,
--0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,
--0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,
--0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,
--0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,
--0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,
--0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x90f,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,
--0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,
--0x918,0x918,0x918,0x918,0x918,0x918,0x912,0x912,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,
--0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,
--0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x915,0x915,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,
--0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,
--0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x918,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,
--0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,
--0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91b,0x91e,0x921,0x921,0x921,0x921,0x921,0x921,0x921,
--0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,
--0x921,0x921,0x921,0x921,0x91e,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,
--0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,
--0x9ae,0x9ae,0xf0f,0x9ae,0x9ae,0x9ae,0x9b1,0x9ae,0xf0f,0x9ae,0x9ae,0xf06,0x9a8,0x99c,0x99c,0x99c,
--0x99c,0x9ab,0x99c,0xef4,0xef4,0xef4,0x99c,0x99f,0x9a8,0x9a2,0xefa,0xf09,0xf09,0xef4,0xef4,0xf0f,
--0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0x9b4,0x9b4,0x9a5,0x9a5,0x9a5,0x9a5,
--0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ab,0x9ab,0x99c,0x99c,0xf0f,0xf0f,0xf0f,0xf0f,0xef4,0xef4,
--0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
--0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0xd08,0x9c3,0x9c3,0x9c3,0x9c3,
--0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c3,0x9c9,0x9c9,0x9c9,0x9c9,
--0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,
--0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9cf,0x9cf,0x9cf,0x9cf,
--0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cc,0x9d2,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,
--0x9cf,0x9cf,0x9cf,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x107d,0x9cf,0x9cf,0x9cf,
--0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,
--0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,0x9cf,
--0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,
--0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,0x9e4,
--0xa08,0xa08,0xa08,0xa0b,0xa0b,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
--0xa08,0xa08,0xa08,0xa08,0x9f0,0x9f0,0xa05,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0xa05,0xa05,
--0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
-+0x65a,0x48f,0x48c,0x657,0x654,0x651,0x663,0x47d,0x660,0x660,0x492,0x495,0x65d,0x65d,0x492,0x495,
-+0x477,0x47a,0x47a,0x47a,0x498,0x483,0x480,0xb52,0xa71,0xa74,0xa6e,0xa6e,0xa6e,0xa6e,0xb49,0xb49,
-+0xb49,0xb49,0xb4f,0xc7e,0xc7b,0xd5c,0xd5f,0xb4c,0xd5f,0xd5f,0xd5f,0xd5f,0xd5c,0xd5f,0xd5f,0xb46,
-+0x4dd,0x4dd,0x4f5,0x678,0x4da,0x675,0x4dd,0x4f2,0x4da,0x678,0x4ec,0x4f5,0x4f5,0x4f5,0x4ec,0x4ec,
-+0x4f5,0x4f5,0x4f5,0x681,0x4da,0x4f5,0x67b,0x4da,0x4e9,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4da,0x4da,
-+0x4e0,0x675,0x67e,0x4da,0x4f5,0x4da,0x684,0x4da,0x4f5,0x4e3,0x4fb,0x687,0x4f5,0x4f5,0x4e6,0x4ec,
-+0x4f5,0x4f5,0x4f8,0x4f5,0x4ec,0x4ef,0x4ef,0x4ef,0x4ef,0xa80,0xa7d,0xc81,0xd6e,0xb6d,0xb70,0xb70,
-+0xb6a,0xb67,0xb67,0xb67,0xb67,0xb70,0xb6d,0xb6d,0xb6d,0xb6d,0xb64,0xb67,0xd6b,0xe7f,0xe82,0xf78,
-+0x10e9,0x10e9,0x10e9,0x68d,0x68a,0x4fe,0x501,0x501,0x501,0x501,0x501,0x68a,0x68d,0x68d,0x68a,0x501,
-+0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x50a,0x50a,0x50a,0x50a,
-+0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x504,0x504,0x504,0x504,0x504,0x504,
-+0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x50d,0x516,0x516,0x510,0x510,0x510,0x513,0x50d,
-+0x510,0x510,0x50d,0x50d,0x50d,0x50d,0x510,0x510,0x696,0x696,0x50d,0x50d,0x510,0x510,0x510,0x510,
-+0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x513,0x513,0x513,0x510,0x510,0x699,0x510,
-+0x699,0x510,0x510,0x510,0x510,0x510,0x510,0x510,0x50d,0x510,0x50d,0x50d,0x50d,0x50d,0x50d,0x50d,
-+0x510,0x510,0x50d,0x696,0x50d,0x50d,0x50d,0xa86,0xa86,0xa86,0xa86,0xa86,0xa86,0xa86,0xa86,0xa86,
-+0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0x69f,0x519,0x69f,0x69f,
-+0x51c,0x519,0x519,0x69f,0x69f,0x51c,0x519,0x69f,0x51c,0x519,0x519,0x69f,0x519,0x69f,0x528,0x525,
-+0x519,0x69f,0x519,0x519,0x519,0x519,0x69f,0x519,0x519,0x69f,0x69f,0x69f,0x69f,0x519,0x519,0x69f,
-+0x51c,0x69f,0x51c,0x69f,0x69f,0x69f,0x69f,0x69f,0x6a5,0x51f,0x69f,0x51f,0x51f,0x519,0x519,0x519,
-+0x69f,0x69f,0x69f,0x69f,0x519,0x519,0x519,0x519,0x69f,0x69f,0x519,0x519,0x519,0x51c,0x519,0x519,
-+0x51c,0x519,0x519,0x51c,0x69f,0x51c,0x519,0x519,0x69f,0x519,0x519,0x519,0x519,0x519,0x69f,0x519,
-+0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x6a2,0x69f,0x51c,0x519,
-+0x69f,0x69f,0x69f,0x69f,0x519,0x519,0x69f,0x69f,0x519,0x51c,0x6a2,0x6a2,0x51c,0x51c,0x519,0x519,
-+0x51c,0x51c,0x519,0x519,0x51c,0x51c,0x519,0x519,0x519,0x519,0x519,0x519,0x51c,0x51c,0x69f,0x69f,
-+0x51c,0x51c,0x69f,0x69f,0x51c,0x51c,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,
-+0x519,0x69f,0x519,0x519,0x519,0x69f,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x69f,0x519,0x519,
-+0x519,0x519,0x519,0x519,0x51c,0x51c,0x51c,0x51c,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,
-+0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x69f,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,
-+0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,
-+0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x51c,0x51c,0x51c,0x51c,0x519,0x519,0x519,0x519,
-+0x519,0x519,0x51c,0x51c,0x51c,0x51c,0x519,0x522,0x519,0x519,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-+0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0x52b,0xa89,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,
-+0x53a,0x537,0x53a,0x537,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x6a8,0x52b,0x52b,0x52b,0x52b,0x52b,
-+0x52b,0x52b,0x531,0x531,0x52b,0x52b,0x52b,0x52b,0x534,0x534,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,
-+0x52e,0x7ad,0x7aa,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,
-+0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,
-+0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0x52b,0xa89,0xb7c,0xa89,0xa89,0xa89,0x53d,0x53d,0x53d,0x53d,
-+0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,
-+0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x6b1,0x6b1,0x6b1,0x6b1,
-+0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x543,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,
-+0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xbe5,0xcf9,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x546,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x549,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x549,0x549,0x549,0x549,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6bd,0x6bd,0x6bd,0x6bd,
-+0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x6bd,0x54c,0x54c,0x6bd,0x6bd,
-+0x6bd,0x6bd,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0x6c3,0x6c3,0x54f,0x6c0,
-+0x6c0,0x6c0,0x6c0,0x6c0,0x6c0,0x6c0,0x552,0x552,0x54f,0x54f,0x555,0x555,0x555,0x555,0x6c3,0x6c3,
-+0x555,0x555,0x6c6,0x6c3,0x54f,0x54f,0x54f,0x54f,0x6c3,0x6c3,0x555,0x555,0x6c6,0x6c3,0x54f,0x54f,
-+0x54f,0x54f,0x6c3,0x6c3,0x6c0,0x54f,0x555,0x6c3,0x54f,0x54f,0x6c0,0x6c3,0x6c3,0x6c3,0x555,0x555,
-+0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x6c3,0x6c0,
-+0x6c3,0x6c0,0x54f,0x555,0x555,0x555,0x555,0x555,0x555,0x54f,0x54f,0x6c0,0xa8f,0xa8f,0xa8f,0xa8f,
-+0xa8f,0xa8f,0xa8f,0xa8f,0xb82,0xb82,0xb82,0xb85,0xb85,0xb88,0xb88,0xb82,0x561,0x561,0x561,0x561,
-+0x55e,0x6d5,0x6d5,0x558,0x558,0x6c9,0x558,0x558,0x558,0x558,0x6cf,0x6c9,0x558,0x55e,0x558,0x558,
-+0xcfc,0xcfc,0xb8b,0xb8b,0xd7a,0xa92,0x55b,0x55b,0x6cc,0x567,0x6cc,0x55b,0x55e,0x558,0x55e,0x55e,
-+0x558,0x558,0x55e,0x558,0x558,0x558,0x55e,0x558,0x558,0x558,0x55e,0x55e,0x558,0x558,0x558,0x558,
-+0x558,0x558,0x558,0x558,0x55e,0x561,0x561,0x55b,0x558,0x558,0x558,0x558,0x6d5,0x558,0x6d5,0x558,
-+0x558,0x558,0x558,0x558,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,
-+0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x558,0x6d8,0x6d5,0x56a,0x6d8,
-+0x6c9,0x6cf,0x55e,0x6c9,0x6d2,0x6c9,0x6c9,0x558,0x6c9,0x6d5,0x56a,0x6d5,0xa92,0xa92,0xb8e,0xb8e,
-+0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb91,0xb8e,0xb8e,0xd74,0xd80,0x56d,0x56d,0x56d,0x56d,
-+0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,0x56d,
-+0x570,0x12c9,0x12c9,0x12c9,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x147f,0x576,0x582,0x576,
-+0x576,0x12c9,0x570,0x570,0x582,0x582,0x12cc,0x12cc,0x585,0x585,0x570,0x57c,0x570,0x570,0x57c,0x570,
-+0x57c,0x570,0x57c,0x570,0x570,0x570,0x570,0x570,0x570,0x57c,0x570,0x570,0x570,0x570,0x570,0x570,
-+0x12c9,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x57c,0x57c,0x570,0x570,0x570,
-+0x570,0x570,0x570,0x570,0x570,0x6de,0x570,0x570,0x570,0x570,0x570,0x570,0x57c,0x570,0x570,0x57c,
-+0x570,0x570,0x570,0x570,0x12c9,0x570,0x12c9,0x570,0x570,0x570,0x570,0x12c9,0x12c9,0x12c9,0x570,0x122a,
-+0x570,0x570,0x570,0x579,0x579,0x579,0x579,0x12c6,0x12c6,0x570,0x573,0x57f,0x57c,0x570,0x570,0x570,
-+0xb97,0xb94,0xb97,0xb94,0xb97,0xb94,0xb97,0xb94,0xb97,0xb94,0xb97,0xb94,0xb97,0xb94,0x6db,0x6db,
-+0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,0x570,0x57c,0x570,0x570,0x570,0x570,0x570,0x570,
-+0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x12c9,0x570,0x570,0x570,0x570,0x570,0x570,0x570,
-+0x570,0x570,0x570,0x570,0x570,0x570,0x570,0x12c9,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5af,0x5af,0x5af,0x5af,
-+0x5af,0x5af,0x5af,0x5af,0x5a6,0x5ac,0x59d,0x5a0,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,
-+0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5a9,0x5af,0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5a9,0x5af,0x5ac,0x5a6,0x5ac,0x5a6,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,0x12cf,
-+0x12cf,0x12cf,0x12cf,0x12cf,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5af,0x5a9,0x5af,0x5ac,0x5a6,
-+0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5ac,0x5a6,0x5a9,0x5ac,0x5a6,0x5a9,
-+0x5ac,0x5a6,0x5a9,0x5af,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,
-+0x5a9,0x5a9,0x5a9,0x5a9,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a6,0x5a9,0x5a6,0x5a9,0x5a6,0x5a6,0x5a9,0x5a6,0x5a6,0x5a9,
-+0x5a6,0x5a9,0x5a6,0x5a6,0x5a9,0x5a6,0x5a9,0x5a9,0x5a6,0x5a6,0x5a6,0x5a9,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a9,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a6,0x5a6,0x5a9,0x5a6,0x5a9,0x5a6,
-+0x5a6,0x5a6,0x5a6,0x5a6,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,
-+0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,
-+0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5a9,0x5af,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,
-+0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5af,0x5ac,0x5ac,0x5ac,
-+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5b2,0x5b2,0x5b2,0x5b2,0xf84,0xf84,0xf84,0x1482,
-+0x1482,0x1482,0x1482,0x1482,0x1482,0x1482,0x1680,0x1680,0x80a,0x810,0x810,0x81c,0x81c,0x80d,0x804,0x80d,
-+0x804,0x80d,0x804,0x80d,0x804,0x80d,0x804,0x80d,0x5c1,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,
-+0x5bb,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5c1,0x5bb,0x5be,
-+0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,0x5bb,0x5c1,
-+0x5bb,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,
-+0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,0x5c4,0x5c1,0x5bb,0x5be,
-+0x5c4,0x5c1,0x5bb,0x5be,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,
-+0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ae,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,
-+0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,
-+0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6ab,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,
-+0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b7,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,0x6b4,
-+0x6b4,0x6b4,0x6b4,0x6b4,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,0x6b1,
-+0x6b1,0x6b1,0x6b1,0x6b1,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,0x6ba,
-+0x6ba,0x6ba,0x6ba,0x6ba,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,
-+0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,0x6e1,
-+0x6e1,0x6e1,0x6e1,0x6e1,0xbeb,0x86d,0x867,0x864,0x86a,0x861,0x6f6,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,
-+0x6f9,0x6f9,0x6f9,0x6f9,0x873,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,
-+0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,
-+0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x870,0x870,0x6fc,0x882,0x885,0x88b,0x7b0,0x7bc,0x8a0,0x7b9,
-+0x879,0x876,0x879,0x876,0x87f,0x87c,0x87f,0x87c,0x879,0x876,0x7b6,0x88b,0x879,0x876,0x879,0x876,
-+0x879,0x876,0x879,0x876,0x88e,0x897,0x894,0x894,0x702,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x738,
-+0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,0x738,
-+0x738,0x738,0x738,0x705,0x720,0x6ff,0x726,0x729,0x723,0x73b,0x73b,0x73b,0x73b,0x73b,0x73b,0x735,
-+0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,0x735,
-+0x735,0x735,0x735,0x705,0x720,0x6ff,0x720,0xbee,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,
-+0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,
-+0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x124b,0x124b,0x124b,0x124b,0x124b,0x7a7,
-+0x7b6,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x7b9,0x8d6,0x8d6,0x8d6,0x8d6,0x7bf,0x7bf,
-+0x891,0x89d,0x89d,0x89d,0x89d,0x89a,0x7b3,0x888,0xab6,0xab6,0xab6,0xbfd,0xc1b,0xc18,0xad1,0x85e,
-+0x7c5,0x7c2,0x7c5,0x7c8,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c5,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,0x7c2,
-+0x7c5,0x7c5,0x7c2,0x7c5,0x7c5,0x7c2,0x7c5,0x7c5,0x7c2,0x7c5,0x7c5,0x7c2,0x7c5,0x7c5,0x7c2,0x7c2,
-+0xc1e,0x7d7,0x7d1,0x7d7,0x7d1,0x7d7,0x7d1,0x7d7,0x7d1,0x7d7,0x7d1,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,
-+0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,
-+0x7d4,0x7d1,0x7d4,0x7d7,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d4,0x7d1,0x7d1,0x7d1,0x7d1,0x7d1,0x7d1,
-+0x7d4,0x7d4,0x7d1,0x7d4,0x7d4,0x7d1,0x7d4,0x7d4,0x7d1,0x7d4,0x7d4,0x7d1,0x7d4,0x7d4,0x7d1,0x7d1,
-+0x7d1,0x7d1,0x7d1,0x7d7,0x7d1,0x7d7,0x7d1,0x7d7,0x7d1,0x7d1,0x7d1,0x7d1,0x7d1,0x7d1,0x7d7,0x7d1,
-+0x7d1,0x7d1,0x7d1,0x7d1,0x7d4,0x7d7,0x7d7,0x7d4,0x7d4,0x7d4,0x7d4,0x8a6,0x8a9,0x7da,0x7dd,0xc06,
-+0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,
-+0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,
-+0x7e6,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,
-+0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7e3,0x7ef,0x7ef,0x7ef,0x7ef,
-+0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,
-+0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0x7ef,0xd08,0xd08,0xe34,0x7e9,0x8b2,0x8b2,0x8b2,0x8b2,
-+0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0xd02,0xd02,0xd02,0xd02,0x7f2,0x7f2,0x7f2,0x7f2,
-+0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x8bb,0x8bb,0x8bb,0x8bb,
-+0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x7f5,0x7f5,0x7f5,
-+0x7f5,0x7f5,0x7f5,0xd0b,0xd0b,0xd0b,0xd0b,0x8be,0x8be,0x8be,0x8be,0x8be,0x7f5,0x7f5,0x7f5,0x7f5,
-+0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,
-+0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0xd0b,0xd0b,
-+0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,
-+0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,
-+0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,
-+0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,
-+0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,
-+0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,
-+0x10ad,0x10ad,0x10ad,0x10ad,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,
-+0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,
-+0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x801,0x801,0x7fe,0x801,0x7fe,0x801,0x801,0x7fe,0x7fe,0x7fe,
-+0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x7fe,0x801,0x7fe,0x801,0x7fe,0x801,0x801,0x7fe,0x7fe,0x801,
-+0x801,0x801,0x7fe,0x7fe,0x7fe,0x7fe,0x143a,0x143a,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,
-+0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,
-+0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,
-+0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x8b2,0x124e,0x124e,0x124e,0x124e,0x122d,0x122d,0x122d,0x122d,
-+0x122d,0x122d,0x122d,0x122d,0xd02,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,
-+0xc09,0xc09,0xc09,0xc09,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,
-+0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b8,0x8b5,0x8b8,0x8b5,0x8b5,
-+0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,0x8b5,
-+0x8b5,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,0xc09,
-+0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,
-+0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0x8bb,0xd0b,
-+0x936,0x918,0x918,0x918,0x918,0x912,0x918,0x918,0x92a,0x918,0x918,0x915,0x921,0x927,0x927,0x927,
-+0x927,0x927,0x92a,0x912,0x91e,0x912,0x912,0x912,0x909,0x909,0x912,0x912,0x912,0x912,0x912,0x912,
-+0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x912,0x912,0x912,0x912,0x912,0x912,
-+0x912,0x912,0x912,0x912,0x915,0x909,0x912,0x909,0x912,0x909,0x924,0x91b,0x924,0x91b,0x933,0x933,
-+0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,
-+0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,
-+0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,
-+0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,
-+0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,
-+0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,
-+0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,
-+0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x94b,0x94b,
-+0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,
-+0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x94e,0x94e,
-+0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,
-+0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,0x951,
-+0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,
-+0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,0x954,
-+0x957,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,
-+0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x957,0x95a,0x95a,0x95a,
-+0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,
-+0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x9e7,0x9e7,0xf69,0x9e7,0x9e7,0x9e7,0x9ea,0x9e7,
-+0xf69,0x9e7,0x9e7,0xf60,0x9e1,0x9d5,0x9d5,0x9d5,0x9d5,0x9e4,0x9d5,0xf4e,0xf4e,0xf4e,0x9d5,0x9d8,
-+0x9e1,0x9db,0xf54,0xf63,0xf63,0xf4e,0xf4e,0xf69,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
-+0xad7,0xad7,0x9ed,0x9ed,0x9de,0x9de,0x9de,0x9de,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e4,0x9e4,
-+0x9d5,0x9d5,0xf69,0xf69,0xf69,0xf69,0xf4e,0xf4e,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,
-+0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,
-+0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0xd59,
-+0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0xd59,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,
-+0x9fc,0x9fc,0x9fc,0x9fc,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,
-+0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,0xa02,
-+0xa02,0xa02,0xa02,0xa02,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
-+0xa08,0xa05,0xa0b,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,
-+0x10e0,0x10e0,0x10e0,0x10e0,0x10dd,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
- 0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
--0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa29,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,
--0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,
--0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,
--0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xa4d,0xb40,0xb40,0xb40,0xb40,0xb40,
--0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,
--0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,0xa59,
--0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,
--0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,0xa6b,
--0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,
--0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,
--0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,
--0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,
--0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,
--0xa83,0xa83,0xa83,0xa83,0xa83,0xa86,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,
--0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,
--0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa83,0xa89,0xa89,0xbc4,0xbc4,0xa89,0xa89,0xa89,0xa89,
--0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xbc4,0xa89,0xa89,0xa89,
--0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,
--0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,
--0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0xaaa,0x13ef,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xc48,0xc48,
--0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,
--0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xab0,0xc45,0xc45,0xc93,0xc93,0xc93,0xc93,
--0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xab3,0xab3,0xab3,0xab3,
--0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,
--0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab6,0xab6,0xab6,0xab6,
--0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,
--0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xac5,0xac5,0xac5,0xac5,
--0xac5,0xabc,0xac8,0xace,0xace,0xace,0xac2,0xac2,0xac2,0xacb,0xabf,0xabf,0xabf,0xabf,0xabf,0xab9,
--0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xace,0xace,0xace,0xace,0xace,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac5,0xac5,
--0xace,0xace,0xace,0xac2,0xac2,0xace,0xace,0xace,0xace,0xace,0xace,0xace,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xace,0xace,0xace,0xace,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,
--0xac2,0xac2,0xac2,0xac2,0xac2,0xac2,0x15d8,0x15d8,0xada,0xad1,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad1,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xad1,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad1,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xad1,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad4,0xad4,0xad4,0xad4,
--0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,
--0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xad4,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
--0xada,0xada,0xada,0xada,0xada,0xada,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,
--0xada,0xada,0xada,0xada,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,
--0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,
--0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xadd,0xae0,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,
--0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,
--0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae3,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,
-+0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
-+0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
-+0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa41,0xa41,0xa41,0xa44,0xa44,0xa41,0xa41,0xa41,
-+0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa29,0xa29,0xa3e,0xa20,
-+0xa20,0xa20,0xa20,0xa20,0xa20,0xa20,0xa3e,0xa3e,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,
-+0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,
-+0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa62,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
-+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,
-+0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,0xa89,
-+0xa89,0xa89,0xa89,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,
-+0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,
-+0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,
-+0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,
-+0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaa7,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,
-+0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,
-+0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xaad,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-+0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-+0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,
-+0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xac2,0xabf,0xabf,
-+0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,
-+0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,0xabf,
-+0xac5,0xac5,0xc0c,0xc0c,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,
-+0xac5,0xac5,0xac5,0xac5,0xc0c,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,0xac5,
- 0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,
--0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,
--0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb40,0xb3d,0xb40,
--0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xc3c,
--0xc3f,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xd20,0xe31,0xe31,0xe31,0xe31,
--0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xc42,0xc42,0xc42,0xc42,0xc42,0xc42,
--0xc42,0xc42,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xf24,0x11b8,0x11b8,
--0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd32,0xd2f,0xe43,0xe43,0xe43,0xe43,0x12f0,0xf36,0x12f0,0x125a,0x125a,
--0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
--0xb7f,0xb7f,0xbac,0xba9,0xbac,0xba9,0xbac,0xba9,0x1047,0x1044,0xf3c,0xf39,0xb82,0xb82,0xb82,0xb82,
--0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb85,0xb85,0xb85,0xb85,
--0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,
--0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb88,0xb88,0xb88,0xb8e,
--0xb8b,0xbb2,0xbaf,0xb8e,0xb8b,0xb8e,0xb8b,0xb8e,0xb8b,0xb8e,0xb8b,0xb8e,0xb8b,0xb8e,0xb8b,0xb8e,
--0xb8b,0xb8e,0xb8b,0xb8e,0xb8b,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,
--0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,
--0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb8e,0xb8b,0xb8e,0xb8b,0xb88,0xb88,0xb88,0xb88,
--0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,
--0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb88,0xb8e,0xb8b,0xb88,0xb88,0xb91,0xb91,0xb91,0xb91,
--0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb97,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
--0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
--0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb97,0xb97,0xb97,0xb91,
--0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
--0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb94,0xb91,0xb91,0xb91,
--0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,
--0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,
--0xc42,0xc42,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,0xd23,
--0xd23,0xd23,0xe34,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0x108f,0x11bb,0x11bb,
--0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,
--0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,
--0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc6c,0xc6c,0xc6c,0xc6c,0xc6c,0xc69,0xc7e,0xc7e,0xc7e,0xc78,
--0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc78,0xc7e,0xc7e,0xc7e,0xc7e,
--0xc72,0xc72,0xc7b,0xc7b,0xc7b,0xc7b,0xc6f,0xc6f,0xc6f,0xc6f,0xc6f,0xc75,0xd38,0xd38,0xd38,0xd38,
--0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd35,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,
--0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc78,0xc7e,
--0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc7e,0xc72,0xc72,0xc72,
--0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,
--0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,0xc75,
--0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xc81,0xd3b,0xd3b,
--0xd3b,0xd3b,0xd3b,0xd3b,0xe46,0xe46,0xe46,0xe46,0xe46,0xe46,0xe46,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,
--0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,
--0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,0xc84,
--0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,
--0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,
--0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,
--0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,0xc93,
--0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,
--0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,0xc9f,
--0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,
--0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,0xcae,
--0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,
--0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,
--0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,
--0xd47,0xd47,0xd47,0xd47,0xd47,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,
--0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,
--0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,0xd47,
--0xe01,0xe01,0xd59,0xd59,0xe49,0xe49,0xe49,0xe49,0xe49,0xe49,0xe49,0xf4b,0xf4b,0xf4b,0xf4b,0xf4b,
--0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,0xf48,
--0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,
--0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,0xd68,0xd65,
--0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,
--0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,
--0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,
--0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,
--0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,
--0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xe4c,0xe4c,0xe4c,0xe4c,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,
-+0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0x1485,
-+0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xc96,0xc96,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,
-+0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,0xaec,
-+0xaec,0xaec,0xc93,0xc93,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,
-+0xce4,0xce4,0xce4,0xce4,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,
-+0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,0xaef,
-+0xaef,0xaef,0xaef,0xaef,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,
-+0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,
-+0xaf2,0xaf2,0xaf2,0xaf2,0xb01,0xb01,0xb01,0xb01,0xb01,0xaf8,0xb04,0xb0a,0xb0a,0xb0a,0xafe,0xafe,
-+0xafe,0xb07,0xafb,0xafb,0xafb,0xafb,0xafb,0xaf5,0xaf5,0xaf5,0xaf5,0xaf5,0xaf5,0xaf5,0xaf5,0xb0a,
-+0xb0a,0xb0a,0xb0a,0xb0a,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xb01,0xb01,0xb0a,0xb0a,0xb0a,0xafe,0xafe,0xb0a,0xb0a,0xb0a,
-+0xb0a,0xb0a,0xb0a,0xb0a,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xb0a,0xb0a,0xb0a,0xb0a,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xb01,0xb01,0xb01,0xb01,0xb01,
-+0xb01,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,
-+0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0xafe,0x1683,0x1683,
-+0xb16,0xb0d,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb0d,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb0d,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb0d,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb0d,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-+0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-+0xb10,0xb10,0xb10,0xb10,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,
-+0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb16,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb16,0xb16,0xb16,0xb16,0xb19,0xb19,0xb19,0xb19,
-+0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,
-+0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb19,0xb1c,
-+0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-+0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-+0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-+0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-+0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,
-+0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb79,0xb7c,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-+0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xc84,0xc87,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,
-+0xd71,0xd71,0xd71,0xd71,0xe8b,0xe8b,0xe8b,0xe8b,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,0xb8e,
-+0xb8e,0xb8e,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xc8a,0xd77,0xd7d,0xd77,0xd74,0xd77,0xd77,
-+0xd74,0xd77,0xd74,0xd77,0xd77,0xf7e,0x1218,0x1218,0xd86,0xd86,0xd86,0xd86,0xd86,0xd8c,0xd89,0xe9d,
-+0xe9d,0xe9d,0xe9d,0x1383,0xf90,0x1383,0x12d8,0x12d8,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,
-+0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbc4,0xbf4,0xbf1,0xbf4,0xbf1,0xbf4,0xbf1,
-+0x10a7,0x10a4,0xf96,0xf93,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,0xbc7,
-+0xbc7,0xbc7,0xbc7,0xbc7,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,
-+0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,
-+0xbca,0xbca,0xbca,0xbca,0xbcd,0xbcd,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,0xbca,
-+0xbd0,0xbd0,0xbd0,0xbd6,0xbd3,0xbfa,0xbf7,0xbd6,0xbd3,0xbd6,0xbd3,0xbd6,0xbd3,0xbd6,0xbd3,0xbd6,
-+0xbd3,0xbd6,0xbd3,0xbd6,0xbd3,0xbd6,0xbd3,0xbd6,0xbd3,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,
-+0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,
-+0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd6,0xbd3,0xbd6,0xbd3,
-+0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,
-+0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd0,0xbd6,0xbd3,0xbd0,0xbd0,
-+0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbdf,0xbd9,0xbd9,0xbd9,
-+0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,
-+0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,
-+0xbdf,0xbdf,0xbdf,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,
-+0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,
-+0xbdc,0xbd9,0xbd9,0xbd9,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,
-+0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,
-+0xc0f,0xc0f,0xc0f,0xc0f,0xc8d,0xc90,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd7d,0xd7d,
-+0xd74,0xd74,0xd74,0xd74,0xd77,0xd77,0xe8e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,
-+0xf7e,0x10ef,0x1224,0x121b,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,
-+0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,
-+0xcb4,0xcb4,0xcb4,0xcb4,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcba,0xcba,0xcba,0xcba,0xcba,0xcb7,
-+0xccc,0xccc,0xccc,0xcc6,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xcc6,
-+0xccc,0xccc,0xccc,0xccc,0xcc0,0xcc0,0xcc9,0xcc9,0xcc9,0xcc9,0xcbd,0xcbd,0xcbd,0xcbd,0xcbd,0xcc3,
-+0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd92,0xd8f,0xd92,0xd92,0xd92,
-+0xd92,0xd92,0xd92,0xd92,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,
-+0xccc,0xccc,0xcc6,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,0xccc,
-+0xccc,0xcc0,0xcc0,0xcc0,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,
-+0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,0xcc3,
-+0xcc3,0xcc3,0xcc3,0xcc3,0xccf,0xccf,0xccf,0xccf,0xccf,0xcd2,0xcd2,0xcd2,0xccf,0xccf,0xccf,0xccf,
-+0xccf,0xccf,0xd95,0xd95,0xd95,0xd95,0xd95,0xd95,0xea0,0xea0,0xea0,0xea0,0xea0,0xea0,0xea0,0xf9c,
-+0xf9c,0xf99,0xf99,0xf99,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,
-+0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,0xcd5,
-+0xcd5,0xcd5,0xcd5,0xcd5,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,
-+0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,0xcdb,
-+0xcdb,0xcdb,0xcdb,0xcdb,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,
-+0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,0xce4,
-+0xce4,0xce4,0xce4,0xce4,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,
-+0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,0xcf0,
-+0xcf0,0xcf0,0xcf0,0xcf0,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,
-+0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,
-+0xcff,0xcff,0xcff,0xcff,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,
- 0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,
--0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,0xd9b,
--0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,
--0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,0xda4,
--0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,
--0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xdad,0xda7,
--0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,
--0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdad,0xdad,0xdad,0xdad,0xdad,
--0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb6,0xdb3,0xdb3,
--0xdb3,0xdb3,0xdb3,0xdb3,0xdb3,0xdb3,0xdb0,0xdb9,0xf5a,0xf54,0xf63,0xf51,0xdb6,0xdb6,0xf51,0xf51,
--0xdcb,0xdcb,0xdbc,0xdcb,0xdcb,0xdcb,0xdc2,0xdcb,0xdcb,0xdcb,0xdcb,0xdbc,0xdcb,0xdcb,0xdcb,0xdcb,
--0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,0xdcb,
--0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,
-+0xd9b,0xd9b,0xd9b,0xd9b,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,
-+0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,
-+0xd9e,0xd9e,0xd9e,0xd9e,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,
-+0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,
-+0xda1,0xda1,0xda1,0xda1,0xe5b,0xe5b,0xdb3,0xdb3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xea3,0xfa8,
-+0xfa8,0xfa8,0xfa8,0xfa8,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,0xfa5,
-+0xfa5,0xfa5,0xfa5,0xfa5,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,
-+0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,0xdc2,0xdbf,
-+0xdc2,0xdbf,0xdc2,0xdbf,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,
- 0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,0xdce,
--0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,
--0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,0xde0,
-+0xdce,0xdce,0xdce,0xdce,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,
-+0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,0xdd4,
-+0xdd4,0xdd4,0xdd4,0xdd4,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,
-+0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xdec,0xea6,0xea6,0xea6,0xea6,0xfab,
-+0xfab,0xfab,0xfab,0xfab,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,
-+0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,0xdf5,
-+0xdf5,0xdf5,0xdf5,0xdf5,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,
- 0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,
--0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,0x1053,
--0xe46,0xe46,0xe46,0xe46,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,
--0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,
--0xe67,0xe67,0xe67,0xe67,0xe79,0xe82,0xe85,0xe82,0xe85,0xe82,0xe85,0xe82,0xe85,0xe82,0xe85,0xe82,
--0xe82,0xe82,0xe85,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,
--0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe82,0xe6a,0xe79,0xe67,0xe67,0xe67,0xe67,0xe67,0xe7c,
--0xe67,0xe7c,0xe79,0xe79,0xe8e,0xe8b,0xe8e,0xe8e,0xe8e,0xe8b,0xe8b,0xe8e,0xe8b,0xe8e,0xe8b,0xe8e,
--0xe8b,0xf75,0xf75,0xf75,0x10ad,0xf6c,0xf75,0xf6c,0xe8b,0xe8e,0xe8b,0xe8b,0xf6c,0xf6c,0xf6c,0xf6c,
--0xf6f,0xf72,0x10ad,0x10ad,0xe91,0xe91,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,
--0xf87,0xf7e,0xf87,0xf7e,0xf7e,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,
--0xf87,0xf7e,0xf87,0xf7e,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,
--0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,
--0xe97,0xe97,0xe97,0xe97,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,
--0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,
--0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0xea6,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,
--0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0x1422,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,
--0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,
--0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xef4,0xf0f,0xf06,0xf03,0xf03,0xf0f,0xf0f,0xf06,
--0xf06,0xf03,0xf03,0xf03,0xf03,0xf03,0xf0f,0xf0f,0xf0f,0xef4,0xef4,0xef4,0xef4,0xf0f,0xf0f,0xf0f,
--0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xf0f,0xef4,0xf06,0xf09,0xef4,0xef4,0xf0c,
--0xf0c,0xf0c,0xf0c,0xf0c,0xf0c,0xef7,0xf0f,0xf0c,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,
--0xf00,0xf00,0x1074,0x1074,0x1071,0x106e,0xefd,0xefd,0xf27,0xf27,0xf27,0xf27,0x11bb,0x11bb,0x11bb,0x11bb,
--0x11bb,0x11b8,0x11b8,0x11b8,0x11b8,0x11bb,0x1245,0x11bb,0x11bb,0x11bb,0x11b8,0x11bb,0x11bb,0x11b8,0x11b8,0x11b8,
--0x11bb,0x11bb,0x11b8,0x11b8,0x11bb,0x11b8,0x11b8,0x11bb,0xf42,0xf42,0xf42,0xf42,0xf42,0xf3f,0xf3f,0xf42,
--0xf42,0xf42,0xf42,0xf42,0xf42,0x13fb,0x13fb,0x13fb,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0x11c4,0x11c4,0x11c4,
--0x11c4,0x11c4,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0xf60,0xf60,0xf5d,0xf57,0xf5d,0xf57,0xf5d,0xf57,
--0xf5d,0xf57,0xf54,0xf54,0xf54,0xf54,0xf69,0xf66,0xf54,0x10aa,0x12fc,0x12ff,0x12ff,0x12fc,0x12fc,0x12fc,
--0x12fc,0x12fc,0x1302,0x1302,0x1416,0x140a,0x140a,0x1407,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,
--0xf7b,0xf78,0xf78,0xf87,0xf7e,0x1269,0x1266,0x15e1,0x1269,0x1266,0x130b,0x1308,0x1419,0x1419,0x141f,0x1419,
--0x141f,0x1419,0x141f,0x1419,0x141f,0x1419,0x141f,0x1419,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,
--0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,
--0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf81,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,
--0xf7e,0xf87,0xf7e,0xf87,0xf7e,0xf87,0xf87,0xf7e,0xf8a,0xf8a,0xf90,0xf96,0xf96,0xf96,0xf96,0xf96,
--0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,
--0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf90,0xf8a,0xf8a,0xf8a,0xf8a,0xf90,0xf90,
--0xf8a,0xf8a,0xf93,0x1314,0x1311,0x1311,0xf96,0xf96,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,
--0xf8d,0xf8d,0x1317,0x1317,0x1317,0x1317,0x1317,0x1317,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,
--0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,
--0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,
--0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,0xfb4,
--0xfb7,0xfb7,0xfb7,0xfba,0xfb7,0xfb7,0xfbd,0xfbd,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,
--0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,
--0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc0,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,
--0xfc9,0xfc9,0xfc9,0xfc9,0xfcc,0xfc3,0xfd2,0xfcf,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,
--0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,
--0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0xfc9,0x126f,0x126c,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,
--0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe1,0x105c,0xfd5,0xfd5,0xfd5,0xfdb,0x131a,0x131a,0x131a,0x131a,
--0x131a,0x131a,0x131a,0x131a,0xfd8,0xfd8,0xfdb,0xfe7,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,
--0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,
--0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0xfe4,0xfde,0x142e,0x142b,0x142e,0x142b,0x1431,0x1431,0x15ea,0x131a,
--0xff0,0xff0,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,
-+0xdfe,0xdfe,0xdfe,0xdfe,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,
-+0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,
-+0xe07,0xe07,0xe07,0xe01,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,
-+0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe07,
-+0xe07,0xe07,0xe07,0xe07,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,
-+0xe10,0xe10,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0a,0xe13,0xfb7,0xfb1,0xfc0,0xfae,
-+0xe10,0xe10,0xfae,0xfae,0xe25,0xe25,0xe16,0xe25,0xe25,0xe25,0xe1c,0xe25,0xe25,0xe25,0xe25,0xe16,
-+0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,
-+0xe25,0xe25,0xe25,0xe25,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,
-+0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,
-+0xe28,0xe28,0xe28,0xe28,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
-+0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
-+0xe3a,0xe3a,0xe3a,0xe3a,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,
-+0xe58,0xe58,0xe58,0xe58,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,0x10b3,
-+0x10b3,0x10b3,0x10b3,0x10b3,0xea0,0xea0,0xea0,0xea0,0xf99,0xf99,0xf99,0xf99,0xf99,0xf99,0xf99,0xf99,
-+0xf99,0xf99,0xf99,0xf99,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,
-+0xf9f,0xf9f,0xf9f,0xf9f,0xec1,0xec1,0xec1,0xec1,0xed3,0xedc,0xedf,0xedc,0xedf,0xedc,0xedf,0xedc,
-+0xedf,0xedc,0xedf,0xedc,0xedc,0xedc,0xedf,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,
-+0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xedc,0xec4,0xed3,0xec1,0xec1,
-+0xec1,0xec1,0xec1,0xed6,0xec1,0xed6,0xed3,0xed3,0xee8,0xee5,0xee8,0xee8,0xee8,0xee5,0xee5,0xee8,
-+0xee5,0xee8,0xee5,0xee8,0xee5,0xfd2,0xfd2,0xfd2,0x110d,0xfc9,0xfd2,0xfc9,0xee5,0xee8,0xee5,0xee5,
-+0xfc9,0xfc9,0xfc9,0xfc9,0xfcc,0xfcf,0x110d,0x110d,0xeeb,0xeeb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,
-+0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfdb,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,
-+0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,
-+0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,
-+0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xef1,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,
-+0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,
-+0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0xf00,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,
-+0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0xf06,0xf06,0xf06,0xf06,
-+0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,
-+0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf06,0xf4e,0xf69,0xf60,0xf5d,
-+0xf5d,0xf69,0xf69,0xf60,0xf60,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf69,0xf69,0xf69,0xf4e,0xf4e,0xf4e,
-+0xf4e,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf4e,0xf60,
-+0xf63,0xf4e,0xf4e,0xf66,0xf66,0xf66,0xf66,0xf66,0xf66,0xf51,0xf69,0xf66,0xf5a,0xf5a,0xf5a,0xf5a,
-+0xf5a,0xf5a,0xf5a,0xf5a,0xf5a,0xf5a,0x10d4,0x10d4,0x10d1,0x10ce,0xf57,0xf57,0xf81,0xf81,0xf81,0xf81,
-+0x1224,0x1224,0x121b,0x121b,0x1221,0x1218,0x1218,0x1218,0x1218,0x121b,0x12c3,0x1221,0x121b,0x1221,0x1218,0x1221,
-+0x1224,0x1218,0x1218,0x1218,0x121b,0x121b,0x1218,0x1218,0x121b,0x1218,0x1218,0x121b,0xf9f,0xf9f,0xf9f,0xf9f,
-+0xf9f,0xf99,0xf99,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0x1491,0x1491,0x1491,0xf9c,0xf99,0xf99,0xf99,
-+0xf99,0x1233,0x1230,0x1230,0x1230,0x1230,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0xfbd,0xfbd,0xfba,0xfb4,
-+0xfba,0xfb4,0xfba,0xfb4,0xfba,0xfb4,0xfb1,0xfb1,0xfb1,0xfb1,0xfc6,0xfc3,0xfb1,0x110a,0x138f,0x1392,
-+0x1392,0x138f,0x138f,0x138f,0x138f,0x138f,0x1395,0x1395,0x14ac,0x14a0,0x14a0,0x149d,0xfe4,0xfdb,0xfe4,0xfdb,
-+0xfe4,0xfdb,0xfe4,0xfdb,0xfd8,0xfd5,0xfd5,0xfe4,0xfdb,0x12e7,0x12e4,0x168c,0x12e7,0x12e4,0x139e,0x139b,
-+0x14af,0x14af,0x14b5,0x14af,0x14b5,0x14af,0x14b5,0x14af,0x14b5,0x14af,0x14b5,0x14af,0xfe4,0xfdb,0xfe4,0xfdb,
-+0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,
-+0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfde,0xfdb,0xfdb,0xfdb,
-+0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfe4,0xfdb,0xfe4,0xfdb,0xfe4,0xfe4,0xfdb,0xfe7,0xfe7,0xfed,0xff3,
- 0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,
--0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0x1002,0x1002,0x1002,0x1002,
--0x1002,0x1002,0xff9,0xff9,0xff9,0xff9,0xff9,0xffc,0xffc,0xffc,0x1050,0x1005,0x1014,0x1014,0x1014,0x1014,
--0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0xfff,0xfff,0xfff,0xfff,
--0xfff,0xfff,0xfff,0xfff,0xfff,0xfff,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,
--0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1023,0x1023,0x1023,0x1023,
--0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,
--0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1035,0x1035,0x1035,0x1035,
--0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,
--0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x1035,0x103e,0x103e,0x103e,0x103e,
--0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,
--0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x103e,0x1041,0x1041,0x1041,0x1041,
--0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,
--0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x1041,0x10bf,0x10bf,0x10bf,0x10bf,
--0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,
--0x10bf,0x10bf,0x10b6,0x10b6,0x10b9,0x10b9,0x10bf,0x10b6,0x10b6,0x10b6,0x10b6,0x10b6,0x10c2,0x10c2,0x10c2,0x10c2,
--0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,
--0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10c2,0x10dd,0x10dd,0x10dd,0x10dd,
--0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,
--0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10e9,0x10e9,0x10e9,0x10e9,
--0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,
--0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e6,0x10ec,0x10f8,0x10f8,0x10f8,0x10f8,
--0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,
--0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x1107,0x1107,0x1107,0x1116,
--0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,
--0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x111c,0x110a,
--0x1116,0x1116,0x1107,0x1107,0x1107,0x1107,0x1116,0x1116,0x1107,0x1116,0x1116,0x1116,0x1128,0x1128,0x1128,0x1128,
--0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x1128,0x112b,0x1128,0x1128,0x1128,
--0x1128,0x1128,0x1128,0x1122,0x1122,0x1122,0x1128,0x1125,0x1437,0x143a,0x143d,0x143d,0x113a,0x113a,0x113a,0x113a,
--0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x112e,0x113a,0x112e,0x112e,
--0x112e,0x1143,0x1143,0x112e,0x112e,0x1143,0x113a,0x1143,0x1143,0x113a,0x112e,0x1131,0x113a,0x113a,0x113a,0x113a,
--0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,
--0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x113a,0x1155,0x1155,0x1155,0x1155,
--0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,
--0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x1155,0x116d,0x116d,0x116d,0x116d,
--0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,
--0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116d,0x116a,0x116a,0x116a,0x1176,0x1176,0x1176,0x1176,
--0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,
--0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1176,0x1185,0x1185,0x1185,0x1185,
--0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,
--0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x1185,0x11a0,0x11a0,0x11a0,0x11a0,
--0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a3,0x11a0,0x11a0,0x11a0,0x11a0,0x119d,0x119d,0x119d,0x1191,
--0x1191,0x1191,0x1191,0x119d,0x119d,0x1197,0x1194,0x119a,0x119a,0x118b,0x11a6,0x11a6,0x118e,0x118e,0x119d,0x11a0,
--0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,
--0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a0,0x11a3,0x11a0,0x11a3,0x11a0,0x11a0,0x11a0,0x11a9,0x11a9,0x11a9,0x11a9,
--0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,
--0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11af,0x11af,0x11af,0x11ac,
--0x11ac,0x11ac,0x11a9,0x11a9,0x11a9,0x11a9,0x11ac,0x11a9,0x11a9,0x11a9,0x11af,0x11ac,0x11af,0x11ac,0x11a9,0x11a9,
--0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,
--0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11a9,0x11af,0x11ac,0x11ac,0x11a9,0x11a9,0x11a9,0x11a9,
--0x11bb,0x11bb,0x1245,0x11b8,0x1245,0x1245,0x1245,0x1245,0x11b8,0x11b8,0x11bb,0x11b8,0x11b8,0x11b8,0x11b8,0x11b8,
--0x11b8,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11b8,0x11bb,0x11bb,0x11bb,0x11bb,0x11b8,0x11b8,0x11bb,0x11bb,0x11bb,
--0x12c9,0x12c9,0x11d6,0x12c9,0x12c9,0x12c9,0x11d6,0x12c9,0x12c9,0x12c9,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x12c3,
--0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x11d3,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x11d3,
--0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,
--0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,0x11f1,
--0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,
--0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,0x128d,
--0x12a2,0x1293,0x12a2,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,
--0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,0x12a5,
--0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,
--0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,
--0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12ab,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,0x12b1,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,0x12b4,0x12b4,0x12b4,0x12b1,0x12b4,0x12b1,0x12b4,0x12b1,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,0x12b4,0x12b1,0x12b1,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,
--0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,
--0x12b1,0x12b1,0x1449,0x1449,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x15f6,0x15f6,0x15f6,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x15f6,0x15f6,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x1449,0x1449,0x144c,0x144c,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x144c,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x144c,0x144c,0x144c,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x15f6,0x15f6,0x15f6,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x12b4,0x144c,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x12b4,0x12b4,0x12b4,
--0x12b4,0x144c,0x144c,0x15f6,0x1320,0x1320,0x1320,0x1320,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,0x144c,0x15f6,
--0x15f6,0x15f6,0x15f6,0x15f6,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,0x144c,0x12b4,
--0x12b4,0x12b4,0x12b4,0x12b4,0x1323,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,
--0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x1323,0x12b7,0x12b7,0x12b7,0x1323,0x12b7,0x1323,0x12b7,0x1323,0x12b7,0x1323,
--0x12b7,0x12b7,0x12b7,0x1323,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x1323,0x1323,0x12b7,0x12b7,0x12b7,0x12b7,
--0x1323,0x12b7,0x1323,0x1323,0x12b7,0x12b7,0x12b7,0x12b7,0x1323,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,
--0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x144f,0x144f,0x15f9,0x15f9,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,0x12b7,
--0x12b7,0x12b7,0x12b7,0x12b7,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,
--0x1539,0x1539,0x1539,0x1539,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,
--0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,
--0x12ba,0x12ba,0x12ba,0x12ba,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,
--0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,
--0x12bd,0x12bd,0x12bd,0x12bd,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,
--0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,0x12db,
--0x12db,0x12db,0x12db,0x12db,0x1335,0x1335,0x1335,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,
-+0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xfed,0xfe7,0xfe7,
-+0xfe7,0xfe7,0xfed,0xfed,0xfe7,0xfe7,0xff0,0x13a7,0x13a4,0x13a4,0xff3,0xff3,0xfea,0xfea,0xfea,0xfea,
-+0xfea,0xfea,0xfea,0xfea,0xfea,0xfea,0x13aa,0x13aa,0x13aa,0x13aa,0x13aa,0x13aa,0x1008,0x1008,0x1008,0x1008,
-+0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
-+0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1011,0x1011,0x1011,0x1011,
-+0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,
-+0x1011,0x1011,0x1011,0x1011,0x1014,0x1014,0x1014,0x1017,0x1014,0x1014,0x101a,0x101a,0x101d,0x101d,0x101d,0x101d,
-+0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,
-+0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x101d,0x1026,0x1026,0x1026,0x1026,
-+0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1029,0x1020,0x102f,0x102c,0x1026,0x1026,0x1026,0x1026,
-+0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,
-+0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x12ed,0x12ea,0x1041,0x103b,
-+0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x103e,0x10bc,0x1032,0x1032,0x1032,0x1038,
-+0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x1035,0x1035,0x1038,0x1044,0x1041,0x103b,0x1041,0x103b,
-+0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,
-+0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x14c4,0x14c1,0x14c4,0x14c1,
-+0x14c7,0x14c7,0x1695,0x13ad,0x104d,0x104d,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,
-+0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,0x1050,
-+0x1050,0x1050,0x1050,0x1050,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,0x104d,
-+0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x1056,0x1056,0x1056,0x1056,0x1056,0x1059,0x1059,0x1059,0x10b0,0x1062,
-+0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,
-+0x105c,0x105c,0x105c,0x105c,0x105c,0x105c,0x105c,0x105c,0x105c,0x105c,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,
-+0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,0x105f,
-+0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,
-+0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,
-+0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,
-+0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,
-+0x109b,0x109b,0x109b,0x109b,0x109e,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,
-+0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,0x109b,
-+0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,
-+0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,0x10a1,
-+0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,
-+0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x1116,0x1116,0x1119,0x1119,0x111f,0x1116,0x1116,0x1116,0x1116,0x1116,
-+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,
-+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,
-+0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,
-+0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,
-+0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,
-+0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x1146,0x114c,
-+0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,
-+0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,0x1158,
-+0x1167,0x1167,0x1167,0x1176,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,
-+0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,0x117c,
-+0x117c,0x117c,0x117c,0x116a,0x1176,0x1176,0x1167,0x1167,0x1167,0x1167,0x1176,0x1176,0x1167,0x1176,0x1176,0x1176,
-+0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,
-+0x118b,0x1188,0x1188,0x1188,0x1188,0x1188,0x1188,0x1182,0x1182,0x1182,0x1188,0x1185,0x14cd,0x14d0,0x14d3,0x14d3,
-+0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,
-+0x118e,0x119a,0x118e,0x118e,0x118e,0x11a3,0x11a3,0x118e,0x118e,0x11a3,0x119a,0x11a3,0x11a3,0x119a,0x118e,0x1191,
-+0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,
-+0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,0x119a,
-+0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,
-+0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,
-+0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,
-+0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11cd,0x11ca,0x11ca,0x11ca,
-+0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,
-+0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,0x11d6,
-+0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,
-+0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,
-+0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1203,0x1200,0x1200,0x1200,0x1200,
-+0x11fd,0x11fd,0x11fd,0x11f1,0x11f1,0x11f1,0x11f1,0x11fd,0x11fd,0x11f7,0x11f4,0x11fa,0x11fa,0x11eb,0x1206,0x1206,
-+0x11ee,0x11ee,0x11fd,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,
-+0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1203,0x1200,0x1203,0x1200,0x1200,0x1200,
-+0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,
-+0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,
-+0x120f,0x120f,0x120f,0x120c,0x120c,0x120c,0x1209,0x1209,0x1209,0x1209,0x120c,0x1209,0x1209,0x1209,0x120f,0x120c,
-+0x120f,0x120c,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,
-+0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x1209,0x120f,0x120c,0x120c,
-+0x1209,0x1209,0x1209,0x1209,0x121b,0x121b,0x12c0,0x1218,0x12c0,0x12c0,0x12c0,0x12c0,0x1218,0x121e,0x1224,0x1218,
-+0x1218,0x1218,0x1218,0x1218,0x121e,0x1221,0x1224,0x1224,0x1221,0x1224,0x1218,0x1221,0x1221,0x1227,0x1224,0x1218,
-+0x1218,0x1224,0x121b,0x121b,0x1356,0x1356,0x1245,0x1356,0x1356,0x1356,0x1245,0x1356,0x1356,0x1356,0x123f,0x123f,
-+0x123f,0x123f,0x123f,0x134d,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1353,0x1242,0x1353,0x1353,0x1353,0x1353,
-+0x1353,0x1353,0x1353,0x1242,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,
-+0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,
-+0x1266,0x1266,0x1266,0x1266,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,
-+0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,0x130b,
-+0x130b,0x130b,0x130b,0x130b,0x1320,0x1311,0x1320,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,
-+0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,0x1323,
-+0x1323,0x1323,0x1323,0x1323,0x1311,0x1311,0x1311,0x1311,0x1311,0x1311,0x1311,0x1311,0x1329,0x1329,0x1329,0x1329,
-+0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,
-+0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1329,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1332,0x1332,0x1335,0x1335,0x1335,0x1335,0x1335,0x1332,0x1335,0x1335,0x1335,0x1332,0x1335,0x1332,0x1335,
-+0x1332,0x1335,0x1335,0x1335,0x1335,0x1335,0x1338,0x1335,0x1335,0x1335,0x1335,0x1332,0x1335,0x1332,0x1332,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1332,0x1332,0x1332,0x1332,
-+0x1332,0x1332,0x1332,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,
-+0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x14df,0x14df,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x14e8,0x14e2,0x14e2,0x14e8,0x14e8,0x14e8,0x14e8,
-+0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x16a1,0x16a1,0x16a1,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x14e8,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x14e8,0x16a1,0x16a1,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1338,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x14e2,0x14e2,0x14e8,0x14e8,0x14e2,0x14e8,0x14e8,0x14e8,0x14df,0x14df,0x14e8,0x14e8,
-+0x1335,0x1335,0x1335,0x1338,0x1338,0x14eb,0x1335,0x1335,0x1335,0x1335,0x1338,0x14ee,0x14e8,0x14e8,0x14e8,0x16a1,
-+0x16a1,0x16a1,0x16a1,0x16a1,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,0x14e8,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x14e2,0x14e2,0x14e8,0x14eb,0x14e8,0x14e2,0x14e8,0x16a1,0x16a1,0x16a1,0x16a4,0x16a4,0x16a4,0x16a4,0x16a4,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x14e8,
-+0x1335,0x14e8,0x1338,0x1338,0x1335,0x1335,0x1338,0x1338,0x1338,0x1338,0x1338,0x1338,0x1338,0x1338,0x1338,0x1338,
-+0x1338,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1338,0x1338,0x1338,0x1338,0x1335,0x1335,0x1335,0x1335,0x1338,0x1335,0x1338,0x1338,0x1338,0x1338,
-+0x1338,0x1338,0x1338,0x1338,0x1338,0x1335,0x1335,0x1335,0x1338,0x1335,0x1335,0x1335,0x1335,0x1338,0x1338,0x1338,
-+0x1335,0x1338,0x1338,0x1338,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x14eb,0x1335,0x1335,0x1335,
-+0x1335,0x14e8,0x14e2,0x16a1,0x13b3,0x13b3,0x13b3,0x13b3,0x14df,0x14df,0x14df,0x14df,0x14df,0x14e5,0x14e8,0x16a1,
-+0x16a1,0x16a1,0x16a1,0x169e,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x14e2,0x14e8,0x14e2,0x14e8,0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e2,0x14e2,0x14e2,
-+0x14e2,0x14e2,0x14e2,0x14e8,0x14e2,0x14e2,0x14e2,0x14e8,0x14df,0x14df,0x14df,0x14df,0x14df,0x14df,0x14e8,0x1335,
-+0x1335,0x1335,0x1335,0x1335,0x13b6,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,
-+0x133b,0x133b,0x133b,0x133b,0x133b,0x13b6,0x133b,0x133b,0x133b,0x13b6,0x133b,0x13b6,0x133b,0x13b6,0x133b,0x13b6,
-+0x133b,0x133b,0x133b,0x13b6,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x13b6,0x13b6,0x133b,0x133b,0x133b,0x133b,
-+0x13b6,0x133b,0x13b6,0x13b6,0x133b,0x133b,0x133b,0x133b,0x13b6,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,0x133b,
-+0x133b,0x133b,0x133b,0x133b,0x133b,0x14f4,0x14f4,0x16a7,0x16a7,0x133e,0x133e,0x133e,0x133b,0x133b,0x133b,0x133e,
-+0x133e,0x133e,0x133e,0x133e,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,
-+0x15e4,0x15e4,0x15e4,0x15e4,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,
-+0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,
-+0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1344,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,
-+0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1341,0x1344,0x1344,0x1344,0x1341,0x1341,0x1341,0x1341,0x1341,
-+0x1341,0x1341,0x1341,0x1341,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,
- 0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,0x1347,
--0x1347,0x1347,0x1347,0x1347,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,
--0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,0x1362,
--0x1362,0x1362,0x1362,0x1362,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,
--0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,0x136b,
--0x136b,0x136b,0x136b,0x136b,0x1371,0x1371,0x137d,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,
--0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,
--0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x137d,0x137d,0x137d,0x1371,0x1371,0x1371,0x1371,0x1371,0x1371,
--0x1371,0x1371,0x1371,0x137d,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
--0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
--0x13a1,0x13a1,0x13a1,0x13a1,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,
--0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,
--0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,0x146d,
--0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
--0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
--0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,
--0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,
--0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,
--0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,0x1488,
--0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,
--0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14c7,0x14b8,
--0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,
--0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14d0,0x14ca,0x14d3,0x14d3,0x14d3,0x14d3,
--0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,0x14d6,
--0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14e8,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,
--0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,
--0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
--0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,0x14fa,
--0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,
--0x1509,0x1509,0x1509,0x14fd,0x14fd,0x14fd,0x14fd,0x14fd,0x14fd,0x14fd,0x14fd,0x1509,0x1509,0x14fd,0x1509,0x1500,
--0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,
--0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,
-+0x1347,0x1347,0x1347,0x1347,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,
-+0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,
-+0x136e,0x136e,0x136e,0x136e,0x13c8,0x13c8,0x13c8,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,
-+0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,
-+0x13da,0x13da,0x13da,0x13da,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,
-+0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,
-+0x13f5,0x13f5,0x13f5,0x13f5,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,
-+0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,
-+0x13fe,0x13fe,0x13fe,0x13fe,0x1404,0x1404,0x1410,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,
-+0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,
-+0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1416,0x1410,0x1410,0x1410,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,
-+0x1404,0x1404,0x1404,0x1410,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,
-+0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,0x1434,
-+0x1434,0x1434,0x1434,0x1434,0x14e2,0x14e2,0x14e8,0x14e8,0x14e8,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,
-+0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e8,0x14e8,0x14df,0x14df,0x14df,0x14df,0x14df,0x14df,0x14df,0x14df,
-+0x14e8,0x14e8,0x14e8,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,0x14e8,0x14e2,0x14e2,0x14e8,0x14e8,
-+0x14e8,0x14e8,0x14e2,0x14e2,0x14ee,0x14e2,0x14e2,0x14e2,0x14e2,0x14f1,0x14f1,0x14e2,0x14e2,0x14e2,0x14e2,0x14e2,
-+0x14e2,0x14e2,0x14e2,0x14e2,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,
-+0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,0x1518,
-+0x1518,0x1518,0x1518,0x1518,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,
-+0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,0x152a,
-+0x152a,0x152a,0x152a,0x152a,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
- 0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
--0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x152d,0x152d,0x152d,
--0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,
--0x1539,0x1539,0x1539,0x1539,0x1539,0x1539,0x153f,0x153f,0x153f,0x153c,0x153c,0x153c,0x1539,0x1539,0x1539,0x1539,
--0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,
--0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1554,0x1554,0x1548,0x1545,0x1545,0x1545,0x1545,0x1545,0x1545,
--0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,
--0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,0x154e,
--0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,
--0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x155a,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,
--0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,
--0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,
--0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
-+0x1530,0x1530,0x1530,0x1530,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,
-+0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,0x1533,
-+0x1533,0x1533,0x1533,0x1533,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,
-+0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,0x1572,
-+0x1572,0x1572,0x1572,0x1563,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,
-+0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x1575,
-+0x157e,0x157e,0x157e,0x157e,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
- 0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,0x1581,
--0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
--0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
--0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,
--0x158d,0x159c,0x159c,0x158d,0x158d,0x158d,0x158d,0x158d,0x158d,0x159c,0x158d,0x159f,0x159f,0x158d,0x159f,0x158d,
--0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,
--0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,
--0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,
--0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,
--0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,
--0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,0x15b1,
--0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,
--0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,
--0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,
--0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,
--0x1641,0x1641,0x1647,0x1644,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,0x1641,
--0x1641,0x1641,0x1641,0x1641,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,
--0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,0x164a,
--0x164a,0x164a,0x164a,0x164a,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
-+0x1581,0x1581,0x1581,0x1581,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x1593,0x159c,0x159c,0x159c,
-+0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,0x159c,
-+0x159c,0x159c,0x159c,0x159c,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-+0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-+0x15a5,0x15a5,0x15a5,0x15a5,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,
-+0x15b7,0x15b7,0x15b7,0x15b7,0x15b4,0x15b4,0x15b4,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15b4,
-+0x15b4,0x15a8,0x15b4,0x15ab,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,
-+0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,0x15b7,
-+0x15b7,0x15b7,0x15b7,0x15b7,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,
-+0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,
-+0x15db,0x15d8,0x15d8,0x15d8,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,
-+0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15e4,0x15ea,0x15ea,0x15ea,0x15e7,0x15e7,0x15e7,
-+0x15e4,0x15e4,0x15e4,0x15e4,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
-+0x15f9,0x15f9,0x15f9,0x15f9,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ff,0x15ff,0x15f3,0x15f0,0x15f0,
-+0x15f0,0x15f0,0x15f0,0x15f0,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
-+0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,
-+0x15f9,0x15f9,0x15f9,0x15f9,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,
-+0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1605,0x1602,0x1602,0x1602,0x1602,0x1602,
-+0x1602,0x1602,0x1602,0x1602,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-+0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-+0x1608,0x1608,0x1608,0x1608,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,
-+0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,
-+0x162c,0x162c,0x162c,0x162c,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
-+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,
-+0x1635,0x1635,0x1635,0x1635,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
-+0x164d,0x164d,0x164d,0x164d,0x1638,0x1647,0x1647,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1647,0x1638,0x164a,
-+0x164a,0x1638,0x164a,0x1638,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
- 0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
--0x164d,0x164d,0x164d,0x164d,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
--0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
--0x165f,0x165f,0x165f,0x165f,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,
--0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,
--0x1662,0x1662,0x1662,0x1662,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,
--0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,
--0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x166b,0x166b,0x166b,0x166b,0x1668,0x1668,0x1668,0x1668,0x1668,
--0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,
--0x166b,0x1668,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,
--0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,
--0x166b,0x166b,0x166b,0x166b,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,
--0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,
--0x1677,0x1677,0x1677,0x1677,0,0,0,0
-+0x164d,0x164d,0x164d,0x164d,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,
-+0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,
-+0x1656,0x1656,0x1656,0x1656,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,
-+0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,
-+0x165c,0x165c,0x165c,0x165c,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,
-+0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,
-+0x16b3,0x16b3,0x16b3,0x16b3,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,
-+0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,
-+0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16f5,0x16f2,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,
-+0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16ef,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,
-+0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,
-+0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16f8,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,
-+0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,
-+0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x16fb,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,
-+0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,
-+0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x170d,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,
-+0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,
-+0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1710,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,
-+0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,
-+0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x171c,0x171c,0x171c,0x171c,0x1719,
-+0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x1719,0x171c,0x171c,0x171c,
-+0x171c,0x171c,0x171c,0x171c,0x171c,0x1719,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,
-+0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,
-+0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x171c,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,
-+0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,
-+0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0x1728,0,0,0,0
- };
- 
- static const UTrie2 propsVectorsTrie={
-@@ -2983,17 +2994,17 @@ static const UTrie2 propsVectorsTrie={
-     propsVectorsTrie_index+4640,
-     NULL,
-     4640,
--    22632,
-+    22812,
-     0xa40,
-     0x12a0,
-     0x0,
-     0x0,
-     0x110000,
--    0x6a84,
-+    0x6b38,
-     NULL, 0, FALSE, FALSE, 0, NULL
- };
- 
--static const uint32_t propsVectors[5754]={
-+static const uint32_t propsVectors[5931]={
- 0x67,0,0,0x67,0x80000,0x20,0x867,0,0,0xa67,0,0,0xb67,0,0,0xc67,
- 0,0,0xd67,0,0,0xe67,0,0,0x1067,0,0,0x1167,0,0,0x1267,0,
- 0,0x1367,0,0,0x1467,0,0,0x1567,0,0,0x1667,0,0,0x1767,0,0,
-@@ -3032,7 +3043,7 @@ static const uint32_t propsVectors[5754]={
- 0,0x10567,0,0,0x10667,0,0,0xa0067,0,0xe00000,0xa4667,0,0xe00000,0xa4767,0,0xe00000,
- 0xa4f67,0,0xe00000,0xa5e67,0,0xe00000,0xa5f67,0,0xe00000,0xac567,0,0xe00000,0xad167,0,0xe00000,0xb0067,
- 0,0xe00000,0x11000100,0,0x900020,0x11000100,0x40000001,0x440020,0x11000100,0x40000001,0x643020,0x11000100,0x40000001,0xa5a040,0x11000100,0x40000001,
--0x116a8a0,0x11000200,0,0x900020,0x11000200,0x4000001,0xc4000b,0x11000200,0x7c00100,0x220402,0x11000200,0x24000000,0x200000,0x11000200,0x24000008,0x1710000,
-+0x116a8a0,0x11000200,0,0x900020,0x11000200,0x4000001,0xc4000b,0x11000200,0x7c00100,0x220402,0x11000200,0x24000000,0x10200000,0x11000200,0x24000008,0x1710000,
- 0x11000200,0x40000001,0x1d3b020,0x11000219,0x7c00100,0x220401,0x11000219,0x7c00100,0x250401,0x11000319,0x7c00100,0x220401,0x11000319,0x7c00100,0x220402,0x11000319,
- 0x7c00100,0x250400,0x11000319,0x7c00100,0x250401,0x11000419,0x7c00100,0x220400,0x11000419,0x7c00100,0x220401,0x11000419,0x7c00100,0x220402,0x11000419,0x7c00100,
- 0x230400,0x11000419,0x7c00100,0x250400,0x11000419,0x7c00100,0x250401,0x11000419,0x7c00100,0x250402,0x11000519,0x7c00100,0x220400,0x11000519,0x7c00100,0x230400,
-@@ -3068,198 +3079,204 @@ static const uint32_t propsVectors[5754]={
- 0x440002,0x11002800,0x4000001,0xc4000b,0x11002800,0x6800000,0x201c00,0x11002800,0x6800020,0x201c00,0x11002800,0x24000000,0x200000,0x11002800,0x24000000,0x200002,
- 0x11002800,0x24000000,0x810000,0x11002800,0x24000000,0x1410000,0x11002800,0x24000000,0x1500000,0x11002800,0x24000000,0x1500002,0x11002800,0x24000002,0x400000,0x11002800,
- 0x24000006,0xc0000b,0x11002800,0x24000008,0x1410000,0x11002800,0x24000008,0x1710000,0x11002800,0x24000020,0x1001400,0x11002800,0x24000020,0x1500002,0x11002800,0x2c000010,
--0x1248000,0x11002800,0x2c000010,0x1248002,0x11002800,0x40000001,0x63b020,0x11002800,0x40080000,0x918820,0x11002801,0x82000,0x962460,0x11002900,0x4000000,0x20000e,
-+0x1248000,0x11002800,0x2c000010,0x11248002,0x11002800,0x40000001,0x63b020,0x11002800,0x40080000,0x918820,0x11002801,0x82000,0x962460,0x11002900,0x4000000,0x20000e,
- 0x11002900,0x4000000,0x20000f,0x11002900,0x4000020,0x20000e,0x11002900,0x4000020,0x20000f,0x11002900,0x4000020,0x81000e,0x11002900,0x4000020,0x81000f,0x11002900,
- 0x4000020,0x141000e,0x11002900,0x4000020,0x141000f,0x11002900,0x4000022,0x20000e,0x11002900,0x4000022,0x20000f,0x11002a00,0x4000000,0x1500000,0x11002a00,0x4000000,
- 0x1600000,0x11002a00,0x4000000,0x1600002,0x11002b01,0x2000,0x962460,0x11002b01,0x2802020,0x962460,0x11002c00,0x4000000,0x200000,0x11002c00,0x4000000,0x200002,
- 0x11002c00,0x4000000,0x20000f,0x11002c00,0x4000020,0x200000,0x11002c00,0x7c00000,0x200000,0x11002c00,0x7c00020,0x200000,0x11002c00,0x7c00120,0x220405,0x11002c00,
- 0x7c00120,0x230402,0x11002c00,0x7c00120,0x250402,0x11002c00,0x7c00120,0x250405,0x11002c19,0x7c00100,0x250400,0x11002c19,0x7c00100,0x250401,0x11002d00,0x4000000,
- 0x100006,0x11002d00,0x4000000,0x200006,0x11002d19,0x7c00100,0x220402,0x11002d19,0x7c00100,0x230400,0x11002d19,0x7c00100,0x250402,0x11002e00,0x24000000,0x200000,
--0x11002e00,0x24000020,0x200000,0x11002e00,0x24000020,0x200001,0x11002f00,0x24000020,0x200000,0x11002f00,0x24000020,0x200001,0x11002f00,0x24000020,0x200002,0x11002f00,
--0x24000020,0xf00000,0x11002f00,0x24000020,0x1600000,0x11002f00,0x24000022,0x1600000,0x11003000,0x24000000,0x200000,0x11003000,0x24000000,0xe00000,0x11003000,0x24000020,
--0x200000,0x11003000,0x24000020,0x810000,0x11003000,0x24000020,0x1410000,0x11003100,0x24000000,0x200000,0x11003200,0x24000000,0x200000,0x11003300,0x4000000,0x100003,
--0x11003400,0x24000000,0x100000,0x11003400,0x24000000,0x200000,0x11003500,0x24000000,0x200000,0x11003600,0x24000000,0x200000,0x11003600,0x24000020,0x200000,0x11003700,
--0x24000000,0x200000,0x11003700,0x24000000,0xe00000,0x11003700,0x24000020,0x200000,0x11003800,0x4000000,0x100000,0x11003800,0x24000000,0x200000,0x11003800,0x24000000,
--0xb00000,0x11003800,0x24000000,0xe00000,0x11003800,0x24000000,0x1710000,0x11005003,0x7c00100,0x220402,0x11005013,0x2802500,0x962460,0x11005013,0x4000020,0x200005,
--0x11005013,0x7c00100,0x2633801,0x11005013,0x7c00100,0x2633802,0x11005013,0x7c00100,0x2633805,0x11005019,0x7c00100,0x220402,0x11005100,0x24000000,0x810000,0x11005100,
--0x24000000,0x1410000,0x11005102,0x7000100,0x230408,0x11005102,0x7c00100,0x230404,0x11005102,0x7c00100,0x230407,0x11005102,0x7c00100,0x230408,0x11005102,0x7c00100,
--0x230409,0x11005201,0x2802400,0x962460,0x11005500,0x80000,0x1e18820,0x11005502,0x7000100,0x230408,0x11005502,0x7c00100,0x230404,0x11005502,0x7c00100,0x230407,
--0x11005502,0x7c00100,0x230408,0x11005502,0x7c00100,0x230409,0x11005667,0x1000,0,0x11020200,0x80004,0x418820,0x11020200,0x4000000,0x100006,0x11020200,
--0x4000000,0x10000f,0x11020200,0x4000400,0x100002,0x11020200,0x4000400,0x500002,0x11020200,0x6800c00,0x101000,0x11020200,0x24000000,0x100000,0x11020200,0x24000000,
--0x200000,0x11020200,0x24000000,0x1400000,0x11020200,0x24000000,0x1500000,0x11020200,0x24000000,0x1600000,0x11020200,0x24000020,0x100000,0x11020200,0x24000020,0x1600000,
--0x11020219,0x7c00100,0x12040f,0x11020219,0x7c00100,0x220400,0x11020219,0x7c00100,0x220401,0x11020219,0x7c00100,0x250400,0x11020319,0x7c00100,0x220400,0x11020319,
--0x7c00100,0x220401,0x11020319,0x7c00100,0x220402,0x11020319,0x7c00100,0x250400,0x11020319,0x7c00100,0x250402,0x11020319,0x7d00100,0x220402,0x11020419,0x7c00100,
--0x220401,0x11020519,0x7c00100,0x220400,0x11020600,0x4000400,0x100002,0x11020600,0x4000400,0x200000,0x11020600,0x7c00500,0x130400,0x11020600,0x7c00d00,0x130400,
--0x11020701,0x2802400,0x962460,0x11020701,0x2802400,0x962461,0x11020701,0x2802400,0xc62460,0x1102080e,0x7c00100,0x220400,0x1102080e,0x7c00100,0x250400,0x11020908,
--0x7c00100,0x220400,0x11020908,0x7c00100,0x220401,0x11020908,0x7c00100,0x250400,0x11020908,0x7c00100,0x250401,0x11022800,0x24000000,0x100000,0x11022800,0x24000000,
--0x200000,0x11022800,0x24000000,0x200002,0x11022800,0x24000000,0x401000,0x11022800,0x24000000,0xf00002,0x11022800,0x24000000,0xf0ac02,0x11022800,0x24000000,0x1500000,
--0x11022800,0x24000002,0x100000,0x11022800,0x24000002,0x370000,0x11022800,0x24000002,0x470000,0x11022800,0x24000006,0x400000,0x11022800,0x24000008,0x1710000,0x11022800,
--0x24000008,0x1712c00,0x11022800,0x24000020,0x100000,0x11022800,0x24000020,0x1500000,0x11022800,0x24000020,0x1500002,0x11022900,0x4000000,0x10000e,0x11022900,0x4000000,
--0x10000f,0x11022919,0x7c00100,0x12040f,0x11022c00,0x4000000,0x100002,0x11022c00,0x4000000,0x10000f,0x11022c00,0x4000000,0x1500002,0x11022c00,0x4000000,0x1600002,
--0x11022c00,0x7c00120,0x120405,0x11022c0e,0x7c00100,0x250401,0x11022c19,0x7c00100,0x150401,0x11022d00,0x4000000,0x100006,0x11022d00,0x4000000,0x200006,0x11022d19,
--0x7c00100,0x120402,0x11022d19,0x7c00100,0x150402,0x11022e00,0x24000000,0x200000,0x11022e00,0x24000020,0x100000,0x11022f00,0x24000020,0x100000,0x11022f00,0x24000020,
--0x100001,0x11022f00,0x24000020,0x100002,0x11023000,0x24000000,0x100000,0x11023300,0x4000000,0x100002,0x11023300,0x4000000,0x100003,0x11023300,0x4000100,0x120403,
--0x11023300,0x4000100,0x150403,0x11023400,0x24000000,0x100000,0x11023500,0x24000000,0x100000,0x11023600,0x24000000,0x100000,0x11023600,0x24000020,0x100000,0x11023700,
--0x24000000,0x100000,0x11023700,0x24000000,0xe00000,0x11023700,0x24000020,0x100000,0x11023800,0x4000000,0x100000,0x11023800,0x24000000,0x200000,0x11024e67,0,
--0,0x11025600,0x4000000,0x100000,0x11042a00,0x4000000,0x1600000,0x11045700,0x4000000,0x20000a,0x11045700,0x4000020,0x20000a,0x11045712,0x7c00100,0x23040a,
--0x11045712,0x7c80100,0x23040a,0x11045716,0x7c00100,0x230c0a,0x11045716,0x7c00100,0x2530c0a,0x11063d00,0x4000001,0x440011,0x11065700,0x4000000,0x810011,0x11065700,
--0x4000000,0xe00011,0x11065700,0x4000000,0x1410011,0x11065700,0x4000000,0x1500011,0x11065700,0x4000000,0x1600011,0x11065700,0x4000006,0xe70011,0x11065700,0x4000008,
--0xe00011,0x11065700,0x4000008,0xe02c11,0x11065700,0x4000010,0x871411,0x11065700,0x4000010,0x1201411,0x11065700,0x4000010,0x1271011,0x11065700,0x4000020,0xe00011,
--0x11065700,0x4000400,0xe00011,0x11065700,0x4000420,0xe00011,0x11065700,0x6800000,0xe01c11,0x11065700,0x6800040,0xe00011,0x11065700,0xc000010,0x80ac11,0x11065700,
--0xc000010,0xb48011,0x11065719,0x7c00100,0xe20411,0x11065719,0x7c00100,0xe50411,0x11065719,0x7c00140,0xe20411,0x11065719,0x7c00140,0xe50411,0x11080100,0x6800000,
--0x201c00,0x11080100,0x68000c0,0x1329800,0x11080100,0x24000000,0x200000,0x11080100,0x24000000,0x810000,0x11080100,0x24000000,0x1410000,0x11080100,0x24000000,0x1500000,
--0x11080100,0x24000000,0x1600000,0x11080100,0x24000000,0x1b00000,0x11080100,0x24000000,0x2410000,0x11080100,0x24000006,0xd70000,0x11080100,0x24000008,0x1713c00,0x11080100,
--0x24000008,0x1714000,0x11080100,0x24000010,0x1001400,0x11080100,0x24000010,0x1071000,0x11080100,0x24000010,0x1071400,0x11080100,0x24000020,0x200000,0x11080100,0x24000020,
--0x400000,0x11080100,0x24000020,0x1600000,0x11080100,0x24000400,0x200000,0x11080100,0x24000420,0x200000,0x11080100,0x2c000010,0xb48000,0x11080100,0x2c000010,0x100ac00,
--0x11080100,0x44000001,0x1a40000,0x11080119,0x7c00100,0x220400,0x11080119,0x7c00100,0x250400,0x11080119,0x7c001c0,0x220400,0x11080119,0x7c001c0,0x250400,0x11080200,
--0x4000400,0x200002,0x11080200,0x24000000,0x200000,0x11080200,0x24000000,0x1500000,0x11080200,0x24000000,0x1600000,0x11080200,0x24000020,0x200000,0x110a1e12,0x7c00100,
--0x2130480,0x110a1e12,0x7c80100,0x2130480,0x110a3000,0x24100000,0x810001,0x110a3000,0x24100000,0x1410001,0x110a3d00,0x4000000,0xe00000,0x110a3d00,0x4000000,0xe00002,
--0x110a3d00,0x24000000,0xe00000,0x110a3d11,0x7c00300,0xe30000,0x110a3d11,0x7c00900,0x1230400,0x110a3d12,0x2802400,0x962460,0x110a3e14,0x7c00100,0xe30000,0x110a3e14,
--0x7c00100,0xe30001,0x110a3e14,0x7c00100,0x2530000,0x110a3e14,0x7c00900,0x1230000,0x110a3e14,0x7c00900,0x1230001,0x110a3f16,0x7c00100,0xe30c00,0x110a3f16,0x7c00100,
--0xe30c01,0x110a3f16,0x7c00100,0x2530c00,0x110a3f16,0x7c00900,0x1230c00,0x110a3f16,0x7c00900,0x1230c01,0x110a4005,0x7c00100,0xe30400,0x110a4112,0x7c00100,0xe30402,
--0x110a4112,0x7c80100,0xe30402,0x110a4400,0x4000000,0xe00000,0x110a4412,0x4000000,0xe00002,0x110a4412,0x4000000,0xe00003,0x110a4416,0x4000000,0xe00c03,0x110a4500,
--0x4000000,0xe0000d,0x110a4516,0x4000000,0xe00c0d,0x110a4711,0x7c40300,0xe30000,0x110a4f11,0x7c00300,0xe30001,0x110a4f11,0x7c40300,0xe30000,0x110a5300,0x4000000,
--0x810010,0x110a5300,0x4000000,0xe00002,0x110a5300,0x4000000,0xe00010,0x110a5300,0x4000000,0x1410010,0x110a5300,0x4000002,0xe70010,0x110a5300,0x4000008,0x810010,
--0x110a5300,0x4000008,0x1410010,0x110a5300,0x6800000,0xe01c02,0x110a5300,0x6800000,0xe01c10,0x110a5400,0x4000000,0x81000c,0x110a5400,0x4000000,0xe0000c,0x110a5400,
--0x4000000,0x141000c,0x110a5400,0x4000000,0x150000c,0x110a5400,0x4000000,0x160000c,0x110a5400,0x4000002,0xe7000c,0x110a5400,0x4000010,0x87140c,0x110a5400,0x4000010,
--0xe7000c,0x110a5400,0x4000010,0x120140c,0x110a5400,0x4000010,0x127100c,0x110a5400,0x4000020,0xe0000c,0x110a5400,0x4000026,0xe7000c,0x110a5400,0xc000010,0x80ac0c,
--0x110a5400,0xc000010,0xb4800c,0x11400a0c,0xc000010,0x1049400,0x11400c0e,0x4000010,0xb00000,0x11400c0e,0x4000010,0x1071400,0x11400c0e,0xc000010,0xb48000,0x11400c11,
--0x7c00900,0x230400,0x11400f33,0xc000010,0x448000,0x11400f43,0xc000010,0x448000,0x11403d8a,0x4000000,0xe00000,0x11445784,0x4000004,0x120000a,0x11445784,0x4000008,
--0x81000a,0x11445784,0x4000008,0x141000a,0x11445784,0x4000010,0x87000a,0x11445784,0xc000010,0x84800a,0x1144578d,0x3802500,0x126246a,0x1144578d,0x7c00d00,0x2530c0a,
--0x114a3d84,0x24000000,0x810000,0x114a3d84,0x24000000,0x1410000,0x114a3d84,0x24000008,0x810000,0x114a3d84,0x24000008,0x1410000,0x114a3d84,0x24000010,0x870000,0x114a3d84,
--0x2c000010,0x848000,0x114a3d8a,0x4000000,0xe00000,0x114a3d8a,0x24000000,0xe00000,0x114a3d8a,0x24000002,0xe00000,0x114a3d8a,0x24000002,0x1200000,0x114a3d8a,0x24000008,
--0x810000,0x114a3d8a,0x24000008,0x1410000,0x114a3d8d,0x7c00900,0x930c00,0x114a3d8d,0x7c00900,0xe30c00,0x114a3d8f,0x7c00300,0xe30000,0x114a3e8d,0x7000400,0x1200c02,
--0x114a3f84,0x4000004,0x1200000,0x114a3f8d,0x7c00d00,0x2530c00,0x114a428f,0x4000000,0xe00000,0x114a428f,0x4000000,0xe0000f,0x114a448a,0x4000000,0xe00002,0x114a448a,
--0x4000000,0xe00003,0x114a458a,0x4000000,0xe00002,0x114a458a,0x4000000,0xe0000d,0x11800906,0x2802400,0x962460,0x11800c16,0x2802100,0x962460,0x11800c16,0x2802500,
--0x962460,0x11800f1c,0x2802400,0x962460,0x11800f28,0x2802400,0x962460,0x11820700,0x2802400,0x962460,0x11820700,0x2802500,0x962460,0x118a3d92,0x2802400,0x962460,
--0x118a3e8d,0x2802400,0x962460,0x11c00904,0x2802400,0x962460,0x11c00c1a,0x6800000,0x1329800,0x11c00f57,0x6800000,0x1329800,0x11c0105c,0x6800000,0x1329800,0x11c01160,
--0x6800000,0x1329800,0x11c01264,0x6800000,0x1329800,0x11c01468,0x4000000,0x200000,0x11c01468,0x6800000,0x1329800,0x11c01468,0x7c00100,0x230400,0x11c0511a,0x7c00100,
--0x230408,0x20000067,0x1000,0,0x20000b13,0x2802400,0x962460,0x20000b13,0x2802500,0x962460,0x20001b27,0x2802100,0x962460,0x20001b27,0x2802100,0x962461,
--0x20001b27,0x2802400,0x962460,0x20001b27,0x2806400,0x962460,0x20001b27,0x2902100,0x962462,0x20001b27,0x4000000,0x200000,0x20001b27,0x4000000,0x400000,0x20001b27,
--0x4000000,0x500000,0x20001b27,0x4000000,0x810000,0x20001b27,0x4000000,0xb00000,0x20001b27,0x4000000,0xc0000b,0x20001b27,0x4000000,0x1410000,0x20001b27,0x4000010,
--0xb00000,0x20001b27,0x4000010,0xc00000,0x20001b27,0x6800000,0x1329800,0x20001b27,0x6800100,0x462540,0x20001b27,0x6800400,0x962540,0x20001b27,0x7c00100,0x230400,
--0x20001b27,0x7c00100,0x230401,0x20002619,0x7c00100,0x220401,0x20002a00,0x4000000,0x1600000,0x20004b67,0,0x1900020,0x20004c67,0,0x1900020,0x20004d67,
--0,0x1900020,0x20006d67,0x1000,0,0x20006e67,0x1000,0,0x20026d67,0,0,0x20026e67,0,0,0x200a4a12,0x7c00100,
--0x1f304c1,0x200a4a12,0x7c00100,0x20304e1,0x21005600,0x4000000,0x700000,0x21022a00,0x4000000,0x1600000,0x30000419,0x7c00100,0x220400,0x30000419,0x7c00100,0x220401,
--0x30000419,0x7c00100,0x250400,0x30000419,0x7c00100,0x250401,0x30000519,0x7c00100,0x220400,0x30000600,0x4000400,0x200000,0x30000600,0x7c00500,0x230400,0x30000605,
--0x4000400,0x200000,0x3000080e,0x7c00100,0x220400,0x30000908,0x2000,0x962460,0x30000908,0x7c00100,0x220400,0x30000908,0x7c00100,0x220401,0x30000908,0x7c00100,
--0x250400,0x30000908,0x7c00100,0x250401,0x30000a03,0x4000006,0x400000,0x30000c02,0x4000000,0x200000,0x30000c02,0x7c00100,0x230400,0x30000d22,0,0x218820,
--0x30000d22,0x2802100,0x962460,0x30000d22,0x2802400,0x962460,0x30000d22,0x2802500,0x962460,0x30000d22,0x4000000,0x200000,0x30000d22,0x4000010,0x200000,0x30000d22,
--0x7c00100,0x230400,0x30000d22,0xc000010,0x248000,0x30000e25,0x2802500,0x962460,0x30000e25,0x7c00100,0x230400,0x30001821,0x2802100,0x962460,0x30001821,0x2806400,
--0x962460,0x30001821,0x4000000,0x200000,0x30001821,0x6800100,0x962540,0x30001821,0x6800100,0x962541,0x30001821,0x7c00100,0x230400,0x30001b27,0x2802100,0x962460,
--0x30001b27,0x2802400,0x962460,0x30001b27,0x4000000,0x200000,0x30001b27,0x4000000,0x400000,0x30001b27,0x7c00100,0x230400,0x30001c1c,0x2802100,0x1862460,0x30001c1c,
--0x2802400,0x1862460,0x30001c1c,0x2806400,0x1862460,0x30001c1c,0x4000000,0x200000,0x30001c1c,0x6800100,0x1862400,0x30001c1c,0x6800100,0x1862540,0x30001c1c,0x7c00100,
--0x1830000,0x30001c1c,0x7c00100,0x1830001,0x30001c1c,0xc000010,0x448000,0x30001f0b,0x4000000,0x200000,0x30001f0b,0x4000010,0x200000,0x30001f0b,0x4000010,0x400000,
--0x30001f0b,0x6800000,0x200000,0x30001f0b,0x7c00100,0x230400,0x30001f0b,0xc000010,0x248000,0x30002006,0x7c00100,0x250400,0x30002128,0x4000010,0x200000,0x30002128,
--0x7c00100,0x230400,0x30002128,0xc000010,0x248000,0x3000221d,0x4000000,0x810000,0x3000221d,0x4000000,0x1410000,0x3000221d,0x4000001,0x440000,0x3000221d,0x7c00100,
--0x230400,0x30002300,0x4000010,0x400000,0x30002320,0x7c00100,0x230400,0x30002417,0x2802100,0x1862460,0x30002417,0x2802400,0x1862460,0x30002417,0x2806400,0x1862460,
--0x30002417,0x2882000,0x1862460,0x30002417,0x4000000,0x200000,0x30002417,0x4000000,0x400000,0x30002417,0x4000000,0x1600000,0x30002417,0x4000010,0x400000,0x30002417,
--0x4000010,0x1200000,0x30002417,0x6800000,0x1329800,0x30002417,0x6800100,0x1862540,0x30002417,0x7c00100,0x1830000,0x30002417,0x7d00100,0x1830000,0x3000251b,0x80000,
--0xc18820,0x3000251b,0x2802100,0x962460,0x3000251b,0x4000000,0x200000,0x3000251b,0x4000006,0x500000,0x3000251b,0x4000010,0x400000,0x3000251b,0x4000010,0xb70000,
--0x3000251b,0x4000800,0x200000,0x3000251b,0x6800000,0x1329800,0x3000251b,0x7c00100,0x230400,0x3000251b,0x7c00900,0x230400,0x3000251b,0xc000010,0xb48000,0x3000251b,
--0x12882000,0x962460,0x30002800,0x4000001,0xc4000b,0x30002800,0x24000000,0x200000,0x30002800,0x2c000010,0x1248002,0x30002a00,0x4000000,0x1600000,0x30002b01,0x2000,
--0x962460,0x30002c00,0x4000000,0x200000,0x30002c00,0x7c00100,0x220405,0x30002d19,0x7c00100,0x250400,0x30002e00,0x24000000,0x200000,0x30003000,0x24000000,0x200000,
--0x30003100,0x24000000,0x200000,0x30003600,0x24000000,0x200000,0x30003700,0x24000000,0x200000,0x3000392e,0x24000000,0x200000,0x30005013,0x7c00100,0x2633801,0x30005600,
--0,0x918820,0x30020600,0x4000400,0x500000,0x30020701,0x2802400,0x962460,0x30020701,0x2802400,0xc62460,0x300a3a11,0x4020000,0xe00000,0x300a3a11,0x4020000,
--0xe00002,0x300a3b11,0x4020000,0xe00002,0x300a3c00,0x4008000,0xe00000,0x300a3c00,0x4010000,0xe00000,0x300a3d11,0x7c00300,0xe30002,0x300a4305,0x7c00100,0xe30400,
--0x300a4611,0x7c40300,0xe30000,0x300a4829,0x7c00100,0xe30400,0x300a4829,0x7c00900,0x1230400,0x300a4929,0x4000000,0xe00000,0x30402573,0x4000010,0x400000,0x30402573,
--0x4000010,0xb70000,0x30402573,0xc000010,0xb48000,0x304a3d8a,0x4000000,0xe00000,0x30800c16,0x2802100,0x962460,0x30c01c6d,0x6800000,0x1329800,0x3100080e,0x7c00120,
--0x220402,0x3100080e,0x7c00120,0x250402,0x31005167,0x1000,0,0x3100581e,0x4000000,0x200000,0x3100581e,0x7c00100,0x230400,0x3100590d,0x7c00100,0x230400,
--0x31005a09,0x7c00100,0x220400,0x31005a09,0x7c00100,0x250400,0x31005b00,0x4000000,0x200000,0x31005c00,0x80000,0x918820,0x31005c00,0x2802000,0x962460,0x31005c00,
--0x2802400,0x962460,0x31005c00,0x4000000,0x200000,0x31005c00,0x4000000,0x200001,0x31005c00,0x6800000,0x962540,0x31005c00,0x6800400,0x962540,0x31005c01,0x2802400,
--0x962460,0x31005d00,0x4000020,0x200005,0x31005d00,0x6800020,0x1329805,0x31005d00,0x7c00120,0x220405,0x31005d00,0x7c00120,0x250405,0x31006000,0x80000,0x918820,
--0x31006000,0x180000,0x918820,0x310a5e11,0x7c40300,0xe30000,0x310a5f11,0x7c00300,0xe30001,0x32000419,0x7c00100,0x250400,0x3200080e,0x4000020,0x200000,0x3200080e,
--0x7c00100,0x220400,0x3200080e,0x7c00100,0x250400,0x32000908,0x7c00100,0x220400,0x32000908,0x7c00100,0x250400,0x32000c02,0x7c00100,0x230400,0x32000e25,0x7c00100,
--0x230400,0x32001d0c,0x7c00100,0x230400,0x32002800,0x80000,0x1e18820,0x32002800,0x80020,0x218820,0x32002800,0x4000001,0x440002,0x32002800,0x24000000,0x200000,
--0x32002800,0x24000000,0x200002,0x32002800,0x24000020,0x200000,0x32002800,0x2c000010,0x1248002,0x32002919,0x7c00100,0x22040f,0x32002a00,0x4000000,0x1600000,0x32002b01,
--0x2000,0x962460,0x32002b01,0x2802000,0x962460,0x32002b01,0x2802020,0x962460,0x32002c00,0x4000000,0x200000,0x32002c00,0x4000020,0x200000,0x32002c00,0x4000020,
--0x200005,0x32002c00,0x7c00120,0x220405,0x32002c00,0x7c00120,0x250405,0x32002e00,0x24000020,0x200000,0x32002f00,0x24000020,0x200000,0x32003000,0x24000000,0x200000,
--0x32003000,0x24000020,0x200000,0x32003500,0x24000000,0x200000,0x32003600,0x24000020,0x200000,0x32003700,0x24000000,0x100000,0x32003700,0x24000000,0x200000,0x32003800,
--0x24000000,0x810000,0x32003800,0x24000000,0x1410000,0x32005102,0x4000000,0x1500008,0x32005502,0x7c00100,0x230400,0x32006108,0x7c00100,0x220400,0x32006108,0x7c00100,
--0x250400,0x3200622a,0x2802100,0x962460,0x3200622a,0x2806000,0x962460,0x3200622a,0x7c00100,0x230400,0x3200632b,0x2802100,0x962460,0x3200632b,0x2806000,0x962460,
--0x3200632b,0x7c00100,0x230400,0x3200642c,0x2802100,0x962460,0x3200642c,0x7c00100,0x230400,0x3200652d,0x2802100,0x962460,0x3200652d,0x7c00100,0x230400,0x32006600,
--0x24000020,0x200000,0x32006700,0x24000020,0x200000,0x32006800,0x24000020,0x200000,0x32006900,0x24000020,0x200000,0x32006900,0x24000020,0x810000,0x32006900,0x24000020,
--0x1410000,0x32006a00,0x24000020,0x200000,0x32006a00,0x24000020,0x200001,0x32006a00,0x24000020,0x200002,0x32020701,0x2882000,0xc62460,0x32023300,0x4000000,0x100000,
--0x32026c01,0x12882000,0x962460,0x32065700,0x4000000,0x810011,0x32065700,0x4000000,0x1410011,0x32086600,0x24000020,0x810000,0x32086600,0x24000020,0x1410000,0x32086900,
--0x24000020,0x810000,0x32086900,0x24000020,0x1410000,0x320a3d11,0x7c00100,0x1230400,0x320a3e14,0x7c00100,0xe30010,0x320a3e14,0x7c00100,0x2530000,0x320a3f16,0x7c00100,
--0xe30c10,0x320a4400,0x4000000,0xe00003,0x320a4929,0x4000000,0xe00000,0x320a4f11,0x7c00300,0xe30001,0x320a6b16,0x7c00100,0x2530c00,0x3240636f,0xc000010,0x448000,
--0x324a3d8f,0x4000000,0xe00000,0x324a3d8f,0x7c00100,0x1230400,0x324a3f8d,0x4000002,0x1200c00,0x324a538a,0x24000000,0xe00000,0x32820701,0x2802000,0x962460,0x40000419,
--0x7c00100,0x220400,0x40000519,0x7c00100,0x220400,0x40000600,0x4000400,0x200000,0x4000080e,0x7c00100,0x220400,0x4000080e,0x7c00100,0x250400,0x4000080e,0x7c00100,
--0x250402,0x40000c02,0,0x218820,0x40000c02,0x2802100,0x962460,0x40000c02,0x2802400,0x962460,0x40000c02,0x2802500,0x962460,0x40000c02,0x4000000,0x200000,
--0x40000c02,0x4000000,0x1071400,0x40000c02,0x7c00100,0x230400,0x40000d22,0x7c00100,0x230400,0x40000f0a,0x7c00100,0x230400,0x40001004,0x7c00100,0x230400,0x40001110,
--0x2802100,0x962460,0x40001110,0x6800100,0x962540,0x4000120f,0x2802100,0x962460,0x4000120f,0x4000000,0x1600000,0x4000120f,0x7c00100,0x230400,0x4000131f,0x7c00100,
--0x230400,0x40001423,0x4000000,0x200000,0x40001423,0x4000000,0x1600000,0x40001615,0x2802400,0x962460,0x40001615,0x7c00100,0x230400,0x40002417,0x2802400,0x1862460,
--0x40002417,0x4000000,0x200000,0x40002800,0x6800000,0x201c00,0x40002800,0x24000002,0x200000,0x40002c00,0x4000000,0x200002,0x40003000,0x24000000,0x200000,0x40003000,
--0x24000020,0x200000,0x40003700,0x24000000,0x200000,0x40005a09,0x7c00100,0x220400,0x40005a09,0x7c00100,0x250400,0x40005d00,0x7c00120,0x220405,0x40006f30,0x2802100,
--0x962460,0x40006f30,0x2802400,0x962460,0x40006f30,0x4000000,0x200000,0x40006f30,0x6800000,0x1329800,0x40006f30,0x6800100,0x962540,0x40006f30,0x7c00100,0x230400,
--0x40006f30,0xc000010,0xb48000,0x40007034,0x7c00100,0x1830000,0x40007117,0x4000000,0x200000,0x40007208,0x7c00100,0x220400,0x4000720e,0x7c00100,0x220400,0x4000720e,
--0x7c00500,0x22040e,0x4000720e,0x7c00500,0x22040f,0x40007219,0x7c00100,0x220400,0x40007219,0x7c00500,0x220400,0x40007219,0x7c00500,0x22040e,0x40007219,0x7c00500,
--0x22040f,0x40007300,0x24000000,0x200000,0x40007400,0x4000000,0x200000,0x40007531,0x7c00100,0x230400,0x40007631,0x7c00100,0x230400,0x40007835,0x4000010,0x400000,
--0x40007835,0x7c00100,0x230400,0x40007933,0x7c00100,0x230400,0x40007a32,0x6800000,0x1329800,0x40007a32,0x7c00100,0x230400,0x40007b2f,0x7c00100,0x230400,0x40007c00,
--0x4000000,0x200000,0x40020701,0x2802400,0x962460,0x40020701,0x2802400,0xc62460,0x40023300,0x4000000,0x200000,0x40023700,0x24000000,0xe00000,0x40027d01,0x12882000,
--0x962460,0x400a4400,0x4000000,0xe0000d,0x400a4412,0x4000000,0xe00002,0x400a4412,0x4000000,0xe00003,0x400a4500,0x4000000,0xe0000d,0x400a5300,0x4000000,0x810010,
--0x400a5300,0x4000000,0x1410010,0x404077a6,0x4000000,0x200000,0x404077a6,0x4000000,0x400000,0x40c0511a,0x4000000,0x200000,0x41000419,0x7c00100,0x220400,0x41000419,
--0x7c00100,0x250400,0x4100080e,0x7c00100,0x220400,0x4100080e,0x7c00100,0x250400,0x41000908,0x7c00100,0x220400,0x41000908,0x7c00100,0x250400,0x41000b13,0x2802000,
--0x962460,0x41000b13,0x2802100,0x962460,0x41000b13,0x4000000,0xb00000,0x41000c02,0x2802100,0x962460,0x41000c02,0x4000000,0xb00000,0x41000c02,0x4000000,0x1500000,
--0x41000f0a,0x7c00100,0x230400,0x41001004,0x7c00100,0x230400,0x41001423,0x7c00100,0x230400,0x41001b27,0x4000000,0x500000,0x41001d0c,0x7c00100,0x230400,0x41001d0c,
--0x7c00100,0x23040f,0x41001f0b,0x2802100,0x962460,0x41001f0b,0x4000000,0x200000,0x41001f0b,0x7c00100,0x230400,0x41002800,0x24000000,0x200000,0x41002800,0x24000000,
--0x400000,0x41002919,0x7c00100,0x22040e,0x41002a00,0x4000000,0x1600000,0x41002b01,0x2802020,0x962460,0x41002c00,0x4000000,0x200000,0x41002c00,0x7c00120,0x220405,
--0x41003000,0x24000000,0x200000,0x41003700,0x24000000,0x200000,0x41003700,0x24000000,0xe00000,0x41005d00,0x7c00120,0x220405,0x41006600,0x24000020,0x200000,0x41006600,
--0x24000020,0x810000,0x41006600,0x24000020,0x1410000,0x41007208,0x7c00100,0x22040f,0x41007219,0x7c00100,0x220400,0x41007300,0x24000000,0x200000,0x41007e0e,0x2802000,
--0x962460,0x41007e0e,0x4000000,0x200000,0x41007f0e,0x4000000,0x200000,0x41007f0e,0x7c00100,0x230400,0x41008002,0x7c00100,0x230400,0x41008137,0x2802100,0x962460,
--0x41008137,0x4000000,0x200000,0x41008137,0x6800100,0x962540,0x41008137,0x7c00100,0x230400,0x41008301,0x2802000,0x962460,0x41008407,0x4000000,0x200000,0x41008407,
--0x4000000,0x400000,0x41008407,0x4000000,0xb00000,0x41008407,0x7c00100,0x220400,0x41008407,0x7c00100,0x250400,0x4100850b,0x7c00100,0x230400,0x4100860b,0x4000000,
--0x200000,0x4100860b,0x7c00100,0x230400,0x4100870c,0x7c00100,0x220400,0x41008838,0x7c00100,0x220400,0x41008838,0x7c00100,0x250400,0x41008939,0x2802000,0x962460,
--0x41008939,0x2802100,0x962460,0x41008939,0x2806000,0x962460,0x41008939,0x4000000,0x200000,0x41008939,0x4000000,0x400000,0x41008939,0x7c00100,0x230400,0x41008939,
--0xc000010,0x448000,0x41008a00,0x4000000,0x200000,0x41008b3b,0x4000000,0x1800000,0x41008b3b,0x6800000,0x1329800,0x41008b3b,0x7c00100,0x1830000,0x41008b3b,0x7e00100,
--0x1830000,0x41008c3d,0x4000010,0x400000,0x41008c3d,0x7c00100,0x230400,0x41008d0e,0x7c00100,0x22040f,0x41008d19,0x7c00100,0x220400,0x41008d19,0x7c00100,0x22040f,
--0x41008e00,0x24000000,0x200000,0x41008e00,0x24000000,0x400000,0x41008e00,0x24000000,0x1710000,0x41008e00,0x24000006,0x400000,0x41008f3a,0x2802000,0x962460,0x41008f3a,
--0x2802100,0x962460,0x41008f3a,0x2806000,0x962460,0x41008f3a,0x4000000,0x200000,0x41008f3a,0x6800100,0x962540,0x41008f3a,0x7c00100,0x230400,0x4100903c,0x7c00100,
--0x230400,0x4100903c,0x7c00100,0x23040f,0x41020701,0x2802000,0x962460,0x41020701,0x2802000,0xc62460,0x410a4412,0x4000000,0xe00003,0x410a4711,0x7c40300,0xe30000,
--0x410a4f11,0x7c00300,0xe30001,0x410a9100,0x4000000,0x800010,0x410a9100,0x4000000,0x810010,0x410a9100,0x4000000,0x870010,0x410a9100,0x4000000,0xb00010,0x410a9100,
--0x4000000,0xf00010,0x410a9100,0x4000000,0x1001410,0x410a9100,0x4000000,0x1071010,0x410a9100,0x4000000,0x1071410,0x410a9100,0x4000000,0x1410010,0x414a828a,0x4000000,
--0xe00000,0x41808300,0x2802000,0x962460,0x41c01468,0x6800000,0x1329800,0x50000419,0x7c00100,0x220400,0x50000419,0x7c00100,0x250400,0x5000080e,0x7c00100,0x220400,
--0x50000908,0x7c00100,0x220400,0x50000908,0x7c00100,0x250400,0x50000b13,0x2802500,0x962460,0x50000f0a,0x7c00100,0x230400,0x50001615,0x2802100,0x962460,0x50001615,
--0x7c00100,0x230400,0x50002b01,0x2802020,0x962460,0x50002c00,0x4000000,0x200000,0x50002c19,0x7c00100,0x220400,0x50002d19,0x7c00100,0x220400,0x50003000,0x24000000,
--0x200000,0x50003000,0x24000020,0x200000,0x50003700,0x24000000,0x200000,0x50005d00,0x7c00120,0x220405,0x50005d00,0x7c00120,0x250405,0x50006108,0x7c00100,0x220400,
--0x50006108,0x7c00100,0x250400,0x50006600,0x24000020,0x200000,0x50007300,0x24000000,0x200000,0x50008301,0x2802400,0x962460,0x50008a00,0x7c00500,0x230400,0x50009257,
--0x2802400,0x962460,0x50009257,0x4000000,0x200000,0x50009257,0x4000010,0x1071400,0x50009257,0x6800000,0x1329800,0x50009257,0x7c00100,0x230400,0x50009257,0x7c00500,
--0x230400,0x50009257,0x7c00900,0x230400,0x50009257,0xc000010,0xb48000,0x5000933e,0x2802100,0x962460,0x5000933e,0x2802400,0x962460,0x5000933e,0x4000000,0x200000,
--0x5000933e,0x4000000,0x400000,0x5000933e,0x4000010,0x400000,0x5000933e,0x6800000,0x1329800,0x5000933e,0x6800100,0x962540,0x5000933e,0x6800100,0x962541,0x5000933e,
--0x6804400,0x962540,0x5000933e,0x7c00100,0x230400,0x5000933e,0x7c00100,0x230401,0x5000933e,0xc000010,0x448000,0x50009419,0x7c00100,0x220400,0x50009419,0x7c00100,
--0x250400,0x50009500,0x4000400,0x200000,0x5000965a,0x4000000,0x500000,0x5000965a,0x7c00100,0x230400,0x5000965a,0xc000010,0xb48000,0x5000975b,0x4000000,0x200000,
--0x5000975b,0x4000010,0x400000,0x5000975b,0x7c00100,0x230400,0x50009865,0x7c00100,0x230400,0x50009965,0x4000010,0x400000,0x50009965,0x7c00100,0x230400,0x50409a93,
--0x4000000,0x200000,0x5100080e,0x7c00100,0x220400,0x5100080e,0x7c00100,0x250400,0x51000c02,0x2802100,0x962460,0x51000c02,0x4000000,0x1500000,0x51000c02,0x4000020,
--0x200000,0x51000c02,0x7c00100,0x230400,0x51000f0a,0x7c00100,0x230400,0x51000f0a,0x7c00500,0x230400,0x51001110,0x2802100,0x962460,0x5100131f,0x2802100,0x962460,
--0x51001423,0x7c00100,0x230400,0x51001524,0x2802100,0x962460,0x51001524,0x4000000,0x200000,0x51001524,0x7c00100,0x230400,0x5100171a,0x2802100,0x962460,0x5100171a,
--0x4000000,0x200000,0x5100171a,0x4000000,0x1500000,0x5100171a,0x7c00100,0x230400,0x51001b27,0x4000000,0x200000,0x51001b27,0x4000000,0x400000,0x51001b27,0x4000000,
--0x500000,0x51001b27,0x7c00100,0x230400,0x51001c1c,0x2802100,0x1862460,0x51001c1c,0x2802400,0x1862460,0x51001c1c,0x2806400,0x1862460,0x51001c1c,0x4000000,0x1800000,
--0x51001c1c,0x6800000,0x1329800,0x51001c1c,0x6800000,0x1862400,0x51001c1c,0x6800100,0x1862400,0x51001c1c,0x6800100,0x1862540,0x51001c1c,0x6800400,0x1862400,0x51001c1c,
--0x7c00100,0x1830000,0x5100251b,0x7c00100,0x230400,0x51002619,0x7c00100,0x220400,0x51002619,0x7c00100,0x250400,0x51002800,0x80020,0x218820,0x51002c00,0x4000000,
--0x200000,0x51002d19,0x7c00100,0x230400,0x51003700,0x24000000,0x200000,0x51003700,0x24000000,0xe00000,0x51005201,0x2802400,0x962460,0x51005c00,0x4000000,0x200000,
--0x51006108,0x7c00100,0x220400,0x51006108,0x7c00100,0x250400,0x51006600,0x24000020,0x200000,0x51006600,0x24000020,0x810000,0x51006600,0x24000020,0x1410000,0x51007300,
--0x24000000,0x200000,0x51007300,0x24000020,0x200000,0x51008002,0x7c00100,0x230400,0x51008301,0x2802000,0x962460,0x51008301,0x2802400,0x962460,0x51008a00,0x7c00500,
--0x230400,0x51008e00,0x24000000,0x200000,0x51008e00,0x24000000,0x400000,0x51008e00,0x24000000,0x810000,0x51008e00,0x24000000,0x1400000,0x51008e00,0x24000000,0x1410000,
--0x51008e00,0x24000000,0x1710000,0x51008e00,0x24000002,0x200000,0x51008e00,0x24000500,0x230400,0x51008e00,0x2c000010,0xb48000,0x51009419,0x7c00100,0x220400,0x51009419,
--0x7c00100,0x22040e,0x51009419,0x7c00100,0x22040f,0x51009419,0x7c00100,0x250400,0x51009500,0x4000000,0x200000,0x51009500,0x7c00500,0x230400,0x51009519,0x7c00100,
--0x220400,0x51009519,0x7c00100,0x22040f,0x51009519,0x7c00100,0x230400,0x51009519,0x7c00100,0x250400,0x51009b71,0x2802100,0x962460,0x51009b71,0x6800000,0x1329800,
--0x51009b71,0x6800100,0x962540,0x51009b71,0x6804400,0x962540,0x51009b71,0x7c00100,0x230400,0x51009c52,0x2802100,0x962460,0x51009c52,0x2802400,0x962460,0x51009c52,
--0x2802c00,0x962460,0x51009c52,0x4000010,0x400000,0x51009c52,0x6800000,0x1329800,0x51009c52,0x6800100,0x962540,0x51009c52,0x7c00100,0x230400,0x51009c52,0xc000010,
--0x448000,0x51009d6d,0x6800000,0x1329800,0x51009d6d,0x7c00100,0x230400,0x51009d6d,0x7c00500,0x230400,0x51009d6d,0x7c00d00,0x230400,0x51009d6d,0xc000010,0x448000,
--0x51009e08,0x2802100,0x962460,0x51009f63,0x4000010,0x400000,0x51009f63,0x6800000,0x1329800,0x51009f63,0x7c00100,0x230400,0x51009f63,0x7c00900,0x230400,0x51009f63,
--0xc000010,0x448000,0x51009f63,0xc000010,0xb48000,0x5100a008,0x2000,0x962460,0x5100a008,0x2802400,0x962460,0x5100a008,0x4000000,0x200000,0x5100a008,0x7c00100,
--0x220400,0x5100a008,0x7c00100,0x230400,0x5100a008,0x7c00100,0x250400,0x5100a008,0x7c00500,0x230400,0x5100a16f,0x2806400,0x962460,0x5100a16f,0x6800000,0x1329800,
--0x5100a16f,0x6800100,0x962540,0x5100a16f,0x7c00100,0x230400,0x5100a16f,0xc000010,0x448000,0x5100a24f,0x2802100,0x962460,0x5100a24f,0x2802400,0x962460,0x5100a24f,
--0x6800000,0x1329800,0x5100a24f,0x7c00100,0x230400,0x5100a24f,0xc000010,0x448000,0x5100a36e,0x2802100,0x962460,0x5100a36e,0x4000000,0x200000,0x5100a36e,0x6800100,
--0x962540,0x5100a36e,0x6804400,0x962540,0x5100a36e,0x7c00100,0x230400,0x5100a442,0x2802100,0x962460,0x5100a442,0x4000000,0x200000,0x5100a442,0x6800000,0x1329800,
--0x5100a442,0x6800100,0x962540,0x5100a442,0x7c00100,0x230400,0x5100a442,0xc000010,0x448000,0x5100a500,0x4000000,0x200000,0x5100a600,0x4000000,0x200000,0x5100a601,
--0x2802000,0x962460,0x5100a76b,0x7c00100,0x230400,0x5100a868,0x7c00100,0x230400,0x5100a96c,0x4000000,0x200000,0x5100a96c,0x7c00100,0x230400,0x5100aa00,0x4000000,
--0xe00000,0x5100ab00,0x4000000,0xe00000,0x51086600,0x24000020,0x810000,0x51086600,0x24000020,0x1410000,0x510a4005,0x7c00100,0xe30400,0x510a4711,0x7c40300,0xe30000,
-+0x11002e00,0x24000020,0x200000,0x11002e00,0x24000020,0x200001,0x11002e00,0x24000020,0x10200000,0x11002f00,0x24000020,0x200000,0x11002f00,0x24000020,0x200001,0x11002f00,
-+0x24000020,0x200002,0x11002f00,0x24000020,0xf00000,0x11002f00,0x24000020,0x1600000,0x11002f00,0x24000022,0x1600000,0x11003000,0x24000000,0x200000,0x11003000,0x24000000,
-+0x10200000,0x11003000,0x24000000,0x30e00000,0x11003000,0x24000020,0x200000,0x11003000,0x24000020,0x810000,0x11003000,0x24000020,0x1410000,0x11003100,0x24000000,0x200000,
-+0x11003200,0x24000000,0x200000,0x11003300,0x4000000,0x100003,0x11003400,0x24000000,0x100000,0x11003400,0x24000000,0x200000,0x11003500,0x24000000,0x200000,0x11003600,
-+0x24000000,0x200000,0x11003600,0x24000000,0x10200000,0x11003600,0x24000020,0x200000,0x11003700,0x24000000,0x200000,0x11003700,0x24000000,0xe00000,0x11003700,0x24000000,
-+0x10200000,0x11003700,0x24000000,0x10e00000,0x11003700,0x24000000,0x30200000,0x11003700,0x24000000,0x90e00000,0x11003700,0x24000020,0x200000,0x11003800,0x4000000,0x100000,
-+0x11003800,0x24000000,0x200000,0x11003800,0x24000000,0xb00000,0x11003800,0x24000000,0xe00000,0x11003800,0x24000000,0x1710000,0x11003800,0x24000000,0x10200000,0x11003800,
-+0x24000000,0x10b00000,0x11003800,0x24000000,0x10e00000,0x11003800,0x24000000,0x90e00000,0x11005003,0x7c00100,0x220402,0x11005013,0x2802500,0x962460,0x11005013,0x4000020,
-+0x200005,0x11005013,0x7c00100,0x2633801,0x11005013,0x7c00100,0x2633802,0x11005013,0x7c00100,0x2633805,0x11005019,0x7c00100,0x220402,0x11005100,0x24000000,0x810000,
-+0x11005100,0x24000000,0x1410000,0x11005102,0x7000100,0x230408,0x11005102,0x7c00100,0x230404,0x11005102,0x7c00100,0x230407,0x11005102,0x7c00100,0x230408,0x11005102,
-+0x7c00100,0x230409,0x11005201,0x2802400,0x962460,0x11005500,0x80000,0x1e18820,0x11005502,0x7000100,0x230408,0x11005502,0x7c00100,0x230404,0x11005502,0x7c00100,
-+0x230407,0x11005502,0x7c00100,0x230408,0x11005502,0x7c00100,0x230409,0x11005667,0x1000,0,0x11020200,0x80004,0x418820,0x11020200,0x4000000,0x100006,
-+0x11020200,0x4000000,0x10000f,0x11020200,0x4000400,0x100002,0x11020200,0x4000400,0x500002,0x11020200,0x6800c00,0x101000,0x11020200,0x24000000,0x100000,0x11020200,
-+0x24000000,0x1400000,0x11020200,0x24000000,0x1500000,0x11020200,0x24000000,0x1600000,0x11020200,0x24000000,0x10200000,0x11020200,0x24000020,0x100000,0x11020200,0x24000020,
-+0x1600000,0x11020219,0x7c00100,0x12040f,0x11020219,0x7c00100,0x220400,0x11020219,0x7c00100,0x220401,0x11020219,0x7c00100,0x250400,0x11020319,0x7c00100,0x220400,
-+0x11020319,0x7c00100,0x220401,0x11020319,0x7c00100,0x220402,0x11020319,0x7c00100,0x250400,0x11020319,0x7c00100,0x250402,0x11020319,0x7d00100,0x220402,0x11020419,
-+0x7c00100,0x220401,0x11020519,0x7c00100,0x220400,0x11020600,0x4000400,0x100002,0x11020600,0x4000400,0x200000,0x11020600,0x7c00500,0x130400,0x11020600,0x7c00d00,
-+0x130400,0x11020701,0x2802400,0x962460,0x11020701,0x2802400,0x962461,0x11020701,0x2802400,0xc62460,0x1102080e,0x7c00100,0x220400,0x1102080e,0x7c00100,0x250400,
-+0x11020908,0x7c00100,0x220400,0x11020908,0x7c00100,0x220401,0x11020908,0x7c00100,0x250400,0x11020908,0x7c00100,0x250401,0x11022800,0x24000000,0x100000,0x11022800,
-+0x24000000,0x200000,0x11022800,0x24000000,0x200002,0x11022800,0x24000000,0x401000,0x11022800,0x24000000,0xf00002,0x11022800,0x24000000,0xf0ac02,0x11022800,0x24000000,
-+0x1500000,0x11022800,0x24000002,0x100000,0x11022800,0x24000002,0x370000,0x11022800,0x24000002,0x470000,0x11022800,0x24000006,0x400000,0x11022800,0x24000008,0x1710000,
-+0x11022800,0x24000008,0x1712c00,0x11022800,0x24000020,0x100000,0x11022800,0x24000020,0x1500000,0x11022800,0x24000020,0x1500002,0x11022900,0x4000000,0x10000e,0x11022900,
-+0x4000000,0x10000f,0x11022919,0x7c00100,0x12040f,0x11022c00,0x4000000,0x100002,0x11022c00,0x4000000,0x1500002,0x11022c00,0x4000000,0x1600002,0x11022c00,0x4000000,
-+0x1010000f,0x11022c00,0x7c00120,0x120405,0x11022c0e,0x7c00100,0x250401,0x11022c19,0x7c00100,0x150401,0x11022d00,0x4000000,0x100006,0x11022d00,0x4000000,0x200006,
-+0x11022d19,0x7c00100,0x120402,0x11022d19,0x7c00100,0x150402,0x11022e00,0x24000000,0x200000,0x11022e00,0x24000020,0x100000,0x11022e00,0x24000020,0x10100000,0x11022f00,
-+0x24000020,0x100000,0x11022f00,0x24000020,0x100001,0x11022f00,0x24000020,0x100002,0x11023000,0x24000000,0x100000,0x11023300,0x4000000,0x100002,0x11023300,0x4000000,
-+0x100003,0x11023300,0x4000100,0x120403,0x11023300,0x4000100,0x150403,0x11023300,0x4000100,0x10150403,0x11023400,0x24000000,0x100000,0x11023500,0x24000000,0x100000,
-+0x11023600,0x24000000,0x100000,0x11023600,0x24000020,0x100000,0x11023600,0x24000020,0x10100000,0x11023700,0x24000000,0x100000,0x11023700,0x24000000,0xe00000,0x11023700,
-+0x24000000,0x10100000,0x11023700,0x24000000,0x10e00000,0x11023700,0x24000020,0x100000,0x11023700,0x24000020,0x10100000,0x11023800,0x4000000,0x100000,0x11023800,0x24000000,
-+0x200000,0x11024e67,0,0,0x11025600,0x4000000,0x100000,0x11042a00,0x4000000,0x1600000,0x11045700,0x4000000,0x20000a,0x11045700,0x4000020,0x20000a,
-+0x11045712,0x7c00100,0x23040a,0x11045712,0x7c80100,0x23040a,0x11045716,0x7c00100,0x230c0a,0x11045716,0x7c00100,0x2530c0a,0x11063d00,0x4000001,0x440011,0x11065700,
-+0x4000000,0x810011,0x11065700,0x4000000,0xe00011,0x11065700,0x4000000,0x1410011,0x11065700,0x4000000,0x1500011,0x11065700,0x4000000,0x1600011,0x11065700,0x4000006,
-+0xe70011,0x11065700,0x4000008,0xe00011,0x11065700,0x4000008,0xe02c11,0x11065700,0x4000010,0x871411,0x11065700,0x4000010,0x1201411,0x11065700,0x4000010,0x1271011,
-+0x11065700,0x4000020,0xe00011,0x11065700,0x4000400,0xe00011,0x11065700,0x4000420,0xe00011,0x11065700,0x6800000,0xe01c11,0x11065700,0x6800040,0xe00011,0x11065700,
-+0xc000010,0x80ac11,0x11065700,0xc000010,0xb48011,0x11065719,0x7c00100,0xe20411,0x11065719,0x7c00100,0xe50411,0x11065719,0x7c00140,0xe20411,0x11065719,0x7c00140,
-+0xe50411,0x11080100,0x6800000,0x201c00,0x11080100,0x68000c0,0x11329800,0x11080100,0x24000000,0x200000,0x11080100,0x24000000,0x810000,0x11080100,0x24000000,0x1410000,
-+0x11080100,0x24000000,0x1500000,0x11080100,0x24000000,0x1600000,0x11080100,0x24000000,0x1b00000,0x11080100,0x24000000,0x2410000,0x11080100,0x24000000,0x10200000,0x11080100,
-+0x24000006,0xd70000,0x11080100,0x24000008,0x1713c00,0x11080100,0x24000008,0x1714000,0x11080100,0x24000010,0x1001400,0x11080100,0x24000010,0x1071000,0x11080100,0x24000010,
-+0x1071400,0x11080100,0x24000020,0x200000,0x11080100,0x24000020,0x400000,0x11080100,0x24000020,0x1600000,0x11080100,0x24000400,0x200000,0x11080100,0x24000420,0x200000,
-+0x11080100,0x2c000010,0xb48000,0x11080100,0x2c000010,0x100ac00,0x11080100,0x44000001,0x1a40000,0x11080119,0x7c00100,0x220400,0x11080119,0x7c00100,0x250400,0x11080119,
-+0x7c001c0,0x220400,0x11080119,0x7c001c0,0x250400,0x11080200,0x4000400,0x200002,0x11080200,0x24000000,0x200000,0x11080200,0x24000000,0x1500000,0x11080200,0x24000000,
-+0x1600000,0x11080200,0x24000020,0x200000,0x110a1e12,0x7c00100,0x2130480,0x110a1e12,0x7c80100,0x2130480,0x110a3000,0x24100000,0x810001,0x110a3000,0x24100000,0x1410001,
-+0x110a3d00,0x4000000,0xe00000,0x110a3d00,0x4000000,0xe00002,0x110a3d00,0x24000000,0xe00000,0x110a3d11,0x7c00300,0xe30000,0x110a3d11,0x7c00900,0x1230400,0x110a3d12,
-+0x2802400,0x962460,0x110a3e14,0x7c00100,0xe30000,0x110a3e14,0x7c00100,0xe30001,0x110a3e14,0x7c00100,0x2530000,0x110a3e14,0x7c00900,0x1230000,0x110a3e14,0x7c00900,
-+0x1230001,0x110a3f16,0x7c00100,0xe30c00,0x110a3f16,0x7c00100,0xe30c01,0x110a3f16,0x7c00100,0x2530c00,0x110a3f16,0x7c00900,0x1230c00,0x110a3f16,0x7c00900,0x1230c01,
-+0x110a4005,0x7c00100,0xe30400,0x110a4112,0x7c00100,0xe30402,0x110a4112,0x7c80100,0xe30402,0x110a4400,0x4000000,0xe00000,0x110a4412,0x4000000,0xe00002,0x110a4412,
-+0x4000000,0xe00003,0x110a4416,0x4000000,0xe00c03,0x110a4500,0x4000000,0xe0000d,0x110a4516,0x4000000,0xe00c0d,0x110a4711,0x7c40300,0xe30000,0x110a4f11,0x7c00300,
-+0xe30001,0x110a4f11,0x7c40300,0xe30000,0x110a5300,0x4000000,0x810010,0x110a5300,0x4000000,0xe00002,0x110a5300,0x4000000,0xe00010,0x110a5300,0x4000000,0x1410010,
-+0x110a5300,0x4000002,0xe70010,0x110a5300,0x4000008,0x810010,0x110a5300,0x4000008,0x1410010,0x110a5300,0x6800000,0xe01c02,0x110a5300,0x6800000,0xe01c10,0x110a5400,
-+0x4000000,0x81000c,0x110a5400,0x4000000,0xe0000c,0x110a5400,0x4000000,0x141000c,0x110a5400,0x4000000,0x150000c,0x110a5400,0x4000000,0x160000c,0x110a5400,0x4000002,
-+0xe7000c,0x110a5400,0x4000010,0x87140c,0x110a5400,0x4000010,0xe7000c,0x110a5400,0x4000010,0x120140c,0x110a5400,0x4000010,0x127100c,0x110a5400,0x4000020,0xe0000c,
-+0x110a5400,0x4000026,0xe7000c,0x110a5400,0xc000010,0x80ac0c,0x110a5400,0xc000010,0xb4800c,0x11400a0c,0xc000010,0x1049400,0x11400c0e,0x4000010,0xb00000,0x11400c0e,
-+0x4000010,0x1071400,0x11400c0e,0xc000010,0xb48000,0x11400c11,0x7c00900,0x230400,0x11400f33,0xc000010,0x448000,0x11400f43,0xc000010,0x448000,0x11403d8a,0x4000000,
-+0xe00000,0x11445784,0x4000004,0x120000a,0x11445784,0x4000008,0x81000a,0x11445784,0x4000008,0x141000a,0x11445784,0x4000010,0x87000a,0x11445784,0xc000010,0x84800a,
-+0x1144578d,0x3802500,0x126246a,0x1144578d,0x7c00d00,0x2530c0a,0x114a3d84,0x24000000,0x810000,0x114a3d84,0x24000000,0x1410000,0x114a3d84,0x24000008,0x810000,0x114a3d84,
-+0x24000008,0x1410000,0x114a3d84,0x24000010,0x870000,0x114a3d84,0x2c000010,0x848000,0x114a3d8a,0x4000000,0xe00000,0x114a3d8a,0x24000000,0xe00000,0x114a3d8a,0x24000002,
-+0x1200000,0x114a3d8a,0x24000002,0x10e00000,0x114a3d8a,0x24000008,0x810000,0x114a3d8a,0x24000008,0x1410000,0x114a3d8d,0x7c00900,0x930c00,0x114a3d8d,0x7c00900,0xe30c00,
-+0x114a3d8f,0x7c00300,0xe30000,0x114a3e8d,0x7000400,0x1200c02,0x114a3f84,0x4000004,0x1200000,0x114a3f8d,0x7c00d00,0x2530c00,0x114a428f,0x4000000,0xe00000,0x114a428f,
-+0x4000000,0xe0000f,0x114a448a,0x4000000,0xe00002,0x114a448a,0x4000000,0xe00003,0x114a448a,0x4000000,0x10e00003,0x114a458a,0x4000000,0xe00002,0x114a458a,0x4000000,
-+0xe0000d,0x11800906,0x2802400,0x962460,0x11800c16,0x2802100,0x962460,0x11800c16,0x2802500,0x962460,0x11800f1c,0x2802400,0x962460,0x11800f28,0x2802400,0x962460,
-+0x11820700,0x2802400,0x962460,0x11820700,0x2802500,0x962460,0x118a3d92,0x2802400,0x962460,0x118a3e8d,0x2802400,0x962460,0x11c00904,0x2802400,0x962460,0x11c00c1a,
-+0x6800000,0x1329800,0x11c00f57,0x6800000,0x1329800,0x11c0105c,0x6800000,0x1329800,0x11c01160,0x6800000,0x1329800,0x11c01264,0x6800000,0x1329800,0x11c01468,0x4000000,
-+0x200000,0x11c01468,0x6800000,0x1329800,0x11c01468,0x7c00100,0x230400,0x11c0511a,0x7c00100,0x230408,0x20000067,0x1000,0,0x20000b13,0x2802400,0x962460,
-+0x20000b13,0x2802500,0x962460,0x20001b27,0x2802100,0x962460,0x20001b27,0x2802100,0x962461,0x20001b27,0x2802400,0x962460,0x20001b27,0x2806400,0x962460,0x20001b27,
-+0x2902100,0x962462,0x20001b27,0x4000000,0x200000,0x20001b27,0x4000000,0x400000,0x20001b27,0x4000000,0x500000,0x20001b27,0x4000000,0x810000,0x20001b27,0x4000000,
-+0xb00000,0x20001b27,0x4000000,0xc0000b,0x20001b27,0x4000000,0x1410000,0x20001b27,0x4000010,0xb00000,0x20001b27,0x4000010,0xc00000,0x20001b27,0x6800000,0x1329800,
-+0x20001b27,0x6800100,0x462540,0x20001b27,0x6800400,0x962540,0x20001b27,0x7c00100,0x230400,0x20001b27,0x7c00100,0x230401,0x20002619,0x7c00100,0x220401,0x20002a00,
-+0x4000000,0x1600000,0x20004b67,0,0x1900020,0x20004c67,0,0x1900020,0x20004d67,0,0x1900020,0x20006d67,0x1000,0,0x20006e67,0x1000,
-+0,0x20026d67,0,0,0x20026e67,0,0,0x200a4a12,0x7c00100,0x1f304c1,0x200a4a12,0x7c00100,0x20304e1,0x21005600,0x4000000,0x700000,
-+0x21022a00,0x4000000,0x1600000,0x30000419,0x7c00100,0x220400,0x30000419,0x7c00100,0x220401,0x30000419,0x7c00100,0x250400,0x30000419,0x7c00100,0x250401,0x30000519,
-+0x7c00100,0x220400,0x30000600,0x4000400,0x200000,0x30000600,0x7c00500,0x230400,0x30000605,0x4000400,0x200000,0x3000080e,0x7c00100,0x220400,0x30000908,0x2000,
-+0x962460,0x30000908,0x7c00100,0x220400,0x30000908,0x7c00100,0x220401,0x30000908,0x7c00100,0x250400,0x30000908,0x7c00100,0x250401,0x30000a03,0x4000006,0x400000,
-+0x30000c02,0x4000000,0x200000,0x30000c02,0x7c00100,0x230400,0x30000d22,0,0x218820,0x30000d22,0x2802100,0x962460,0x30000d22,0x2802400,0x962460,0x30000d22,
-+0x2802500,0x962460,0x30000d22,0x4000000,0x200000,0x30000d22,0x4000010,0x200000,0x30000d22,0x7c00100,0x230400,0x30000d22,0xc000010,0x248000,0x30000e25,0x2802500,
-+0x962460,0x30000e25,0x7c00100,0x230400,0x30001821,0x2802100,0x962460,0x30001821,0x2806400,0x962460,0x30001821,0x4000000,0x200000,0x30001821,0x6800100,0x962540,
-+0x30001821,0x6800100,0x962541,0x30001821,0x7c00100,0x230400,0x30001b27,0x2802100,0x962460,0x30001b27,0x2802400,0x962460,0x30001b27,0x4000000,0x200000,0x30001b27,
-+0x4000000,0x400000,0x30001b27,0x7c00100,0x230400,0x30001c1c,0x2802100,0x1862460,0x30001c1c,0x2802400,0x1862460,0x30001c1c,0x2806400,0x1862460,0x30001c1c,0x4000000,
-+0x200000,0x30001c1c,0x6800100,0x1862400,0x30001c1c,0x6800100,0x1862540,0x30001c1c,0x7c00100,0x1830000,0x30001c1c,0x7c00100,0x1830001,0x30001c1c,0xc000010,0x448000,
-+0x30001f0b,0x4000000,0x200000,0x30001f0b,0x4000010,0x200000,0x30001f0b,0x4000010,0x400000,0x30001f0b,0x6800000,0x200000,0x30001f0b,0x7c00100,0x230400,0x30001f0b,
-+0xc000010,0x248000,0x30002006,0x7c00100,0x250400,0x30002128,0x4000010,0x200000,0x30002128,0x7c00100,0x230400,0x30002128,0xc000010,0x248000,0x3000221d,0x4000000,
-+0x810000,0x3000221d,0x4000000,0x1410000,0x3000221d,0x4000001,0x440000,0x3000221d,0x7c00100,0x230400,0x30002300,0x4000010,0x400000,0x30002320,0x7c00100,0x230400,
-+0x30002417,0x2802100,0x1862460,0x30002417,0x2802400,0x1862460,0x30002417,0x2806400,0x1862460,0x30002417,0x2882000,0x1862460,0x30002417,0x4000000,0x200000,0x30002417,
-+0x4000000,0x400000,0x30002417,0x4000000,0x1600000,0x30002417,0x4000010,0x400000,0x30002417,0x4000010,0x1200000,0x30002417,0x6800000,0x1329800,0x30002417,0x6800100,
-+0x1862540,0x30002417,0x7c00100,0x1830000,0x30002417,0x7d00100,0x1830000,0x3000251b,0x80000,0xc18820,0x3000251b,0x2802100,0x962460,0x3000251b,0x4000000,0x200000,
-+0x3000251b,0x4000006,0x500000,0x3000251b,0x4000010,0x400000,0x3000251b,0x4000010,0xb70000,0x3000251b,0x4000800,0x200000,0x3000251b,0x6800000,0x1329800,0x3000251b,
-+0x7c00100,0x230400,0x3000251b,0x7c00900,0x230400,0x3000251b,0xc000010,0xb48000,0x3000251b,0x12882000,0x962460,0x30002800,0x4000001,0xc4000b,0x30002800,0x24000000,
-+0x200000,0x30002800,0x2c000010,0x1248002,0x30002800,0x2c000010,0x11248002,0x30002a00,0x4000000,0x1600000,0x30002b01,0x2000,0x962460,0x30002c00,0x4000000,0x200000,
-+0x30002c00,0x7c00100,0x10220405,0x30002d19,0x7c00100,0x250400,0x30002e00,0x24000000,0x200000,0x30003000,0x24000000,0x200000,0x30003100,0x24000000,0x200000,0x30003600,
-+0x24000000,0x200000,0x30003700,0x24000000,0x200000,0x3000392e,0x24000000,0x200000,0x30005013,0x7c00100,0x2633801,0x30005600,0,0x918820,0x30020600,0x4000400,
-+0x500000,0x30020701,0x2802400,0x962460,0x30020701,0x2802400,0xc62460,0x300a3a11,0x4020000,0xe00000,0x300a3a11,0x4020000,0xe00002,0x300a3b11,0x4020000,0xe00002,
-+0x300a3c00,0x4008000,0xe00000,0x300a3c00,0x4010000,0xe00000,0x300a3d11,0x7c00300,0xe30002,0x300a4305,0x7c00100,0xe30400,0x300a4611,0x7c40300,0xe30000,0x300a4829,
-+0x7c00100,0xe30400,0x300a4829,0x7c00900,0x1230400,0x300a4929,0x4000000,0xe00000,0x30402573,0x4000010,0x400000,0x30402573,0x4000010,0xb70000,0x30402573,0xc000010,
-+0xb48000,0x304a3d8a,0x4000000,0xe00000,0x30800c16,0x2802100,0x962460,0x30c01c6d,0x6800000,0x1329800,0x3100080e,0x7c00120,0x220402,0x3100080e,0x7c00120,0x250402,
-+0x31005167,0x1000,0,0x3100581e,0x4000000,0x200000,0x3100581e,0x7c00100,0x230400,0x3100590d,0x7c00100,0x230400,0x31005a09,0x7c00100,0x220400,0x31005a09,
-+0x7c00100,0x250400,0x31005b00,0x4000000,0x200000,0x31005c00,0x80000,0x918820,0x31005c00,0x2802000,0x962460,0x31005c00,0x2802400,0x962460,0x31005c00,0x4000000,
-+0x200000,0x31005c00,0x4000000,0x200001,0x31005c00,0x6800000,0x962540,0x31005c00,0x6800400,0x962540,0x31005c01,0x2802400,0x962460,0x31005d00,0x4000020,0x200005,
-+0x31005d00,0x6800020,0x1329805,0x31005d00,0x7c00120,0x220405,0x31005d00,0x7c00120,0x250405,0x31006000,0x80000,0x918820,0x31006000,0x180000,0x918820,0x310a5e11,
-+0x7c40300,0xe30000,0x310a5f11,0x7c00300,0xe30001,0x32000419,0x7c00100,0x250400,0x3200080e,0x4000020,0x200000,0x3200080e,0x7c00100,0x220400,0x3200080e,0x7c00100,
-+0x250400,0x32000908,0x7c00100,0x220400,0x32000908,0x7c00100,0x250400,0x32000c02,0x7c00100,0x230400,0x32000e25,0x7c00100,0x230400,0x32001d0c,0x7c00100,0x230400,
-+0x32002800,0x80000,0x1e18820,0x32002800,0x80020,0x218820,0x32002800,0x4000001,0x440002,0x32002800,0x24000000,0x200000,0x32002800,0x24000000,0x200002,0x32002800,
-+0x24000020,0x200000,0x32002800,0x2c000010,0x1248002,0x32002919,0x7c00100,0x22040f,0x32002a00,0x4000000,0x1600000,0x32002b01,0x2000,0x962460,0x32002b01,0x2802000,
-+0x962460,0x32002b01,0x2802020,0x962460,0x32002c00,0x4000000,0x200000,0x32002c00,0x4000020,0x200000,0x32002c00,0x4000020,0x200005,0x32002c00,0x7c00120,0x220405,
-+0x32002c00,0x7c00120,0x250405,0x32002e00,0x24000020,0x200000,0x32002f00,0x24000020,0x200000,0x32003000,0x24000000,0x200000,0x32003000,0x24000020,0x200000,0x32003500,
-+0x24000000,0x200000,0x32003600,0x24000020,0x200000,0x32003600,0x24000020,0x10200000,0x32003600,0x24000020,0x30200000,0x32003700,0x24000000,0x100000,0x32003700,0x24000000,
-+0x200000,0x32003700,0x24000000,0x10200000,0x32003800,0x24000000,0x810000,0x32003800,0x24000000,0x1410000,0x32005102,0x4000000,0x1500008,0x32005502,0x7c00100,0x230400,
-+0x32006108,0x7c00100,0x220400,0x32006108,0x7c00100,0x250400,0x3200622a,0x2802100,0x962460,0x3200622a,0x2806000,0x962460,0x3200622a,0x7c00100,0x230400,0x3200632b,
-+0x2802100,0x962460,0x3200632b,0x2806000,0x962460,0x3200632b,0x7c00100,0x230400,0x3200642c,0x2802100,0x962460,0x3200642c,0x7c00100,0x230400,0x3200652d,0x2802100,
-+0x962460,0x3200652d,0x7c00100,0x230400,0x32006600,0x24000020,0x200000,0x32006700,0x24000020,0x200000,0x32006800,0x24000020,0x200000,0x32006800,0x24000020,0x10200000,
-+0x32006900,0x24000020,0x200000,0x32006900,0x24000020,0x810000,0x32006900,0x24000020,0x1410000,0x32006a00,0x24000020,0x200000,0x32006a00,0x24000020,0x200001,0x32006a00,
-+0x24000020,0x200002,0x32020701,0x2882000,0xc62460,0x32023300,0x4000000,0x100000,0x32026c01,0x12882000,0x962460,0x32065700,0x4000000,0x810011,0x32065700,0x4000000,
-+0x1410011,0x32086600,0x24000020,0x810000,0x32086600,0x24000020,0x1410000,0x32086900,0x24000020,0x810000,0x32086900,0x24000020,0x1410000,0x320a3d11,0x7c00100,0x1230400,
-+0x320a3e14,0x7c00100,0xe30010,0x320a3e14,0x7c00100,0x2530000,0x320a3f16,0x7c00100,0xe30c10,0x320a4400,0x4000000,0xe00003,0x320a4929,0x4000000,0xe00000,0x320a4f11,
-+0x7c00300,0xe30001,0x320a6b16,0x7c00100,0x2530c00,0x3240636f,0xc000010,0x448000,0x324a3d8f,0x4000000,0x10e00000,0x324a3d8f,0x7c00100,0x1230400,0x324a3f8d,0x4000002,
-+0x1200c00,0x324a538a,0x24000000,0xe00000,0x32820701,0x2802000,0x962460,0x40000419,0x7c00100,0x220400,0x40000519,0x7c00100,0x220400,0x40000600,0x4000400,0x200000,
-+0x4000080e,0x7c00100,0x220400,0x4000080e,0x7c00100,0x250400,0x4000080e,0x7c00100,0x250402,0x40000c02,0,0x218820,0x40000c02,0x2802100,0x962460,0x40000c02,
-+0x2802400,0x962460,0x40000c02,0x2802500,0x962460,0x40000c02,0x4000000,0x200000,0x40000c02,0x4000000,0x1071400,0x40000c02,0x7c00100,0x230400,0x40000d22,0x7c00100,
-+0x230400,0x40000f0a,0x7c00100,0x230400,0x40001004,0x7c00100,0x230400,0x40001110,0x2802100,0x962460,0x40001110,0x6800100,0x962540,0x4000120f,0x2802100,0x962460,
-+0x4000120f,0x4000000,0x1600000,0x4000120f,0x7c00100,0x230400,0x4000131f,0x7c00100,0x230400,0x40001423,0x4000000,0x200000,0x40001423,0x4000000,0x1600000,0x40001615,
-+0x2802400,0x962460,0x40001615,0x7c00100,0x230400,0x40002417,0x2802400,0x1862460,0x40002417,0x4000000,0x200000,0x40002800,0x6800000,0x201c00,0x40002800,0x24000002,
-+0x200000,0x40002c00,0x4000000,0x200002,0x40003000,0x24000000,0x10200000,0x40003000,0x24000020,0x200000,0x40003700,0x24000000,0x200000,0x40003700,0x24000000,0x10200000,
-+0x40003700,0x24000000,0x30200000,0x40005a09,0x7c00100,0x220400,0x40005a09,0x7c00100,0x250400,0x40005d00,0x7c00120,0x220405,0x40006f30,0x2802100,0x962460,0x40006f30,
-+0x2802400,0x962460,0x40006f30,0x4000000,0x200000,0x40006f30,0x6800000,0x1329800,0x40006f30,0x6800100,0x962540,0x40006f30,0x7c00100,0x230400,0x40006f30,0xc000010,
-+0xb48000,0x40007034,0x7c00100,0x1830000,0x40007117,0x4000000,0x200000,0x40007208,0x7c00100,0x220400,0x4000720e,0x7c00100,0x220400,0x4000720e,0x7c00500,0x22040e,
-+0x4000720e,0x7c00500,0x22040f,0x40007219,0x7c00100,0x220400,0x40007219,0x7c00500,0x220400,0x40007219,0x7c00500,0x22040e,0x40007219,0x7c00500,0x22040f,0x40007300,
-+0x24000000,0x200000,0x40007300,0x24000000,0x10200000,0x40007400,0x4000000,0x200000,0x40007531,0x7c00100,0x230400,0x40007631,0x7c00100,0x230400,0x40007835,0x4000010,
-+0x400000,0x40007835,0x7c00100,0x230400,0x40007933,0x7c00100,0x230400,0x40007a32,0x6800000,0x1329800,0x40007a32,0x7c00100,0x230400,0x40007b2f,0x7c00100,0x230400,
-+0x40007c00,0x4000000,0x200000,0x40020701,0x2802400,0x962460,0x40020701,0x2802400,0xc62460,0x40023300,0x4000000,0x200000,0x40023700,0x24000000,0x30e00000,0x40027d01,
-+0x12882000,0x962460,0x400a4400,0x4000000,0xe0000d,0x400a4412,0x4000000,0xe00002,0x400a4412,0x4000000,0xe00003,0x400a4500,0x4000000,0xe0000d,0x400a5300,0x4000000,
-+0x810010,0x400a5300,0x4000000,0x1410010,0x404077a6,0x4000000,0x200000,0x404077a6,0x4000000,0x400000,0x40c0511a,0x4000000,0x200000,0x41000419,0x7c00100,0x220400,
-+0x41000419,0x7c00100,0x250400,0x4100080e,0x7c00100,0x220400,0x4100080e,0x7c00100,0x250400,0x41000908,0x7c00100,0x220400,0x41000908,0x7c00100,0x250400,0x41000b13,
-+0x2802000,0x962460,0x41000b13,0x2802100,0x962460,0x41000b13,0x4000000,0xb00000,0x41000c02,0x2802100,0x962460,0x41000c02,0x4000000,0xb00000,0x41000c02,0x4000000,
-+0x1500000,0x41000f0a,0x7c00100,0x230400,0x41001004,0x7c00100,0x230400,0x41001423,0x7c00100,0x230400,0x41001b27,0x4000000,0x500000,0x41001d0c,0x7c00100,0x230400,
-+0x41001d0c,0x7c00100,0x23040f,0x41001f0b,0x2802100,0x962460,0x41001f0b,0x4000000,0x200000,0x41001f0b,0x7c00100,0x230400,0x41002800,0x24000000,0x200000,0x41002800,
-+0x24000000,0x400000,0x41002919,0x7c00100,0x22040e,0x41002a00,0x4000000,0x1600000,0x41002b01,0x2802020,0x962460,0x41002c00,0x4000000,0x200000,0x41002c00,0x7c00120,
-+0x220405,0x41003000,0x24000000,0x200000,0x41003700,0x24000000,0x200000,0x41003700,0x24000000,0x10200000,0x41003700,0x24000000,0x10e00000,0x41003700,0x24000000,0x30200000,
-+0x41003700,0x24000000,0x30e00000,0x41005d00,0x7c00120,0x220405,0x41006600,0x24000020,0x200000,0x41006600,0x24000020,0x810000,0x41006600,0x24000020,0x1410000,0x41007208,
-+0x7c00100,0x22040f,0x41007219,0x7c00100,0x220400,0x41007300,0x24000000,0x200000,0x41007e0e,0x2802000,0x962460,0x41007e0e,0x4000000,0x200000,0x41007f0e,0x4000000,
-+0x200000,0x41007f0e,0x7c00100,0x230400,0x41008002,0x7c00100,0x230400,0x41008137,0x2802100,0x962460,0x41008137,0x4000000,0x200000,0x41008137,0x6800100,0x962540,
-+0x41008137,0x7c00100,0x230400,0x41008301,0x2802000,0x962460,0x41008407,0x4000000,0x200000,0x41008407,0x4000000,0x400000,0x41008407,0x4000000,0xb00000,0x41008407,
-+0x7c00100,0x220400,0x41008407,0x7c00100,0x250400,0x4100850b,0x7c00100,0x230400,0x4100860b,0x4000000,0x200000,0x4100860b,0x7c00100,0x230400,0x4100870c,0x7c00100,
-+0x220400,0x41008838,0x7c00100,0x220400,0x41008838,0x7c00100,0x250400,0x41008939,0x2802000,0x962460,0x41008939,0x2802100,0x962460,0x41008939,0x2806000,0x962460,
-+0x41008939,0x4000000,0x200000,0x41008939,0x4000000,0x400000,0x41008939,0x7c00100,0x230400,0x41008939,0xc000010,0x448000,0x41008a00,0x4000000,0x200000,0x41008b3b,
-+0x4000000,0x1800000,0x41008b3b,0x6800000,0x1329800,0x41008b3b,0x7c00100,0x1830000,0x41008b3b,0x7e00100,0x1830000,0x41008c3d,0x4000010,0x400000,0x41008c3d,0x7c00100,
-+0x230400,0x41008d0e,0x7c00100,0x22040f,0x41008d19,0x7c00100,0x220400,0x41008d19,0x7c00100,0x22040f,0x41008e00,0x24000000,0x200000,0x41008e00,0x24000000,0x400000,
-+0x41008e00,0x24000000,0x1710000,0x41008e00,0x24000006,0x400000,0x41008f3a,0x2802000,0x962460,0x41008f3a,0x2802100,0x962460,0x41008f3a,0x2806000,0x962460,0x41008f3a,
-+0x4000000,0x200000,0x41008f3a,0x6800100,0x962540,0x41008f3a,0x7c00100,0x230400,0x4100903c,0x7c00100,0x230400,0x4100903c,0x7c00100,0x23040f,0x41020701,0x2802000,
-+0x962460,0x41020701,0x2802000,0xc62460,0x410a4412,0x4000000,0xe00003,0x410a4711,0x7c40300,0xe30000,0x410a4f11,0x7c00300,0xe30001,0x410a9100,0x4000000,0x800010,
-+0x410a9100,0x4000000,0x810010,0x410a9100,0x4000000,0x870010,0x410a9100,0x4000000,0xb00010,0x410a9100,0x4000000,0xf00010,0x410a9100,0x4000000,0x1001410,0x410a9100,
-+0x4000000,0x1071010,0x410a9100,0x4000000,0x1071410,0x410a9100,0x4000000,0x1410010,0x414a828a,0x4000000,0xe00000,0x41808300,0x2802000,0x962460,0x41c01468,0x6800000,
-+0x1329800,0x50000419,0x7c00100,0x220400,0x50000419,0x7c00100,0x250400,0x5000080e,0x7c00100,0x220400,0x50000908,0x7c00100,0x220400,0x50000908,0x7c00100,0x250400,
-+0x50000b13,0x2802500,0x962460,0x50000f0a,0x7c00100,0x230400,0x50001615,0x2802100,0x962460,0x50001615,0x7c00100,0x230400,0x50002b01,0x2802020,0x962460,0x50002c00,
-+0x4000000,0x200000,0x50002c19,0x7c00100,0x220400,0x50002d19,0x7c00100,0x220400,0x50003000,0x24000000,0x200000,0x50003000,0x24000020,0x200000,0x50003700,0x24000000,
-+0x200000,0x50005d00,0x7c00120,0x220405,0x50005d00,0x7c00120,0x250405,0x50006108,0x7c00100,0x220400,0x50006108,0x7c00100,0x250400,0x50006600,0x24000020,0x200000,
-+0x50007300,0x24000000,0x200000,0x50008301,0x2802400,0x962460,0x50008a00,0x7c00500,0x230400,0x50009257,0x2802400,0x962460,0x50009257,0x4000000,0x200000,0x50009257,
-+0x4000010,0x1071400,0x50009257,0x6800000,0x1329800,0x50009257,0x7c00100,0x230400,0x50009257,0x7c00500,0x230400,0x50009257,0x7c00900,0x230400,0x50009257,0xc000010,
-+0xb48000,0x5000933e,0x2802100,0x962460,0x5000933e,0x2802400,0x962460,0x5000933e,0x4000000,0x200000,0x5000933e,0x4000000,0x400000,0x5000933e,0x4000010,0x400000,
-+0x5000933e,0x6800000,0x1329800,0x5000933e,0x6800100,0x962540,0x5000933e,0x6800100,0x962541,0x5000933e,0x6804400,0x962540,0x5000933e,0x7c00100,0x230400,0x5000933e,
-+0x7c00100,0x230401,0x5000933e,0xc000010,0x448000,0x50009419,0x7c00100,0x220400,0x50009419,0x7c00100,0x250400,0x50009500,0x4000400,0x200000,0x5000965a,0x4000000,
-+0x500000,0x5000965a,0x7c00100,0x230400,0x5000965a,0xc000010,0xb48000,0x5000975b,0x4000000,0x200000,0x5000975b,0x4000010,0x400000,0x5000975b,0x7c00100,0x230400,
-+0x50009865,0x7c00100,0x230400,0x50009965,0x4000010,0x400000,0x50009965,0x7c00100,0x230400,0x50409a93,0x4000000,0x200000,0x5100080e,0x7c00100,0x220400,0x5100080e,
-+0x7c00100,0x250400,0x51000c02,0x2802100,0x962460,0x51000c02,0x4000000,0x1500000,0x51000c02,0x4000020,0x200000,0x51000c02,0x7c00100,0x230400,0x51000f0a,0x7c00100,
-+0x230400,0x51000f0a,0x7c00500,0x230400,0x51001110,0x2802100,0x962460,0x5100131f,0x2802100,0x962460,0x51001423,0x7c00100,0x230400,0x51001524,0x2802100,0x962460,
-+0x51001524,0x4000000,0x200000,0x51001524,0x7c00100,0x230400,0x5100171a,0x2802100,0x962460,0x5100171a,0x4000000,0x200000,0x5100171a,0x4000000,0x1500000,0x5100171a,
-+0x7c00100,0x230400,0x51001b27,0x4000000,0x200000,0x51001b27,0x4000000,0x400000,0x51001b27,0x4000000,0x500000,0x51001b27,0x7c00100,0x230400,0x51001c1c,0x2802100,
-+0x1862460,0x51001c1c,0x2802400,0x1862460,0x51001c1c,0x2806400,0x1862460,0x51001c1c,0x4000000,0x1800000,0x51001c1c,0x6800000,0x1329800,0x51001c1c,0x6800000,0x1862400,
-+0x51001c1c,0x6800100,0x1862400,0x51001c1c,0x6800100,0x1862540,0x51001c1c,0x6800400,0x1862400,0x51001c1c,0x7c00100,0x1830000,0x5100251b,0x7c00100,0x230400,0x51002619,
-+0x7c00100,0x220400,0x51002619,0x7c00100,0x250400,0x51002800,0x80020,0x218820,0x51002c00,0x4000000,0x200000,0x51002d19,0x7c00100,0x230400,0x51003700,0x24000000,
-+0x200000,0x51003700,0x24000000,0xe00000,0x51005201,0x2802400,0x962460,0x51005c00,0x4000000,0x200000,0x51006108,0x7c00100,0x220400,0x51006108,0x7c00100,0x250400,
-+0x51006600,0x24000020,0x200000,0x51006600,0x24000020,0x810000,0x51006600,0x24000020,0x1410000,0x51007300,0x24000000,0x200000,0x51007300,0x24000000,0x30200000,0x51007300,
-+0x24000020,0x200000,0x51008002,0x7c00100,0x230400,0x51008301,0x2802000,0x962460,0x51008301,0x2802400,0x962460,0x51008a00,0x7c00500,0x230400,0x51008e00,0x24000000,
-+0x200000,0x51008e00,0x24000000,0x400000,0x51008e00,0x24000000,0x810000,0x51008e00,0x24000000,0x1400000,0x51008e00,0x24000000,0x1410000,0x51008e00,0x24000000,0x1710000,
-+0x51008e00,0x24000002,0x200000,0x51008e00,0x24000500,0x230400,0x51008e00,0x2c000010,0xb48000,0x51009419,0x7c00100,0x220400,0x51009419,0x7c00100,0x22040e,0x51009419,
-+0x7c00100,0x22040f,0x51009419,0x7c00100,0x250400,0x51009500,0x4000000,0x200000,0x51009500,0x7c00500,0x230400,0x51009519,0x7c00100,0x220400,0x51009519,0x7c00100,
-+0x22040f,0x51009519,0x7c00100,0x230400,0x51009519,0x7c00100,0x250400,0x51009b71,0x2802100,0x962460,0x51009b71,0x6800000,0x1329800,0x51009b71,0x6800100,0x962540,
-+0x51009b71,0x6804400,0x962540,0x51009b71,0x7c00100,0x230400,0x51009c52,0x2802100,0x962460,0x51009c52,0x2802400,0x962460,0x51009c52,0x2802c00,0x962460,0x51009c52,
-+0x4000010,0x400000,0x51009c52,0x6800000,0x1329800,0x51009c52,0x6800100,0x962540,0x51009c52,0x7c00100,0x230400,0x51009c52,0xc000010,0x448000,0x51009d6d,0x6800000,
-+0x1329800,0x51009d6d,0x7c00100,0x230400,0x51009d6d,0x7c00500,0x230400,0x51009d6d,0x7c00d00,0x230400,0x51009d6d,0xc000010,0x448000,0x51009e08,0x2802100,0x962460,
-+0x51009f63,0x4000010,0x400000,0x51009f63,0x6800000,0x1329800,0x51009f63,0x7c00100,0x230400,0x51009f63,0x7c00900,0x230400,0x51009f63,0xc000010,0x448000,0x51009f63,
-+0xc000010,0xb48000,0x5100a008,0x2000,0x962460,0x5100a008,0x2802400,0x962460,0x5100a008,0x4000000,0x200000,0x5100a008,0x7c00100,0x220400,0x5100a008,0x7c00100,
-+0x230400,0x5100a008,0x7c00100,0x250400,0x5100a008,0x7c00500,0x230400,0x5100a16f,0x2806400,0x962460,0x5100a16f,0x6800000,0x1329800,0x5100a16f,0x6800100,0x962540,
-+0x5100a16f,0x7c00100,0x230400,0x5100a16f,0xc000010,0x448000,0x5100a24f,0x2802100,0x962460,0x5100a24f,0x2802400,0x962460,0x5100a24f,0x6800000,0x1329800,0x5100a24f,
-+0x7c00100,0x230400,0x5100a24f,0xc000010,0x448000,0x5100a36e,0x2802100,0x962460,0x5100a36e,0x4000000,0x200000,0x5100a36e,0x6800100,0x962540,0x5100a36e,0x6804400,
-+0x962540,0x5100a36e,0x7c00100,0x230400,0x5100a442,0x2802100,0x962460,0x5100a442,0x4000000,0x200000,0x5100a442,0x6800000,0x1329800,0x5100a442,0x6800100,0x962540,
-+0x5100a442,0x7c00100,0x230400,0x5100a442,0xc000010,0x448000,0x5100a500,0x4000000,0x200000,0x5100a600,0x4000000,0x200000,0x5100a601,0x2802000,0x962460,0x5100a76b,
-+0x7c00100,0x230400,0x5100a868,0x7c00100,0x230400,0x5100a96c,0x4000000,0x200000,0x5100a96c,0x7c00100,0x230400,0x5100aa00,0x4000000,0xe00000,0x5100aa00,0x4000000,
-+0x30e00000,0x5100ab00,0x4000000,0xe00000,0x51086600,0x24000020,0x810000,0x51086600,0x24000020,0x1410000,0x510a4005,0x7c00100,0xe30400,0x510a4711,0x7c40300,0xe30000,
- 0x5140a2a1,0x4000400,0x400000,0x514a828a,0x4000000,0xe00000,0x51802b81,0x2802000,0x962460,0x51c0090a,0x2802400,0x962460,0x51c0a00a,0x2802400,0x962460,0x52000f0a,
- 0x2802100,0x962460,0x52000f0a,0x6800100,0x962540,0x52000f0a,0x7c00100,0x230400,0x52001004,0x4000000,0x1600000,0x52001b00,0x4000000,0x200000,0x52001c1c,0x2802100,
- 0x1862460,0x52001c1c,0x6800100,0x1862400,0x52001c1c,0x6800400,0x1862400,0x52001e12,0x7c00100,0x2230500,0x52001e12,0x7c00100,0x2330520,0x52002128,0x4000002,0x400000,
- 0x52002128,0x7c00100,0x230400,0x52002a00,0x4000000,0x1500000,0x52002a00,0x4000000,0x1600000,0x52002d00,0x4000000,0x200006,0x52003000,0x24000000,0x200000,0x52003700,
--0x24000000,0xe00000,0x52006108,0x7c00100,0x220400,0x52006108,0x7c00100,0x250400,0x52008301,0x2802400,0x962460,0x52008407,0x2802400,0x962460,0x52008407,0x7c00100,
-+0x24000000,0x30e00000,0x52006108,0x7c00100,0x220400,0x52006108,0x7c00100,0x250400,0x52008301,0x2802400,0x962460,0x52008407,0x2802400,0x962460,0x52008407,0x7c00100,
- 0x220400,0x52008407,0x7c00100,0x250400,0x52008b3b,0x6800000,0x1800000,0x52008b3b,0x7c00100,0x1830000,0x52008e00,0x24000000,0x400000,0x52009419,0x7c00100,0x250400,
- 0x5200975b,0x4000000,0x200000,0x5200ac7e,0x2802000,0x962460,0x5200ac7e,0x2802100,0x962460,0x5200ac7e,0x2802400,0x962460,0x5200ac7e,0x4000010,0x200000,0x5200ac7e,
- 0x7c00100,0x230400,0x5200ad28,0x7c00100,0x230400,0x5200ae6a,0x2802100,0x1862460,0x5200ae6a,0x2802400,0x962460,0x5200ae6a,0x2802400,0x1862460,0x5200ae6a,0x2806000,
-@@ -3277,85 +3294,90 @@ static const uint32_t propsVectors[5754]={
- 0x4000000,0x200000,0x5200be7a,0x7c00100,0x230400,0x5200bf58,0x7c00100,0x230400,0x5200c002,0x4000000,0x200000,0x5200c178,0,0x218820,0x5200c178,0x2802000,
- 0x962460,0x5200c178,0x2802100,0x962460,0x5200c178,0x2802400,0x962460,0x5200c178,0x2806400,0x962460,0x5200c178,0x4000000,0x200000,0x5200c178,0x6800100,0x962540,
- 0x5200c178,0x7c00100,0x230400,0x5200c178,0x7c00100,0x230401,0x5200c178,0xc000010,0x448000,0x5200c247,0x7c00100,0x230400,0x5200c247,0x7c00100,0x830400,0x5200c247,
--0x7c00100,0x1430400,0x5200c300,0x4000000,0x200003,0x52022d00,0x4000000,0x100006,0x52023700,0x24000000,0x100000,0x52023700,0x24000000,0xe00000,0x52023800,0x24000000,
--0x100000,0x52024400,0x4000000,0x100000,0x52027300,0x24000000,0x100000,0x5202c300,0x4000000,0x100000,0x5202c300,0x4000000,0x100002,0x5202c300,0x4000000,0x100003,
--0x5202c300,0x4000000,0x10000d,0x5202c300,0x4000100,0x150400,0x5202c300,0x4000100,0x15040d,0x520a1e12,0x7c00100,0x2130480,0x520a4400,0x4000000,0xe00003,0x520a4711,
--0x7c40300,0xe30000,0x520a4f11,0x7c00300,0xe30001,0x520ab412,0x7c00100,0x2130480,0x520ac400,0x4000000,0xe00002,0x520ac400,0x4000000,0xe0000d,0x520ac414,0x4000000,
--0xe0000d,0x520ac511,0x7c40300,0xe30000,0x5240af75,0x6800400,0x962540,0x5240af75,0x7c00100,0x230400,0x5240af76,0x4000400,0x200000,0x5240af76,0x6800100,0x962540,
--0x5240b294,0x4000000,0x200000,0x5240b294,0x4000000,0x1500000,0x5240b5a4,0x7c00900,0x230400,0x5280af75,0x2802400,0x962460,0x5280af76,0x2802400,0x962460,0x5280af78,
--0x2802400,0x962460,0x5280af7a,0x2802400,0x962460,0x52c0b39f,0x7c00100,0x230400,0x60000c02,0x2802100,0x962460,0x60000c02,0x7c00100,0x230400,0x60000f0a,0x2802100,
--0x962460,0x60000f0a,0x6800100,0x962540,0x60000f0a,0x7c00100,0x230400,0x6000131f,0x4000000,0x200000,0x6000171a,0x7c00100,0x230400,0x60001b27,0x2802100,0x962460,
--0x60001b27,0x4000000,0xc00000,0x60001b27,0x7c00100,0x230400,0x60001f0b,0x2802000,0x962460,0x60002919,0x7c00100,0x22040e,0x60002a00,0x4000000,0x1600000,0x60003000,
--0x24000000,0x200000,0x60003000,0x24000000,0xe00000,0x60003700,0x24000000,0x200000,0x60003800,0x24000000,0x200000,0x60003800,0x24000000,0xe00000,0x60003800,0x24000000,
--0x1710000,0x60005102,0x4000000,0x200000,0x60006108,0x7c00100,0x220400,0x60006108,0x7c00100,0x250400,0x60006600,0x24000020,0x200000,0x60008301,0x2802000,0x962460,
--0x6000903c,0x2806000,0x962460,0x6000903c,0x4000000,0x400000,0x60009519,0x7c00100,0x220400,0x60009519,0x7c00100,0x250400,0x6000a008,0x7c00100,0x220400,0x6000a008,
--0x7c00100,0x250400,0x6000c300,0x4000000,0x2703580,0x6000c654,0x2802000,0x962460,0x6000c654,0x4000010,0x200000,0x6000c654,0x7c00100,0x230400,0x6000c73f,0x2802000,
--0x962460,0x6000c73f,0x2802100,0x962460,0x6000c73f,0x4000000,0x200000,0x6000c73f,0x6800100,0x962540,0x6000c73f,0x6804000,0x962540,0x6000c73f,0x7c00100,0x230400,
--0x6000c80b,0x7c00100,0x230400,0x6000c941,0x2802100,0x962460,0x6000c941,0x2806000,0x962460,0x6000c941,0x4000000,0x200000,0x6000c941,0x4000010,0x200000,0x6000c941,
--0x6800000,0x1329800,0x6000c941,0x6800100,0x962540,0x6000c941,0x7c00100,0x230400,0x6000c941,0xc000010,0x448000,0x6000ca82,0x7c00100,0x230400,0x6000cc00,0x4000000,
--0xe00000,0x6000cd00,0x4000000,0x200000,0x6000cd00,0x4000000,0xe00000,0x6000ce00,0x4000000,0xe00000,0x6000cf00,0x4000000,0xe00000,0x6000d000,0x4000000,0x200000,
--0x6002c300,0x4000000,0x100000,0x6002c300,0x4000000,0x10000d,0x6002c300,0x4000100,0x150400,0x6002c300,0x4000100,0x15040d,0x600a4305,0x7c00100,0xe30400,0x600ac400,
--0x4000000,0xe00003,0x600ac400,0x4000000,0xe0000d,0x600acb14,0x7c00100,0xe30000,0x600acb16,0x7c00100,0xe30c00,0x600ad111,0x7c40300,0xe30000,0x61000a03,0x4000000,
--0x1600000,0x61000c02,0,0x218820,0x6100120f,0x4000000,0x200000,0x61001a18,0x7c00100,0x1830000,0x61001d0c,0x7c00100,0x230400,0x61001d0c,0x7c00100,0x250400,
--0x61006600,0x24000020,0x200000,0x61008407,0x7c00100,0x220400,0x61008407,0x7c00100,0x250400,0x6100870c,0x7c00100,0x220400,0x61008e00,0x24000000,0x200000,0x61008e00,
--0x24000000,0x400000,0x61008e00,0x24000002,0x300000,0x6100903c,0x7c00100,0x230400,0x61009519,0x7c00100,0x220400,0x61009519,0x7c00100,0x250400,0x61009519,0x7c00500,
--0x22040f,0x61009b71,0x2802100,0x962460,0x61009b71,0x2806400,0x962460,0x61009b71,0x7c00100,0x230400,0x6100a008,0x2802100,0x962460,0x6100c300,0x4000000,0x20000f,
--0x6100cd00,0x4000000,0x200000,0x6100ce00,0x4000000,0xe00000,0x6100d202,0x2802400,0x962460,0x6100d202,0x2802500,0x962460,0x6100d202,0x7c00100,0x230400,0x6100d302,
--0x4000020,0x200000,0x6100d302,0x7c00120,0x230405,0x6100d476,0x2802100,0x962460,0x6100d476,0x2802100,0x962461,0x6100d476,0x2806400,0x962460,0x6100d476,0x4000000,
--0x400000,0x6100d476,0x6800000,0x1329800,0x6100d476,0x6800100,0x962540,0x6100d476,0x7c00100,0x230400,0x6100d476,0xc000010,0x448000,0x6100d573,0x2802100,0x962460,
--0x6100d573,0x2806400,0x962460,0x6100d573,0x6800100,0x962540,0x6100d573,0x7c00100,0x230400,0x6100d573,0x7c00900,0x230400,0x6100d573,0xc000010,0x448000,0x6100d68d,
--0x7c00100,0x230400,0x6100d756,0x7c00100,0x230400,0x6100d85c,0x2802400,0x962460,0x6100d85c,0x6800100,0x962540,0x6100d85c,0x7c00100,0x230400,0x6100d85c,0x7c00500,
--0x230400,0x6100d997,0x2802100,0x962460,0x6100d997,0x4000000,0x200000,0x6100d997,0x4000000,0x400000,0x6100d997,0x6800000,0x1329800,0x6100d997,0x6800100,0x962540,
--0x6100d997,0x6804400,0x962540,0x6100d997,0x7c00100,0x230400,0x6100d997,0xc000010,0x448000,0x6100da98,0x6800000,0x1329800,0x6100da98,0x7c00100,0x230400,0x6100db71,
--0x4000000,0x200000,0x6100dc99,0x2802100,0x962460,0x6100dc99,0x2802400,0x962460,0x6100dc99,0x6800000,0x1329800,0x6100dc99,0x6800100,0x962540,0x6100dc99,0x6804400,
--0x962540,0x6100dc99,0x7c00100,0x230400,0x610a4711,0x7c40300,0xe30000,0x610a4f11,0x7c00300,0xe30001,0x6140af75,0x7c00100,0x230400,0x6140af76,0x6800100,0x962540,
--0x6140af7f,0x7c00100,0x230400,0x6180af76,0x2802400,0x962460,0x62002a00,0x4000000,0x1600000,0x63000c00,0x80000,0x918820,0x63002800,0x80000,0x918820,0x7000080e,
--0x7c00100,0x250400,0x70000a03,0x4000000,0x200000,0x70000c00,0,0x218820,0x70000f0a,0x7c00100,0x230400,0x70001004,0x7c00100,0x230400,0x70001524,0x2802100,
--0x962460,0x70001524,0x7c00100,0x230400,0x70001615,0x2802100,0x962460,0x7000171a,0x2802100,0x962460,0x70001821,0x6800000,0x1329800,0x70002320,0x7c00100,0x230400,
--0x70002a00,0x4000000,0x1500000,0x70002a00,0x4000000,0x1600000,0x70003000,0x24000000,0x200000,0x70003800,0x24000000,0xe00000,0x70005201,0x2802400,0x962460,0x7000581e,
--0x7c00100,0x230400,0x70006108,0x7c00100,0x220400,0x70006108,0x7c00100,0x250400,0x70006f30,0x7c00100,0x230400,0x70007300,0x24000000,0x200000,0x70007f0e,0x4000000,
--0x200000,0x70008301,0x2802100,0x962460,0x70008301,0x2802400,0x962460,0x70008e00,0x24000000,0x200000,0x70008e00,0x24000000,0x400000,0x70008e00,0x24000002,0x400000,
--0x70008e00,0x24000008,0x1410000,0x70008e00,0x24000010,0x400000,0x70008e00,0x2c000010,0x448000,0x70009519,0x7c00100,0x220400,0x70009519,0x7c00100,0x230400,0x70009519,
--0x7c00100,0x250400,0x70009865,0x7c00100,0x230400,0x70009965,0x4000010,0x400000,0x70009965,0x7c00100,0x230400,0x7000a008,0x7c00100,0x220400,0x7000a008,0x7c00100,
--0x250400,0x7000a008,0x7c00500,0x22040f,0x7000a50e,0x4000000,0x200000,0x7000b61c,0x2802400,0x1862460,0x7000b61c,0x6800400,0x1862400,0x7000b61c,0x7c00100,0x1830000,
--0x7000c300,0x4000000,0x100000,0x7000c941,0x2806000,0x962460,0x7000cc00,0x4000000,0xe00000,0x7000cd00,0x4000000,0x200000,0x7000cd00,0x4000000,0xe00000,0x7000ce00,
--0x4000000,0xe00000,0x7000cf00,0x4000000,0xe00000,0x7000d202,0x2802100,0x962460,0x7000d202,0x7c00100,0x230400,0x7000d997,0x7c00100,0x230400,0x7000d997,0xc000010,
--0x248000,0x7000dd86,0x2802400,0x962460,0x7000dd86,0x7c00100,0x230400,0x7000dd86,0xc000010,0x448000,0x7000de9f,0x4000000,0x200000,0x7000de9f,0x7c00100,0x230400,
--0x7000e001,0x2000,0x962460,0x7000e001,0x2802400,0x962460,0x7000e187,0x2802000,0x962460,0x7000e187,0x2802100,0x962460,0x7000e187,0x4000000,0x200000,0x7000e187,
--0x7c00100,0x230400,0x7000e187,0xc000010,0x448000,0x7000e288,0x7c00100,0x230400,0x7000e300,0x4000000,0x200000,0x7000e489,0x2802100,0x962460,0x7000e489,0x2802400,
--0x962460,0x7000e489,0x6800100,0x962540,0x7000e489,0x6800100,0x962541,0x7000e489,0x6804400,0x962540,0x7000e489,0x7c00100,0x230400,0x7000e489,0x7c00900,0x230400,
--0x7000e59d,0x2802100,0x962460,0x7000e59d,0x2802400,0x962460,0x7000e59d,0x4000000,0x200000,0x7000e59d,0x4000010,0x200000,0x7000e59d,0x6800100,0x962540,0x7000e59d,
--0x6804400,0x962540,0x7000e59d,0x7c00100,0x230400,0x7000e59d,0xc000010,0x448000,0x7000e691,0x2802100,0x962460,0x7000e691,0x2802400,0x962460,0x7000e691,0x2806400,
--0x962460,0x7000e691,0x6800000,0x1329800,0x7000e691,0x6800100,0x962540,0x7000e691,0x7c00100,0x230400,0x7000e700,0x4000400,0x200000,0x7000e70e,0x7c00100,0x220400,
--0x7000e719,0x7c00100,0x220400,0x7000e719,0x7c00500,0x22040f,0x7000e853,0x7c00100,0x230400,0x7000e9a0,0x2802400,0x962460,0x7000e9a0,0x4000000,0x200000,0x7000e9a0,
--0x4000000,0x500000,0x7000e9a0,0x7c00100,0x230400,0x7000ea79,0x2802400,0x962460,0x7000ea79,0x4000000,0x200000,0x7000ea79,0x4000000,0xf00000,0x7000ea79,0x4000010,
--0x400000,0x7000ea79,0x7c00100,0x230400,0x7000eb8c,0x2802400,0x962460,0x7000eb8c,0x4000000,0x200000,0x7000eb8c,0x7c00100,0x230400,0x7000eca3,0x2802100,0x962460,
--0x7000eca3,0x2806400,0x962460,0x7000eca3,0x4000000,0x200000,0x7000eca3,0x6800000,0x1329800,0x7000eca3,0x6800100,0x962540,0x7000eca3,0x7c00100,0x230400,0x7000eca3,
--0xc000010,0x448000,0x7000ed95,0x6800000,0x1329800,0x7000ed95,0x7c00100,0x230400,0x7000ed95,0xc000010,0x448000,0x7000ee1c,0x2802400,0x1862460,0x7000ee1c,0x6800000,
--0x1329800,0x7000ee1c,0x7c00100,0x1830000,0x7000ee1c,0x7c00900,0x1830000,0x7000ef8f,0x4000000,0x200000,0x7000ef8f,0x7c00100,0x230400,0x7000f08e,0x4000000,0x200000,
--0x7000f08e,0x7c00100,0x230400,0x7000f159,0x2802100,0x962460,0x7000f159,0x7c00100,0x230400,0x7000f200,0x4000000,0x200000,0x7000f200,0x4000000,0x1200000,0x7000f200,
--0x4000000,0x1710000,0x7000f34b,0x2802100,0x962460,0x7000f34b,0x4000000,0x200000,0x7000f34b,0x4000010,0x400000,0x7000f34b,0x6800000,0x1329800,0x7000f34b,0x7c00100,
--0x230400,0x7000f34b,0x7c00900,0x230400,0x7000f34b,0xc000010,0x448000,0x7000f490,0x4000000,0x200000,0x7000f490,0x7c00100,0x230400,0x7000f5a5,0x7c00100,0x230400,
--0x7000f67b,0x4000000,0x200000,0x7000f67b,0x4000010,0x200000,0x7000f67b,0x7c00100,0x230400,0x7000f8a6,0x2802100,0x962460,0x7000f8a6,0x2802400,0x962460,0x7000f8a6,
--0x2806400,0x962460,0x7000f8a6,0x4000000,0x500000,0x7000f8a6,0x4000010,0xb00000,0x7000f8a6,0x4000800,0x200000,0x7000f8a6,0x6800100,0x962540,0x7000f8a6,0x6800100,
--0x962541,0x7000f8a6,0x7c00100,0x230400,0x7000f8a6,0xc000010,0x448000,0x7000f921,0x4000000,0x200000,0x7000fa00,0x4000000,0x200000,0x7000fb9e,0x2802100,0x962460,
--0x7000fb9e,0x2802400,0x962460,0x7000fb9e,0x2806400,0x962460,0x7000fb9e,0x4000000,0x200000,0x7000fb9e,0x6800000,0x1329800,0x7000fb9e,0x6800100,0x962540,0x7000fb9e,
--0x6800100,0x962541,0x7000fb9e,0x7c00100,0x230400,0x7000fc92,0x4000000,0x200000,0x7000fc92,0x6800000,0x1329800,0x7000fc92,0x7c00100,0x220400,0x7000fc92,0x7c00100,
--0x230400,0x7000fc92,0x7c00100,0x250400,0x7040dfa8,0x4000000,0x200000,0x7040f7aa,0x80000,0x918820,0x7080af76,0x2802400,0x962460,0x7080dfa8,0x2802400,0x962460,
--0x8000120f,0x7c00100,0x230400,0x80001524,0x7c00100,0x230400,0x8000171a,0x7c00100,0x230400,0x80002006,0x7c00100,0x220400,0x80002006,0x7c00100,0x250400,0x80002a00,
--0x4000000,0x1500000,0x80002d00,0x4000000,0x200000,0x80005208,0x2802400,0x962460,0x80005c00,0x4000000,0x200000,0x80007300,0x24000000,0x200000,0x80009519,0x7c00100,
--0x220400,0x80009519,0x7c00100,0x230400,0x80009519,0x7c00100,0x250400,0x80009865,0x7c00100,0x230400,0x8000a008,0x2802100,0x962460,0x8000b30a,0x4000000,0x500000,
--0x8000b30a,0x7c00100,0x230400,0x8000cd00,0x4000000,0x200000,0x8000cd00,0x4000000,0xe00000,0x8000ce00,0x4000000,0xe00000,0x8000cf00,0x4000000,0xe00000,0x8000d202,
--0x2802500,0x962460,0x8000d202,0x7c00100,0x230400,0x8000d68d,0x4000000,0x200000,0x8000d997,0x2802400,0x962460,0x8000d997,0x4000000,0x200000,0x8000d997,0x4000000,
--0x400000,0x8000d997,0x4000000,0x500000,0x8000d997,0x7c00100,0x230400,0x8000d997,0xc000010,0x448000,0x8000e489,0x2802100,0x962460,0x8000e489,0x7c00100,0x230400,
--0x8000e719,0x7c00100,0x220400,0x8000f8a6,0x2802100,0x962460,0x8000f8a6,0x7c00100,0x230400,0x8000f8a6,0xc000010,0x448000,0x8000fda1,0x2802100,0x1862460,0x8000fda1,
--0x2806400,0x1862460,0x8000fda1,0x4000000,0x1800000,0x8000fda1,0x6800000,0x1329800,0x8000fda1,0x6800100,0x1862540,0x8000fda1,0x7c00100,0x1830000,0x8000fda1,0xc000010,
--0x448000,0x8000fe9c,0x7c00100,0x230400,0x8000fe9c,0x7c00100,0x830400,0x8000fe9c,0x7c00100,0x1430400,0x8000ff06,0x7c00100,0x220400,0x80010165,0x7c00100,0x230400,
--0x800102a2,0x4000000,0x200000,0x800102a2,0x7c00100,0x230400,0x800103a4,0x7c00100,0x230400,0x800103a4,0xc000010,0x448000,0x8001044c,0x4000000,0x200000,0x8001044c,
--0x7c00100,0x220400,0x8001044c,0x7c00100,0x250400,0x80010500,0x4000000,0xe00000,0x80010670,0x2802000,0x962460,0x80010670,0x4000000,0x200000,0x80010670,0x4000010,
--0x400000,0x80010670,0xc000010,0x448000,0x800a4711,0x7c40300,0xe30000,0x800b0011,0x7c40300,0xe30000};
-+0x7c00100,0x1430400,0x5200c300,0x4000000,0x200003,0x52022d00,0x4000000,0x100006,0x52023700,0x24000000,0x100000,0x52023700,0x24000000,0xe00000,0x52023700,0x24000000,
-+0x10100000,0x52023700,0x24000000,0x10e00000,0x52023700,0x24000000,0x30e00000,0x52023700,0x24000000,0x90e00000,0x52023800,0x24000000,0x30100000,0x52024400,0x4000000,0x100000,
-+0x52027300,0x24000000,0x100000,0x52027300,0x24000000,0x30100000,0x5202c300,0x4000000,0x100000,0x5202c300,0x4000000,0x100002,0x5202c300,0x4000000,0x100003,0x5202c300,
-+0x4000000,0x10000d,0x5202c300,0x4000100,0x150400,0x5202c300,0x4000100,0x15040d,0x5202c300,0x4000100,0x10150400,0x520a1e12,0x7c00100,0x2130480,0x520a4400,0x4000000,
-+0xe00003,0x520a4711,0x7c40300,0xe30000,0x520a4f11,0x7c00300,0xe30001,0x520ab412,0x7c00100,0x2130480,0x520ac400,0x4000000,0xe00002,0x520ac400,0x4000000,0xe0000d,
-+0x520ac400,0x4000000,0x30e0000d,0x520ac414,0x4000000,0xe0000d,0x520ac511,0x7c40300,0xe30000,0x5240af75,0x6800400,0x962540,0x5240af75,0x7c00100,0x230400,0x5240af76,
-+0x4000400,0x200000,0x5240af76,0x6800100,0x962540,0x5240b294,0x4000000,0x200000,0x5240b294,0x4000000,0x1500000,0x5240b5a4,0x7c00900,0x230400,0x5280af75,0x2802400,
-+0x962460,0x5280af76,0x2802400,0x962460,0x5280af78,0x2802400,0x962460,0x5280af7a,0x2802400,0x962460,0x52c0b39f,0x7c00100,0x230400,0x60000c02,0x2802100,0x962460,
-+0x60000c02,0x7c00100,0x230400,0x60000f0a,0x2802100,0x962460,0x60000f0a,0x6800100,0x962540,0x60000f0a,0x7c00100,0x230400,0x6000131f,0x4000000,0x200000,0x6000171a,
-+0x7c00100,0x230400,0x60001b27,0x2802100,0x962460,0x60001b27,0x4000000,0xc00000,0x60001b27,0x7c00100,0x230400,0x60001f0b,0x2802000,0x962460,0x60002919,0x7c00100,
-+0x22040e,0x60002a00,0x4000000,0x1600000,0x60003000,0x24000000,0x10200000,0x60003000,0x24000000,0x10e00000,0x60003000,0x24000000,0x30200000,0x60003000,0x24000000,0x30e00000,
-+0x60003700,0x24000000,0x200000,0x60003700,0x24000000,0x30200000,0x60003800,0x24000000,0x1710000,0x60003800,0x24000000,0x30200000,0x60003800,0x24000000,0xb0e00000,0x60005102,
-+0x4000000,0x200000,0x60006108,0x7c00100,0x220400,0x60006108,0x7c00100,0x250400,0x60006600,0x24000020,0x200000,0x60008301,0x2802000,0x962460,0x6000903c,0x2806000,
-+0x962460,0x6000903c,0x4000000,0x400000,0x60009519,0x7c00100,0x220400,0x60009519,0x7c00100,0x250400,0x6000a008,0x7c00100,0x220400,0x6000a008,0x7c00100,0x250400,
-+0x6000c300,0x4000000,0x32703580,0x6000c654,0x2802000,0x962460,0x6000c654,0x4000010,0x200000,0x6000c654,0x7c00100,0x230400,0x6000c73f,0x2802000,0x962460,0x6000c73f,
-+0x2802100,0x962460,0x6000c73f,0x4000000,0x200000,0x6000c73f,0x6800100,0x962540,0x6000c73f,0x6804000,0x962540,0x6000c73f,0x7c00100,0x230400,0x6000c80b,0x7c00100,
-+0x230400,0x6000c941,0x2802100,0x962460,0x6000c941,0x2806000,0x962460,0x6000c941,0x4000000,0x200000,0x6000c941,0x4000010,0x200000,0x6000c941,0x6800000,0x1329800,
-+0x6000c941,0x6800100,0x962540,0x6000c941,0x7c00100,0x230400,0x6000c941,0xc000010,0x448000,0x6000ca82,0x7c00100,0x230400,0x6000cc00,0x4000000,0xe00000,0x6000cc00,
-+0x4000000,0x30e00000,0x6000cd00,0x4000000,0x30200000,0x6000cd00,0x4000000,0x30e00000,0x6000cd00,0x4000000,0xb0e00000,0x6000ce00,0x4000000,0x30e00000,0x6000ce00,0x4000000,
-+0xb0e00000,0x6000cf00,0x4000000,0x30e00000,0x6000cf00,0x4000000,0xb0e00000,0x6000d000,0x4000000,0x200000,0x6002c300,0x4000000,0x100000,0x6002c300,0x4000000,0x10000d,
-+0x6002c300,0x4000000,0x30100000,0x6002c300,0x4000100,0x150400,0x6002c300,0x4000100,0x15040d,0x6002c300,0x4000100,0x10150400,0x600a4305,0x7c00100,0xe30400,0x600ac400,
-+0x4000000,0x10e0000d,0x600ac400,0x4000000,0x30e00003,0x600ac400,0x4000000,0x30e0000d,0x600acb14,0x7c00100,0xe30000,0x600acb16,0x7c00100,0xe30c00,0x600ad111,0x7c40300,
-+0xe30000,0x61000a03,0x4000000,0x1600000,0x61000c02,0,0x218820,0x6100120f,0x4000000,0x200000,0x61001a18,0x7c00100,0x1830000,0x61001d0c,0x7c00100,0x230400,
-+0x61001d0c,0x7c00100,0x250400,0x61006600,0x24000020,0x200000,0x61008407,0x7c00100,0x220400,0x61008407,0x7c00100,0x250400,0x6100870c,0x7c00100,0x220400,0x61008e00,
-+0x24000000,0x200000,0x61008e00,0x24000000,0x400000,0x61008e00,0x24000002,0x300000,0x6100903c,0x7c00100,0x230400,0x61009519,0x7c00100,0x220400,0x61009519,0x7c00100,
-+0x250400,0x61009519,0x7c00500,0x22040f,0x61009b71,0x2802100,0x962460,0x61009b71,0x2806400,0x962460,0x61009b71,0x7c00100,0x230400,0x6100a008,0x2802100,0x962460,
-+0x6100c300,0x4000000,0x20000f,0x6100cd00,0x4000000,0x200000,0x6100ce00,0x4000000,0x30e00000,0x6100d202,0x2802400,0x962460,0x6100d202,0x2802500,0x962460,0x6100d202,
-+0x7c00100,0x230400,0x6100d302,0x4000020,0x200000,0x6100d302,0x7c00120,0x230405,0x6100d476,0x2802100,0x962460,0x6100d476,0x2802100,0x962461,0x6100d476,0x2806400,
-+0x962460,0x6100d476,0x4000000,0x400000,0x6100d476,0x6800000,0x1329800,0x6100d476,0x6800100,0x962540,0x6100d476,0x7c00100,0x230400,0x6100d476,0xc000010,0x448000,
-+0x6100d573,0x2802100,0x962460,0x6100d573,0x2806400,0x962460,0x6100d573,0x6800100,0x962540,0x6100d573,0x7c00100,0x230400,0x6100d573,0x7c00900,0x230400,0x6100d573,
-+0xc000010,0x448000,0x6100d68d,0x7c00100,0x230400,0x6100d756,0x7c00100,0x230400,0x6100d85c,0x2802400,0x962460,0x6100d85c,0x6800100,0x962540,0x6100d85c,0x7c00100,
-+0x230400,0x6100d85c,0x7c00500,0x230400,0x6100d997,0x2802100,0x962460,0x6100d997,0x4000000,0x200000,0x6100d997,0x4000000,0x400000,0x6100d997,0x6800000,0x1329800,
-+0x6100d997,0x6800100,0x962540,0x6100d997,0x6804400,0x962540,0x6100d997,0x7c00100,0x230400,0x6100d997,0xc000010,0x448000,0x6100da98,0x6800000,0x1329800,0x6100da98,
-+0x7c00100,0x230400,0x6100db71,0x4000000,0x200000,0x6100dc99,0x2802100,0x962460,0x6100dc99,0x2802400,0x962460,0x6100dc99,0x6800000,0x1329800,0x6100dc99,0x6800100,
-+0x962540,0x6100dc99,0x6804400,0x962540,0x6100dc99,0x7c00100,0x230400,0x610a4711,0x7c40300,0xe30000,0x610a4f11,0x7c00300,0xe30001,0x6140af75,0x7c00100,0x230400,
-+0x6140af76,0x6800100,0x962540,0x6140af7f,0x7c00100,0x230400,0x6180af76,0x2802400,0x962460,0x62002a00,0x4000000,0x1600000,0x63000c00,0x80000,0x918820,0x63002800,
-+0x80000,0x918820,0x7000080e,0x7c00100,0x250400,0x70000a03,0x4000000,0x200000,0x70000c00,0,0x218820,0x70000f0a,0x7c00100,0x230400,0x70001004,0x7c00100,
-+0x230400,0x70001524,0x2802100,0x962460,0x70001524,0x7c00100,0x230400,0x70001615,0x2802100,0x962460,0x7000171a,0x2802100,0x962460,0x70001821,0x6800000,0x1329800,
-+0x70002320,0x7c00100,0x230400,0x70002a00,0x4000000,0x1500000,0x70002a00,0x4000000,0x1600000,0x70003000,0x24000000,0x200000,0x70003000,0x24000000,0x10200000,0x70003800,
-+0x24000000,0xe00000,0x70005201,0x2802400,0x962460,0x7000581e,0x7c00100,0x230400,0x70006108,0x7c00100,0x220400,0x70006108,0x7c00100,0x250400,0x70006f30,0x7c00100,
-+0x230400,0x70007300,0x24000000,0x200000,0x70007f0e,0x4000000,0x200000,0x70008301,0x2802100,0x962460,0x70008301,0x2802400,0x962460,0x70008e00,0x24000000,0x200000,
-+0x70008e00,0x24000000,0x400000,0x70008e00,0x24000002,0x400000,0x70008e00,0x24000008,0x1410000,0x70008e00,0x24000010,0x400000,0x70008e00,0x2c000010,0x448000,0x70009519,
-+0x7c00100,0x220400,0x70009519,0x7c00100,0x230400,0x70009519,0x7c00100,0x250400,0x70009865,0x7c00100,0x230400,0x70009965,0x4000010,0x400000,0x70009965,0x7c00100,
-+0x230400,0x7000a008,0x7c00100,0x220400,0x7000a008,0x7c00100,0x250400,0x7000a008,0x7c00500,0x22040f,0x7000a50e,0x4000000,0x200000,0x7000b61c,0x2802400,0x1862460,
-+0x7000b61c,0x6800400,0x1862400,0x7000b61c,0x7c00100,0x1830000,0x7000c300,0x4000000,0x100000,0x7000c941,0x2806000,0x962460,0x7000cc00,0x4000000,0xe00000,0x7000cd00,
-+0x4000000,0x200000,0x7000cd00,0x4000000,0xe00000,0x7000cd00,0x4000000,0x10200000,0x7000cd00,0x4000000,0x10e00000,0x7000cd00,0x4000000,0x30e00000,0x7000cd00,0x4000000,
-+0x90e00000,0x7000cd00,0x4000000,0xb0e00000,0x7000ce00,0x4000000,0x30e00000,0x7000cf00,0x4000000,0xe00000,0x7000cf00,0x4000000,0x10e00000,0x7000cf00,0x4000000,0x30e00000,
-+0x7000d202,0x2802100,0x962460,0x7000d202,0x7c00100,0x230400,0x7000d997,0x7c00100,0x230400,0x7000d997,0xc000010,0x248000,0x7000dd86,0x2802400,0x962460,0x7000dd86,
-+0x7c00100,0x230400,0x7000dd86,0xc000010,0x448000,0x7000de9f,0x4000000,0x200000,0x7000de9f,0x7c00100,0x230400,0x7000e001,0x2000,0x962460,0x7000e001,0x2802400,
-+0x962460,0x7000e187,0x2802000,0x962460,0x7000e187,0x2802100,0x962460,0x7000e187,0x4000000,0x200000,0x7000e187,0x7c00100,0x230400,0x7000e187,0xc000010,0x448000,
-+0x7000e288,0x7c00100,0x230400,0x7000e300,0x4000000,0x200000,0x7000e489,0x2802100,0x962460,0x7000e489,0x2802400,0x962460,0x7000e489,0x6800100,0x962540,0x7000e489,
-+0x6800100,0x962541,0x7000e489,0x6804400,0x962540,0x7000e489,0x7c00100,0x230400,0x7000e489,0x7c00900,0x230400,0x7000e59d,0x2802100,0x962460,0x7000e59d,0x2802400,
-+0x962460,0x7000e59d,0x4000000,0x200000,0x7000e59d,0x4000010,0x200000,0x7000e59d,0x6800100,0x962540,0x7000e59d,0x6804400,0x962540,0x7000e59d,0x7c00100,0x230400,
-+0x7000e59d,0xc000010,0x448000,0x7000e691,0x2802100,0x962460,0x7000e691,0x2802400,0x962460,0x7000e691,0x2806400,0x962460,0x7000e691,0x6800000,0x1329800,0x7000e691,
-+0x6800100,0x962540,0x7000e691,0x7c00100,0x230400,0x7000e700,0x4000400,0x200000,0x7000e70e,0x7c00100,0x220400,0x7000e719,0x7c00100,0x220400,0x7000e719,0x7c00500,
-+0x22040f,0x7000e853,0x7c00100,0x230400,0x7000e9a0,0x2802400,0x962460,0x7000e9a0,0x4000000,0x200000,0x7000e9a0,0x4000000,0x500000,0x7000e9a0,0x7c00100,0x230400,
-+0x7000ea79,0x2802400,0x962460,0x7000ea79,0x4000000,0x200000,0x7000ea79,0x4000000,0xf00000,0x7000ea79,0x4000010,0x400000,0x7000ea79,0x7c00100,0x230400,0x7000eb8c,
-+0x2802400,0x962460,0x7000eb8c,0x4000000,0x200000,0x7000eb8c,0x7c00100,0x230400,0x7000eca3,0x2802100,0x962460,0x7000eca3,0x2806400,0x962460,0x7000eca3,0x4000000,
-+0x200000,0x7000eca3,0x6800000,0x1329800,0x7000eca3,0x6800100,0x962540,0x7000eca3,0x7c00100,0x230400,0x7000eca3,0xc000010,0x448000,0x7000ed95,0x6800000,0x1329800,
-+0x7000ed95,0x7c00100,0x230400,0x7000ed95,0xc000010,0x448000,0x7000ee1c,0x2802400,0x1862460,0x7000ee1c,0x6800000,0x1329800,0x7000ee1c,0x7c00100,0x1830000,0x7000ee1c,
-+0x7c00900,0x1830000,0x7000ef8f,0x4000000,0x200000,0x7000ef8f,0x7c00100,0x230400,0x7000f08e,0x4000000,0x200000,0x7000f08e,0x7c00100,0x230400,0x7000f159,0x2802100,
-+0x962460,0x7000f159,0x7c00100,0x230400,0x7000f200,0x4000000,0x200000,0x7000f200,0x4000000,0x1200000,0x7000f200,0x4000000,0x1710000,0x7000f34b,0x2802100,0x962460,
-+0x7000f34b,0x4000000,0x200000,0x7000f34b,0x4000010,0x400000,0x7000f34b,0x6800000,0x1329800,0x7000f34b,0x7c00100,0x230400,0x7000f34b,0x7c00900,0x230400,0x7000f34b,
-+0xc000010,0x448000,0x7000f490,0x4000000,0x200000,0x7000f490,0x7c00100,0x230400,0x7000f5a5,0x7c00100,0x230400,0x7000f67b,0x4000000,0x200000,0x7000f67b,0x4000010,
-+0x200000,0x7000f67b,0x7c00100,0x230400,0x7000f8a6,0x2802100,0x962460,0x7000f8a6,0x2802400,0x962460,0x7000f8a6,0x2806400,0x962460,0x7000f8a6,0x4000000,0x500000,
-+0x7000f8a6,0x4000010,0xb00000,0x7000f8a6,0x4000800,0x200000,0x7000f8a6,0x6800100,0x962540,0x7000f8a6,0x6800100,0x962541,0x7000f8a6,0x7c00100,0x230400,0x7000f8a6,
-+0xc000010,0x448000,0x7000f921,0x4000000,0x200000,0x7000fa00,0x4000000,0x200000,0x7000fb9e,0x2802100,0x962460,0x7000fb9e,0x2802400,0x962460,0x7000fb9e,0x2806400,
-+0x962460,0x7000fb9e,0x4000000,0x200000,0x7000fb9e,0x6800000,0x1329800,0x7000fb9e,0x6800100,0x962540,0x7000fb9e,0x6800100,0x962541,0x7000fb9e,0x7c00100,0x230400,
-+0x7000fc92,0x4000000,0x200000,0x7000fc92,0x6800000,0x1329800,0x7000fc92,0x7c00100,0x220400,0x7000fc92,0x7c00100,0x230400,0x7000fc92,0x7c00100,0x250400,0x7040dfa8,
-+0x4000000,0x200000,0x7040f7aa,0x80000,0x918820,0x7080af76,0x2802400,0x962460,0x7080dfa8,0x2802400,0x962460,0x8000120f,0x7c00100,0x230400,0x80001524,0x7c00100,
-+0x230400,0x8000171a,0x7c00100,0x230400,0x80002006,0x7c00100,0x220400,0x80002006,0x7c00100,0x250400,0x80002a00,0x4000000,0x1500000,0x80002d00,0x4000000,0x200000,
-+0x80005208,0x2802400,0x962460,0x80005c00,0x4000000,0x200000,0x80007300,0x24000000,0x200000,0x80009519,0x7c00100,0x220400,0x80009519,0x7c00100,0x230400,0x80009519,
-+0x7c00100,0x250400,0x80009865,0x7c00100,0x230400,0x8000a008,0x2802100,0x962460,0x8000b30a,0x4000000,0x500000,0x8000b30a,0x7c00100,0x230400,0x8000cd00,0x4000000,
-+0xe00000,0x8000cd00,0x4000000,0x30e00000,0x8000cd00,0x4000000,0x70200000,0x8000ce00,0x4000000,0x30e00000,0x8000cf00,0x4000000,0x30e00000,0x8000d202,0x2802500,0x962460,
-+0x8000d202,0x7c00100,0x230400,0x8000d68d,0x4000000,0x200000,0x8000d997,0x2802400,0x962460,0x8000d997,0x4000000,0x200000,0x8000d997,0x4000000,0x400000,0x8000d997,
-+0x4000000,0x500000,0x8000d997,0x7c00100,0x230400,0x8000d997,0xc000010,0x448000,0x8000e489,0x2802100,0x962460,0x8000e489,0x7c00100,0x230400,0x8000e719,0x7c00100,
-+0x220400,0x8000f8a6,0x2802100,0x962460,0x8000f8a6,0x7c00100,0x230400,0x8000f8a6,0xc000010,0x448000,0x8000fda1,0x2802100,0x1862460,0x8000fda1,0x2806400,0x1862460,
-+0x8000fda1,0x4000000,0x1800000,0x8000fda1,0x6800000,0x1329800,0x8000fda1,0x6800100,0x1862540,0x8000fda1,0x7c00100,0x1830000,0x8000fda1,0xc000010,0x448000,0x8000fe9c,
-+0x7c00100,0x230400,0x8000fe9c,0x7c00100,0x830400,0x8000fe9c,0x7c00100,0x1430400,0x8000ff06,0x7c00100,0x220400,0x80010165,0x7c00100,0x230400,0x800102a2,0x4000000,
-+0x200000,0x800102a2,0x7c00100,0x230400,0x800103a4,0x7c00100,0x230400,0x800103a4,0xc000010,0x448000,0x8001044c,0x4000000,0x200000,0x8001044c,0x7c00100,0x220400,
-+0x8001044c,0x7c00100,0x250400,0x80010500,0x4000000,0x30e00000,0x80010500,0x4000000,0xb0e00000,0x80010670,0x2802000,0x962460,0x80010670,0x4000000,0x200000,0x80010670,
-+0x4000010,0x400000,0x80010670,0xc000010,0x448000,0x800a4711,0x7c40300,0xe30000,0x800b0011,0x7c40300,0xe30000};
- 
--static const int32_t countPropsVectors=5754;
-+static const int32_t countPropsVectors=5931;
- static const int32_t propsVectorsColumns=3;
- static const uint16_t scriptExtensions[172]={
- 0x800e,0x8019,8,0x8059,8,2,8,0x8019,8,0x8038,8,8,3,0x800c,2,0x22,
-@@ -3370,5 +3392,5 @@ static const uint16_t scriptExtensions[172]={
- 0x14,0x8016,5,0x8011,0xa,0xf,0x10,0x78,0x91,0x99,0x9e,0xa0,0x80a3,0xa,0x8023,0xa,
- 0x9d,0x19,0x1c,0x804f,0x37,0x804e,0x2f,0x8031,2,0x8007,0x8087,0};
- 
--static const int32_t indexes[UPROPS_INDEX_COUNT]={0x26ca,0x26ca,0x26ca,0x26ca,0x5c12,3,0x728c,0x72e2,0x72e2,0x72e2,0xb06a6,0x2774191,0,0,0,0};
-+static const int32_t indexes[UPROPS_INDEX_COUNT]={0x26ca,0x26ca,0x26ca,0x26ca,0x5c6c,3,0x7397,0x73ed,0x73ed,0x73ed,0xb06a6,0x2774191,0,0,0,0};
- 
-diff --git a/source/common/unicode/uchar.h b/source/common/unicode/uchar.h
-index a0c5c39..1836f92 100644
---- a/source/common/unicode/uchar.h
-+++ b/source/common/unicode/uchar.h
-@@ -1,6 +1,6 @@
- /*
- **********************************************************************
--*   Copyright (C) 1997-2015, International Business Machines
-+*   Copyright (C) 1997-2016, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- **********************************************************************
- *
-@@ -397,8 +397,36 @@ typedef enum UProperty {
-     UCHAR_CHANGES_WHEN_CASEMAPPED=55,
-     /** Binary property Changes_When_NFKC_Casefolded. @stable ICU 4.4 */
-     UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
-+    /**
-+     * Binary property Emoji.
-+     * See http://www.unicode.org/reports/tr51/#Emoji_Properties
-+     *
-+     * @draft ICU 57
-+     */
-+    UCHAR_EMOJI=57,
-+    /**
-+     * Binary property Emoji_Presentation.
-+     * See http://www.unicode.org/reports/tr51/#Emoji_Properties
-+     *
-+     * @draft ICU 57
-+     */
-+    UCHAR_EMOJI_PRESENTATION=58,
-+    /**
-+     * Binary property Emoji_Modifier.
-+     * See http://www.unicode.org/reports/tr51/#Emoji_Properties
-+     *
-+     * @draft ICU 57
-+     */
-+    UCHAR_EMOJI_MODIFIER=59,
-+    /**
-+     * Binary property Emoji_Modifier_Base.
-+     * See http://www.unicode.org/reports/tr51/#Emoji_Properties
-+     *
-+     * @draft ICU 57
-+     */
-+    UCHAR_EMOJI_MODIFIER_BASE=60,
-     /** One more than the last constant for binary Unicode properties. @stable ICU 2.1 */
--    UCHAR_BINARY_LIMIT=57,
-+    UCHAR_BINARY_LIMIT=61,
- 
-     /** Enumerated property Bidi_Class.
-         Same as u_charDirection, returns UCharDirection values. @stable ICU 2.2 */
-diff --git a/source/common/uprops.cpp b/source/common/uprops.cpp
-index f254af6..3bf4431 100644
---- a/source/common/uprops.cpp
-+++ b/source/common/uprops.cpp
-@@ -1,7 +1,7 @@
- /*
- *******************************************************************************
- *
--*   Copyright (C) 2002-2014, International Business Machines
-+*   Copyright (C) 2002-2016, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- *
- *******************************************************************************
-@@ -270,7 +270,11 @@ static const BinaryProperty binProps[UCHAR_BINARY_LIMIT]={
-     { UPROPS_SRC_CASE,  0, caseBinaryPropertyContains },  // UCHAR_CHANGES_WHEN_TITLECASED
-     { UPROPS_SRC_CASE_AND_NORM,  0, changesWhenCasefolded },
-     { UPROPS_SRC_CASE,  0, caseBinaryPropertyContains },  // UCHAR_CHANGES_WHEN_CASEMAPPED
--    { UPROPS_SRC_NFKC_CF, 0, changesWhenNFKC_Casefolded }
-+    { UPROPS_SRC_NFKC_CF, 0, changesWhenNFKC_Casefolded },
-+    { 2,                U_MASK(UPROPS_2_EMOJI), defaultContains },
-+    { 2,                U_MASK(UPROPS_2_EMOJI_PRESENTATION), defaultContains },
-+    { 2,                U_MASK(UPROPS_2_EMOJI_MODIFIER), defaultContains },
-+    { 2,                U_MASK(UPROPS_2_EMOJI_MODIFIER_BASE), defaultContains },
- };
- 
- U_CAPI UBool U_EXPORT2
-diff --git a/source/common/uprops.h b/source/common/uprops.h
-index 56ffb85..b9b787f 100644
---- a/source/common/uprops.h
-+++ b/source/common/uprops.h
-@@ -1,7 +1,7 @@
- /*
- *******************************************************************************
- *
--*   Copyright (C) 2002-2012, International Business Machines
-+*   Copyright (C) 2002-2016, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- *
- *******************************************************************************
-@@ -187,13 +187,21 @@ enum {
- /*
-  * Properties in vector word 2
-  * Bits
-- * 31..26   reserved
-+ * 31..28   http://www.unicode.org/reports/tr51/#Emoji_Properties
-+ * 27..26   reserved
-  * 25..20   Line Break
-  * 19..15   Sentence Break
-  * 14..10   Word Break
-  *  9.. 5   Grapheme Cluster Break
-  *  4.. 0   Decomposition Type
-  */
-+enum {
-+    UPROPS_2_EMOJI=28,
-+    UPROPS_2_EMOJI_PRESENTATION,
-+    UPROPS_2_EMOJI_MODIFIER,
-+    UPROPS_2_EMOJI_MODIFIER_BASE,
-+};
-+
- #define UPROPS_LB_MASK          0x03f00000
- #define UPROPS_LB_SHIFT         20
- 
-diff --git a/source/data/in/pnames.icu b/source/data/in/pnames.icu
-index 40bbee7..3cd3b5b 100644
-Binary files a/source/data/in/pnames.icu and b/source/data/in/pnames.icu differ
-diff --git a/source/data/in/uprops.icu b/source/data/in/uprops.icu
-index 6e13b3d..94b69cc 100644
-Binary files a/source/data/in/uprops.icu and b/source/data/in/uprops.icu differ
-diff --git a/source/data/unidata/changes.txt b/source/data/unidata/changes.txt
-index 5febb07..2060212 100644
---- a/source/data/unidata/changes.txt
-+++ b/source/data/unidata/changes.txt
-@@ -1,4 +1,4 @@
--* Copyright (C) 2004-2015, International Business Machines
-+* Copyright (C) 2004-2016, International Business Machines
- * Corporation and others.  All Rights Reserved.
- *
- *   file name:  changes.txt
-@@ -45,6 +45,35 @@ Khitan scripts will be encoded later.
- 
- ---------------------------------------------------------------------------- ***
- 
-+Emoji properties added in ICU 57: http://bugs.icu-project.org/trac/ticket/11802
-+
-+Edit preparseucd.py to add & parse new properties.
-+They share the UCD property namespace but are not listed in PropertyAliases.txt.
-+
-+Add emoji-data.txt to the input files, from http://www.unicode.org/Public/emoji/
-+Initial data from emoji/2.0/
-+
-+ICU_ROOT=~/svn.icu/trunk
-+ICU_SRC_DIR=$ICU_ROOT/src
-+ICUDT=icudt56b
-+export LD_LIBRARY_PATH=$ICU_ROOT/dbg/lib
-+SRC_DATA_IN=$ICU_SRC_DIR/source/data/in
-+UNIDATA=$ICU_SRC_DIR/source/data/unidata
-+
-+Add binary-property constants to uchar.h enum UProperty & UProperty.java.
-+
-+~/svn.icutools/trunk/src/unicode$ py/preparseucd.py ~/unidata/uni80/20151217 $ICU_SRC_DIR ~/svn.icutools/trunk/src
-+(Needs to be run after uchar.h additions, so that the new properties can be picked up by genprops.)
-+
-+Data structure: uprops.h/.cpp, corepropsbuilder.cpp, UCharacterProperty.java
-+
-+make install, then icutools cmake & make, then
-+~/svn.icutools/trunk/dbg/unicode/c$ make && genprops/genprops $ICU_SRC_DIR
-+
-+Generate Java data as usual, only update pnames.icu & uprops.icu.
-+
-+---------------------------------------------------------------------------- ***
-+
- Unicode 8.0 update for ICU 56
- 
- * Command-line environment setup
-diff --git a/source/data/unidata/norm2/nfc.txt b/source/data/unidata/norm2/nfc.txt
-index bd8c3bd..8b481f8 100644
---- a/source/data/unidata/norm2/nfc.txt
-+++ b/source/data/unidata/norm2/nfc.txt
-@@ -1,4 +1,4 @@
--# Copyright (C) 1999-2015, International Business Machines
-+# Copyright (C) 1999-2016, International Business Machines
- # Corporation and others.  All Rights Reserved.
- #
- # file name: nfc.txt
-diff --git a/source/data/unidata/norm2/nfkc.txt b/source/data/unidata/norm2/nfkc.txt
-index adafd7c..26d6bf9 100644
---- a/source/data/unidata/norm2/nfkc.txt
-+++ b/source/data/unidata/norm2/nfkc.txt
-@@ -1,4 +1,4 @@
--# Copyright (C) 1999-2015, International Business Machines
-+# Copyright (C) 1999-2016, International Business Machines
- # Corporation and others.  All Rights Reserved.
- #
- # file name: nfkc.txt
-diff --git a/source/data/unidata/norm2/nfkc_cf.txt b/source/data/unidata/norm2/nfkc_cf.txt
-index f814e4f..cfc28d2 100644
---- a/source/data/unidata/norm2/nfkc_cf.txt
-+++ b/source/data/unidata/norm2/nfkc_cf.txt
-@@ -1,5 +1,5 @@
- # Unicode Character Database
--# Copyright (c) 1991-2015 Unicode, Inc.
-+# Copyright (c) 1991-2016 Unicode, Inc.
- # For terms of use, see http://www.unicode.org/terms_of_use.html
- # For documentation, see http://www.unicode.org/reports/tr44/
- #
-diff --git a/source/data/unidata/ppucd.txt b/source/data/unidata/ppucd.txt
-index c8a7b2a..553f4cf 100644
---- a/source/data/unidata/ppucd.txt
-+++ b/source/data/unidata/ppucd.txt
-@@ -1,5 +1,5 @@
- # Preparsed UCD generated by ICU preparseucd.py
--# Copyright (c) 1991-2015 Unicode, Inc.
-+# Copyright (c) 1991-2016 Unicode, Inc.
- # For terms of use, see http://www.unicode.org/terms_of_use.html
- ucd;8.0.0
- 
-@@ -34,6 +34,10 @@ property;Binary;Dia;Diacritic
- property;String;dm;Decomposition_Mapping
- property;Enumerated;dt;Decomposition_Type
- property;Enumerated;ea;East_Asian_Width
-+property;Binary;Emoji;Emoji
-+property;Binary;Emoji_Modifier;Emoji_Modifier
-+property;Binary;Emoji_Modifier_Base;Emoji_Modifier_Base
-+property;Binary;Emoji_Presentation;Emoji_Presentation
- property;Binary;Ext;Extender
- property;String;FC_NFKC;FC_NFKC_Closure
- property;Enumerated;gc;General_Category
-@@ -1143,30 +1147,30 @@ cp;001F;bc=S;ea=N;GCB=CN;-Gr_Base;lb=CM;Name_Alias=control=INFORMATION SEPARATOR
- cp;0020;bc=WS;gc=Zs;lb=SP;na=SPACE;Name_Alias=abbreviation=SP;Pat_WS;SB=SP;WSpace
- cp;0021;bc=ON;gc=Po;lb=EX;na=EXCLAMATION MARK;Pat_Syn;SB=ST;STerm;Term
- cp;0022;bc=ON;gc=Po;lb=QU;na=QUOTATION MARK;Pat_Syn;QMark;SB=CL;WB=DQ
--cp;0023;bc=ET;gc=Po;na=NUMBER SIGN;Pat_Syn
-+cp;0023;bc=ET;Emoji;gc=Po;na=NUMBER SIGN;Pat_Syn
- cp;0024;bc=ET;gc=Sc;lb=PR;na=DOLLAR SIGN;Pat_Syn
- cp;0025;bc=ET;gc=Po;lb=PO;na=PERCENT SIGN;Pat_Syn
- cp;0026;bc=ON;gc=Po;na=AMPERSAND;Pat_Syn
- cp;0027;bc=ON;CI;gc=Po;lb=QU;na=APOSTROPHE;Pat_Syn;QMark;SB=CL;WB=SQ
- cp;0028;bc=ON;Bidi_M;bmg=0029;bpb=0029;bpt=o;gc=Ps;lb=OP;na=LEFT PARENTHESIS;Pat_Syn;SB=CL
- cp;0029;bc=ON;Bidi_M;bmg=0028;bpb=0028;bpt=c;gc=Pe;lb=CP;na=RIGHT PARENTHESIS;Pat_Syn;SB=CL
--cp;002A;bc=ON;gc=Po;na=ASTERISK;Pat_Syn
-+cp;002A;bc=ON;Emoji;gc=Po;na=ASTERISK;Pat_Syn
- cp;002B;bc=ES;gc=Sm;lb=PR;Math;na=PLUS SIGN;Pat_Syn
- cp;002C;bc=CS;gc=Po;lb=IS;na=COMMA;Pat_Syn;SB=SC;Term;WB=MN
- cp;002D;bc=ES;Dash;gc=Pd;Hyphen;InSC=Consonant_Placeholder;lb=HY;na=HYPHEN-MINUS;Pat_Syn;SB=SC
- cp;002E;bc=CS;CI;gc=Po;lb=IS;na=FULL STOP;Pat_Syn;SB=AT;STerm;Term;WB=MB
- cp;002F;bc=CS;gc=Po;lb=SY;na=SOLIDUS;Pat_Syn
- # ASCII digits
--cp;0030;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT ZERO;nt=De;nv=0;SB=NU;WB=NU;XIDC
--cp;0031;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT ONE;nt=De;nv=1;SB=NU;WB=NU;XIDC
--cp;0032;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT TWO;nt=De;nv=2;SB=NU;WB=NU;XIDC
--cp;0033;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT THREE;nt=De;nv=3;SB=NU;WB=NU;XIDC
--cp;0034;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT FOUR;nt=De;nv=4;SB=NU;WB=NU;XIDC
--cp;0035;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT FIVE;nt=De;nv=5;SB=NU;WB=NU;XIDC
--cp;0036;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT SIX;nt=De;nv=6;SB=NU;WB=NU;XIDC
--cp;0037;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT SEVEN;nt=De;nv=7;SB=NU;WB=NU;XIDC
--cp;0038;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT EIGHT;nt=De;nv=8;SB=NU;WB=NU;XIDC
--cp;0039;AHex;bc=EN;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT NINE;nt=De;nv=9;SB=NU;WB=NU;XIDC
-+cp;0030;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT ZERO;nt=De;nv=0;SB=NU;WB=NU;XIDC
-+cp;0031;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT ONE;nt=De;nv=1;SB=NU;WB=NU;XIDC
-+cp;0032;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT TWO;nt=De;nv=2;SB=NU;WB=NU;XIDC
-+cp;0033;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT THREE;nt=De;nv=3;SB=NU;WB=NU;XIDC
-+cp;0034;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT FOUR;nt=De;nv=4;SB=NU;WB=NU;XIDC
-+cp;0035;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT FIVE;nt=De;nv=5;SB=NU;WB=NU;XIDC
-+cp;0036;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT SIX;nt=De;nv=6;SB=NU;WB=NU;XIDC
-+cp;0037;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT SEVEN;nt=De;nv=7;SB=NU;WB=NU;XIDC
-+cp;0038;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT EIGHT;nt=De;nv=8;SB=NU;WB=NU;XIDC
-+cp;0039;AHex;bc=EN;Emoji;gc=Nd;Hex;IDC;InSC=Number;lb=NU;na=DIGIT NINE;nt=De;nv=9;SB=NU;WB=NU;XIDC
- # ASCII punctuation and symbols
- cp;003A;bc=CS;CI;gc=Po;lb=IS;na=COLON;Pat_Syn;SB=SC;Term;WB=ML
- cp;003B;bc=ON;gc=Po;lb=IS;na=SEMICOLON;Pat_Syn;Term;WB=MN
-@@ -1289,12 +1293,12 @@ cp;00A5;-Alpha;bc=ET;-Cased;ea=Na;gc=Sc;-IDC;-IDS;lb=PR;na=YEN SIGN;NFKD_QC=Y;Pa
- cp;00A6;-Alpha;bc=ON;-Cased;ea=Na;gc=So;-IDC;-IDS;na=BROKEN BAR;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00A7;-Alpha;bc=ON;-Cased;ea=A;gc=Po;-IDC;-IDS;lb=AI;na=SECTION SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00A8;-Alpha;bc=ON;-Cased;CI;CWKCF;Dia;dm=0020 0308;dt=Com;ea=A;gc=Sk;-IDC;-IDS;lb=AI;na=DIAERESIS;NFKC_CF=0020 0308;NFKC_QC=N;WB=XX;-XIDC;-XIDS
--cp;00A9;-Alpha;bc=ON;-Cased;gc=So;-IDC;-IDS;na=COPYRIGHT SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
-+cp;00A9;-Alpha;bc=ON;-Cased;Emoji;gc=So;-IDC;-IDS;na=COPYRIGHT SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00AA;CWKCF;dm=0061;dt=Sup;ea=A;gc=Lo;lb=AI;Lower;na=FEMININE ORDINAL INDICATOR;NFKC_CF=0061;NFKC_QC=N;SB=LO;sc=Latn
- cp;00AB;-Alpha;bc=ON;Bidi_M;bmg=00BB;-Cased;gc=Pi;-IDC;-IDS;lb=QU;na=LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;NFKD_QC=Y;Pat_Syn;QMark;SB=CL;WB=XX;-XIDC;-XIDS
- cp;00AC;-Alpha;bc=ON;-Cased;ea=Na;gc=Sm;-IDC;-IDS;Math;na=NOT SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00AD;-Alpha;bc=BN;-Cased;CI;CWKCF;DI;ea=A;gc=Cf;GCB=CN;-Gr_Base;Hyphen;-IDC;-IDS;jt=T;lb=BA;na=SOFT HYPHEN;Name_Alias=abbreviation=SHY;NFKC_CF=;NFKD_QC=Y;SB=FO;WB=FO;-XIDC;-XIDS
--cp;00AE;-Alpha;bc=ON;-Cased;ea=A;gc=So;-IDC;-IDS;na=REGISTERED SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
-+cp;00AE;-Alpha;bc=ON;-Cased;ea=A;Emoji;gc=So;-IDC;-IDS;na=REGISTERED SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00AF;-Alpha;bc=ON;-Cased;CI;CWKCF;Dia;dm=0020 0304;dt=Com;ea=Na;gc=Sk;-IDC;-IDS;na=MACRON;NFKC_CF=0020 0304;NFKC_QC=N;WB=XX;-XIDC;-XIDS
- cp;00B0;-Alpha;bc=ET;-Cased;ea=A;gc=So;-IDC;-IDS;lb=PO;na=DEGREE SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
- cp;00B1;-Alpha;bc=ET;-Cased;ea=A;gc=Sm;-IDC;-IDS;lb=PR;Math;na=PLUS-MINUS SIGN;NFKD_QC=Y;Pat_Syn;WB=XX;-XIDC;-XIDS
-@@ -9375,7 +9379,7 @@ cp;203A;Bidi_M;bmg=2039;gc=Pf;lb=QU;na=SINGLE RIGHT-POINTING ANGLE QUOTATION MAR
- # General punctuation
- cp;203B;ea=A;lb=AI;na=REFERENCE MARK
- # Double punctuation for vertical text
--cp;203C;CWKCF;dm=0021 0021;dt=Com;lb=NS;na=DOUBLE EXCLAMATION MARK;NFKC_CF=0021 0021;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
-+cp;203C;CWKCF;dm=0021 0021;dt=Com;Emoji;lb=NS;na=DOUBLE EXCLAMATION MARK;NFKC_CF=0021 0021;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
- # General punctuation
- cp;203D;lb=NS;na=INTERROBANG;SB=ST;STerm;Term
- cp;203E;CWKCF;dm=0020 0305;dt=Com;ea=A;na=OVERLINE;NFKC_CF=0020 0305;NFKC_QC=N;NFKD_QC=N
-@@ -9390,7 +9394,7 @@ cp;2046;Bidi_M;bmg=2045;bpb=2045;bpt=c;gc=Pe;lb=CL;na=RIGHT SQUARE BRACKET WITH
- # Double punctuation for vertical text
- cp;2047;age=3.2;CWKCF;dm=003F 003F;dt=Com;lb=NS;na=DOUBLE QUESTION MARK;NFKC_CF=003F 003F;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
- cp;2048;age=3.0;CWKCF;dm=003F 0021;dt=Com;lb=NS;na=QUESTION EXCLAMATION MARK;NFKC_CF=003F 0021;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
--cp;2049;age=3.0;CWKCF;dm=0021 003F;dt=Com;lb=NS;na=EXCLAMATION QUESTION MARK;NFKC_CF=0021 003F;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
-+cp;2049;age=3.0;CWKCF;dm=0021 003F;dt=Com;Emoji;lb=NS;na=EXCLAMATION QUESTION MARK;NFKC_CF=0021 003F;NFKC_QC=N;NFKD_QC=N;SB=ST;STerm;Term
- # General punctuation
- cp;204A;age=3.0;na=TIRONIAN SIGN ET
- cp;204B;age=3.0;na=REVERSED PILCROW SIGN
-@@ -9605,7 +9609,7 @@ cp;211E;-Alpha;bc=ON;-Cased;-CWKCF;dt=None;gc=So;-IDC;-IDS;-Math;na=PRESCRIPTION
- cp;211F;-Alpha;bc=ON;-Cased;-CWKCF;dt=None;gc=So;-IDC;-IDS;-Math;na=RESPONSE;NFKC_QC=Y;NFKD_QC=Y;WB=XX;-XIDC;-XIDS
- cp;2120;-Alpha;bc=ON;-Cased;dm=0053 004D;dt=Sup;FC_NFKC=0073 006D;gc=So;-IDC;-IDS;-Math;na=SERVICE MARK;NFKC_CF=0073 006D;WB=XX;-XIDC;-XIDS
- cp;2121;-Alpha;bc=ON;-Cased;dm=0054 0045 004C;dt=Com;ea=A;FC_NFKC=0074 0065 006C;gc=So;-IDC;-IDS;lb=AI;-Math;na=TELEPHONE SIGN;NFKC_CF=0074 0065 006C;WB=XX;-XIDC;-XIDS
--cp;2122;-Alpha;bc=ON;-Cased;dm=0054 004D;dt=Sup;ea=A;FC_NFKC=0074 006D;gc=So;-IDC;-IDS;lb=AI;-Math;na=TRADE MARK SIGN;NFKC_CF=0074 006D;WB=XX;-XIDC;-XIDS
-+cp;2122;-Alpha;bc=ON;-Cased;dm=0054 004D;dt=Sup;ea=A;Emoji;FC_NFKC=0074 006D;gc=So;-IDC;-IDS;lb=AI;-Math;na=TRADE MARK SIGN;NFKC_CF=0074 006D;WB=XX;-XIDC;-XIDS
- cp;2123;-Alpha;bc=ON;-Cased;-CWKCF;dt=None;gc=So;-IDC;-IDS;-Math;na=VERSICLE;NFKC_QC=Y;NFKD_QC=Y;WB=XX;-XIDC;-XIDS
- cp;2124;dm=005A;FC_NFKC=007A;na=DOUBLE-STRUCK CAPITAL Z;NFKC_CF=007A;SB=UP;Upper
- cp;2125;-Alpha;bc=ON;-Cased;-CWKCF;dt=None;gc=So;-IDC;-IDS;-Math;na=OUNCE SIGN;NFKC_QC=Y;NFKD_QC=Y;WB=XX;-XIDC;-XIDS
-@@ -9630,7 +9634,7 @@ cp;2136;-Cased;dm=05D1;dt=Com;gc=Lo;na=BET SYMBOL;NFKC_CF=05D1;SB=LE
- cp;2137;-Cased;dm=05D2;dt=Com;gc=Lo;na=GIMEL SYMBOL;NFKC_CF=05D2;SB=LE
- cp;2138;-Cased;dm=05D3;dt=Com;gc=Lo;na=DALET SYMBOL;NFKC_CF=05D3;SB=LE
- # Additional letterlike symbols
--cp;2139;age=3.0;dm=0069;gc=Ll;Lower;-Math;na=INFORMATION SOURCE;NFKC_CF=0069;SB=LO
-+cp;2139;age=3.0;dm=0069;Emoji;gc=Ll;Lower;-Math;na=INFORMATION SOURCE;NFKC_CF=0069;SB=LO
- cp;213A;age=3.0;-Alpha;bc=ON;-Cased;-CWKCF;dt=None;gc=So;-IDC;-IDS;-Math;na=ROTATED CAPITAL Q;NFKC_QC=Y;NFKD_QC=Y;WB=XX;-XIDC;-XIDS
- cp;213B;age=4.0;-Alpha;bc=ON;-Cased;dm=0046 0041 0058;dt=Com;FC_NFKC=0066 0061 0078;gc=So;-IDC;-IDS;-Math;na=FACSIMILE SIGN;NFKC_CF=0066 0061 0078;WB=XX;-XIDC;-XIDS
- cp;213C;age=4.1;dm=03C0;gc=Ll;Lower;na=DOUBLE-STRUCK SMALL PI;NFKC_CF=03C0;SB=LO
-@@ -9738,12 +9742,12 @@ cp;2190;ea=A;gc=Sm;lb=AI;na=LEFTWARDS ARROW
- cp;2191;ea=A;gc=Sm;lb=AI;na=UPWARDS ARROW
- cp;2192;ea=A;gc=Sm;lb=AI;na=RIGHTWARDS ARROW
- cp;2193;ea=A;gc=Sm;lb=AI;na=DOWNWARDS ARROW
--cp;2194;ea=A;gc=Sm;lb=AI;na=LEFT RIGHT ARROW
--cp;2195;ea=A;lb=AI;na=UP DOWN ARROW
--cp;2196;ea=A;lb=AI;na=NORTH WEST ARROW
--cp;2197;ea=A;lb=AI;na=NORTH EAST ARROW
--cp;2198;ea=A;lb=AI;na=SOUTH EAST ARROW
--cp;2199;ea=A;lb=AI;na=SOUTH WEST ARROW
-+cp;2194;ea=A;Emoji;gc=Sm;lb=AI;na=LEFT RIGHT ARROW
-+cp;2195;ea=A;Emoji;lb=AI;na=UP DOWN ARROW
-+cp;2196;ea=A;Emoji;lb=AI;na=NORTH WEST ARROW
-+cp;2197;ea=A;Emoji;lb=AI;na=NORTH EAST ARROW
-+cp;2198;ea=A;Emoji;lb=AI;na=SOUTH EAST ARROW
-+cp;2199;ea=A;Emoji;lb=AI;na=SOUTH WEST ARROW
- # Arrows with modifications
- cp;219A;dm=2190 0338;dt=Can;gc=Sm;na=LEFTWARDS ARROW WITH STROKE;NFD_QC=N;NFKD_QC=N
- cp;219B;dm=2192 0338;dt=Can;gc=Sm;na=RIGHTWARDS ARROW WITH STROKE;NFD_QC=N;NFKD_QC=N
-@@ -9760,8 +9764,8 @@ cp;21A5;na=UPWARDS ARROW FROM BAR
- cp;21A6;gc=Sm;na=RIGHTWARDS ARROW FROM BAR
- cp;21A7;na=DOWNWARDS ARROW FROM BAR
- cp;21A8;-Math;na=UP DOWN ARROW WITH BASE
--cp;21A9;na=LEFTWARDS ARROW WITH HOOK
--cp;21AA;na=RIGHTWARDS ARROW WITH HOOK
-+cp;21A9;Emoji;na=LEFTWARDS ARROW WITH HOOK
-+cp;21AA;Emoji;na=RIGHTWARDS ARROW WITH HOOK
- cp;21AB;na=LEFTWARDS ARROW WITH LOOP
- cp;21AC;na=RIGHTWARDS ARROW WITH LOOP
- cp;21AD;na=LEFT RIGHT WAVE ARROW
-@@ -10183,8 +10187,8 @@ cp;2317;na=VIEWDATA SQUARE
- cp;2318;na=PLACE OF INTEREST SIGN
- cp;2319;na=TURNED NOT SIGN
- # User interface symbols
--cp;231A;lb=ID;na=WATCH
--cp;231B;lb=ID;na=HOURGLASS
-+cp;231A;Emoji;Emoji_Presentation;lb=ID;na=WATCH
-+cp;231B;Emoji;Emoji_Presentation;lb=ID;na=HOURGLASS
- # Quine corners
- cp;231C;na=TOP LEFT CORNER
- cp;231D;na=TOP RIGHT CORNER
-@@ -10201,7 +10205,7 @@ cp;2324;na=UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
- cp;2325;na=OPTION KEY
- cp;2326;na=ERASE TO THE RIGHT
- cp;2327;na=X IN A RECTANGLE BOX
--cp;2328;na=KEYBOARD
-+cp;2328;Emoji;na=KEYBOARD
- # Deprecated angle brackets
- cp;2329;Bidi_M;bmg=232A;bpb=232A;bpt=o;Comp_Ex;CWKCF;Dep;dm=3008;dt=Can;ea=W;gc=Ps;lb=OP;na=LEFT-POINTING ANGLE BRACKET;NFC_QC=N;NFD_QC=N;NFKC_CF=3008;NFKC_QC=N;NFKD_QC=N;SB=CL
- cp;232A;Bidi_M;bmg=2329;bpb=2329;bpt=c;Comp_Ex;CWKCF;Dep;dm=3009;dt=Can;ea=W;gc=Pe;lb=CL;na=RIGHT-POINTING ANGLE BRACKET;NFC_QC=N;NFD_QC=N;NFKC_CF=3009;NFKC_QC=N;NFKD_QC=N;SB=CL
-@@ -10390,7 +10394,7 @@ cp;23CC;age=3.2;na=DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
- cp;23CD;age=3.2;na=SQUARE FOOT
- # Keyboard and UI symbols
- cp;23CE;age=3.2;na=RETURN SYMBOL
--cp;23CF;age=4.0;na=EJECT SYMBOL
-+cp;23CF;age=4.0;Emoji;na=EJECT SYMBOL
- # Special character extension
- cp;23D0;age=4.0;Math;na=VERTICAL LINE EXTENSION
- # Metrical symbols
-@@ -10424,24 +10428,24 @@ cp;23E6;age=5.0;na=AC CURRENT
- cp;23E7;age=5.0;na=ELECTRICAL INTERSECTION
- cp;23E8;age=5.2;na=DECIMAL EXPONENT SYMBOL
- # User interface symbols
--cp;23E9;age=6.0;na=BLACK RIGHT-POINTING DOUBLE TRIANGLE
--cp;23EA;age=6.0;na=BLACK LEFT-POINTING DOUBLE TRIANGLE
--cp;23EB;age=6.0;na=BLACK UP-POINTING DOUBLE TRIANGLE
--cp;23EC;age=6.0;na=BLACK DOWN-POINTING DOUBLE TRIANGLE
--cp;23ED;age=6.0;na=BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
--cp;23EE;age=6.0;na=BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
--cp;23EF;age=6.0;na=BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
--cp;23F0;age=6.0;lb=ID;na=ALARM CLOCK
--cp;23F1;age=6.0;lb=ID;na=STOPWATCH
--cp;23F2;age=6.0;lb=ID;na=TIMER CLOCK
--cp;23F3;age=6.0;lb=ID;na=HOURGLASS WITH FLOWING SAND
-+cp;23E9;age=6.0;Emoji;Emoji_Presentation;na=BLACK RIGHT-POINTING DOUBLE TRIANGLE
-+cp;23EA;age=6.0;Emoji;Emoji_Presentation;na=BLACK LEFT-POINTING DOUBLE TRIANGLE
-+cp;23EB;age=6.0;Emoji;Emoji_Presentation;na=BLACK UP-POINTING DOUBLE TRIANGLE
-+cp;23EC;age=6.0;Emoji;Emoji_Presentation;na=BLACK DOWN-POINTING DOUBLE TRIANGLE
-+cp;23ED;age=6.0;Emoji;na=BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-+cp;23EE;age=6.0;Emoji;na=BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-+cp;23EF;age=6.0;Emoji;na=BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-+cp;23F0;age=6.0;Emoji;Emoji_Presentation;lb=ID;na=ALARM CLOCK
-+cp;23F1;age=6.0;Emoji;lb=ID;na=STOPWATCH
-+cp;23F2;age=6.0;Emoji;lb=ID;na=TIMER CLOCK
-+cp;23F3;age=6.0;Emoji;Emoji_Presentation;lb=ID;na=HOURGLASS WITH FLOWING SAND
- cp;23F4;age=7.0;na=BLACK MEDIUM LEFT-POINTING TRIANGLE
- cp;23F5;age=7.0;na=BLACK MEDIUM RIGHT-POINTING TRIANGLE
- cp;23F6;age=7.0;na=BLACK MEDIUM UP-POINTING TRIANGLE
- cp;23F7;age=7.0;na=BLACK MEDIUM DOWN-POINTING TRIANGLE
--cp;23F8;age=7.0;na=DOUBLE VERTICAL BAR
--cp;23F9;age=7.0;na=BLACK SQUARE FOR STOP
--cp;23FA;age=7.0;na=BLACK CIRCLE FOR RECORD
-+cp;23F8;age=7.0;Emoji;na=DOUBLE VERTICAL BAR
-+cp;23F9;age=7.0;Emoji;na=BLACK SQUARE FOR STOP
-+cp;23FA;age=7.0;Emoji;na=BLACK CIRCLE FOR RECORD
- cp;23FB..23FF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- 
- block;2400..243F;age=1.1;bc=ON;blk=Control_Pictures;gc=So;Gr_Base;lb=AL;Pat_Syn;sc=Zyyy
-@@ -10615,7 +10619,7 @@ cp;24BE;Alpha;Cased;cf=24D8;CWCF;CWCM;CWL;dm=0049;gc=So;na=CIRCLED LATIN CAPITAL
- cp;24BF;Alpha;Cased;cf=24D9;CWCF;CWCM;CWL;dm=004A;gc=So;na=CIRCLED LATIN CAPITAL LETTER J;NFKC_CF=006A;SB=UP;scf=24D9;slc=24D9;Upper;WB=LE
- cp;24C0;Alpha;Cased;cf=24DA;CWCF;CWCM;CWL;dm=004B;gc=So;na=CIRCLED LATIN CAPITAL LETTER K;NFKC_CF=006B;SB=UP;scf=24DA;slc=24DA;Upper;WB=LE
- cp;24C1;Alpha;Cased;cf=24DB;CWCF;CWCM;CWL;dm=004C;gc=So;na=CIRCLED LATIN CAPITAL LETTER L;NFKC_CF=006C;SB=UP;scf=24DB;slc=24DB;Upper;WB=LE
--cp;24C2;Alpha;Cased;cf=24DC;CWCF;CWCM;CWL;dm=004D;gc=So;na=CIRCLED LATIN CAPITAL LETTER M;NFKC_CF=006D;SB=UP;scf=24DC;slc=24DC;Upper;WB=LE
-+cp;24C2;Alpha;Cased;cf=24DC;CWCF;CWCM;CWL;dm=004D;Emoji;gc=So;na=CIRCLED LATIN CAPITAL LETTER M;NFKC_CF=006D;SB=UP;scf=24DC;slc=24DC;Upper;WB=LE
- cp;24C3;Alpha;Cased;cf=24DD;CWCF;CWCM;CWL;dm=004E;gc=So;na=CIRCLED LATIN CAPITAL LETTER N;NFKC_CF=006E;SB=UP;scf=24DD;slc=24DD;Upper;WB=LE
- cp;24C4;Alpha;Cased;cf=24DE;CWCF;CWCM;CWL;dm=004F;gc=So;na=CIRCLED LATIN CAPITAL LETTER O;NFKC_CF=006F;SB=UP;scf=24DE;slc=24DE;Upper;WB=LE
- cp;24C5;Alpha;Cased;cf=24DF;CWCF;CWCM;CWL;dm=0050;gc=So;na=CIRCLED LATIN CAPITAL LETTER P;NFKC_CF=0070;SB=UP;scf=24DF;slc=24DF;Upper;WB=LE
-@@ -10875,8 +10879,8 @@ cp;25A6;ea=A;lb=AI;na=SQUARE WITH ORTHOGONAL CROSSHATCH FILL
- cp;25A7;ea=A;lb=AI;na=SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
- cp;25A8;ea=A;lb=AI;na=SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
- cp;25A9;ea=A;lb=AI;na=SQUARE WITH DIAGONAL CROSSHATCH FILL
--cp;25AA;na=BLACK SMALL SQUARE
--cp;25AB;na=WHITE SMALL SQUARE
-+cp;25AA;Emoji;na=BLACK SMALL SQUARE
-+cp;25AB;Emoji;na=WHITE SMALL SQUARE
- cp;25AC;na=BLACK RECTANGLE
- cp;25AD;na=WHITE RECTANGLE
- cp;25AE;Math;na=BLACK VERTICAL RECTANGLE
-@@ -10887,7 +10891,7 @@ cp;25B2;ea=A;lb=AI;Math;na=BLACK UP-POINTING TRIANGLE
- cp;25B3;ea=A;lb=AI;Math;na=WHITE UP-POINTING TRIANGLE
- cp;25B4;Math;na=BLACK UP-POINTING SMALL TRIANGLE
- cp;25B5;Math;na=WHITE UP-POINTING SMALL TRIANGLE
--cp;25B6;ea=A;lb=AI;Math;na=BLACK RIGHT-POINTING TRIANGLE
-+cp;25B6;ea=A;Emoji;lb=AI;Math;na=BLACK RIGHT-POINTING TRIANGLE
- cp;25B7;ea=A;gc=Sm;lb=AI;Math;na=WHITE RIGHT-POINTING TRIANGLE
- cp;25B8;na=BLACK RIGHT-POINTING SMALL TRIANGLE
- cp;25B9;na=WHITE RIGHT-POINTING SMALL TRIANGLE
-@@ -10897,7 +10901,7 @@ cp;25BC;ea=A;lb=AI;Math;na=BLACK DOWN-POINTING TRIANGLE
- cp;25BD;ea=A;lb=AI;Math;na=WHITE DOWN-POINTING TRIANGLE
- cp;25BE;Math;na=BLACK DOWN-POINTING SMALL TRIANGLE
- cp;25BF;Math;na=WHITE DOWN-POINTING SMALL TRIANGLE
--cp;25C0;ea=A;lb=AI;Math;na=BLACK LEFT-POINTING TRIANGLE
-+cp;25C0;ea=A;Emoji;lb=AI;Math;na=BLACK LEFT-POINTING TRIANGLE
- cp;25C1;ea=A;gc=Sm;lb=AI;Math;na=WHITE LEFT-POINTING TRIANGLE
- cp;25C2;na=BLACK LEFT-POINTING SMALL TRIANGLE
- cp;25C3;na=WHITE LEFT-POINTING SMALL TRIANGLE
-@@ -10958,20 +10962,20 @@ cp;25F7;age=3.0;na=WHITE CIRCLE WITH UPPER RIGHT QUADRANT
- cp;25F8;age=3.2;gc=Sm;Math;na=UPPER LEFT TRIANGLE
- cp;25F9;age=3.2;gc=Sm;Math;na=UPPER RIGHT TRIANGLE
- cp;25FA;age=3.2;gc=Sm;Math;na=LOWER LEFT TRIANGLE
--cp;25FB;age=3.2;gc=Sm;Math;na=WHITE MEDIUM SQUARE
--cp;25FC;age=3.2;gc=Sm;Math;na=BLACK MEDIUM SQUARE
--cp;25FD;age=3.2;gc=Sm;Math;na=WHITE MEDIUM SMALL SQUARE
--cp;25FE;age=3.2;gc=Sm;Math;na=BLACK MEDIUM SMALL SQUARE
-+cp;25FB;age=3.2;Emoji;gc=Sm;Math;na=WHITE MEDIUM SQUARE
-+cp;25FC;age=3.2;Emoji;gc=Sm;Math;na=BLACK MEDIUM SQUARE
-+cp;25FD;age=3.2;Emoji;Emoji_Presentation;gc=Sm;Math;na=WHITE MEDIUM SMALL SQUARE
-+cp;25FE;age=3.2;Emoji;Emoji_Presentation;gc=Sm;Math;na=BLACK MEDIUM SMALL SQUARE
- cp;25FF;age=3.2;gc=Sm;Math;na=LOWER RIGHT TRIANGLE
- 
- block;2600..26FF;age=1.1;bc=ON;blk=Misc_Symbols;gc=So;Gr_Base;lb=AL;Pat_Syn;sc=Zyyy
- # 2600..26FF Miscellaneous Symbols
- # Weather and astrological symbols
--cp;2600;lb=ID;na=BLACK SUN WITH RAYS
--cp;2601;lb=ID;na=CLOUD
--cp;2602;lb=ID;na=UMBRELLA
--cp;2603;lb=ID;na=SNOWMAN
--cp;2604;na=COMET
-+cp;2600;Emoji;lb=ID;na=BLACK SUN WITH RAYS
-+cp;2601;Emoji;lb=ID;na=CLOUD
-+cp;2602;Emoji;lb=ID;na=UMBRELLA
-+cp;2603;Emoji;lb=ID;na=SNOWMAN
-+cp;2604;Emoji;na=COMET
- cp;2605;ea=A;lb=AI;Math;na=BLACK STAR
- cp;2606;ea=A;lb=AI;Math;na=WHITE STAR
- cp;2607;na=LIGHTNING
-@@ -10982,48 +10986,48 @@ cp;260B;na=DESCENDING NODE
- cp;260C;na=CONJUNCTION
- cp;260D;na=OPPOSITION
- # Miscellaneous symbols
--cp;260E;ea=A;lb=AI;na=BLACK TELEPHONE
-+cp;260E;ea=A;Emoji;lb=AI;na=BLACK TELEPHONE
- cp;260F;ea=A;lb=AI;na=WHITE TELEPHONE
- cp;2610;na=BALLOT BOX
--cp;2611;na=BALLOT BOX WITH CHECK
-+cp;2611;Emoji;na=BALLOT BOX WITH CHECK
- cp;2612;na=BALLOT BOX WITH X
- cp;2613;na=SALTIRE
- # Weather symbol
--cp;2614;age=4.0;ea=A;lb=ID;na=UMBRELLA WITH RAIN DROPS
-+cp;2614;age=4.0;ea=A;Emoji;Emoji_Presentation;lb=ID;na=UMBRELLA WITH RAIN DROPS
- # Miscellaneous symbol
--cp;2615;age=4.0;ea=A;lb=ID;na=HOT BEVERAGE
-+cp;2615;age=4.0;ea=A;Emoji;Emoji_Presentation;lb=ID;na=HOT BEVERAGE
- # Japanese chess symbols
- cp;2616;age=3.2;lb=AI;na=WHITE SHOGI PIECE
- cp;2617;age=3.2;lb=AI;na=BLACK SHOGI PIECE
- # Miscellaneous symbols
--cp;2618;age=4.1;lb=ID;na=SHAMROCK
-+cp;2618;age=4.1;Emoji;lb=ID;na=SHAMROCK
- cp;2619;age=3.0;na=REVERSED ROTATED FLORAL HEART BULLET
- # Pointing hand symbols
- cp;261A;lb=ID;na=BLACK LEFT POINTING INDEX
- cp;261B;lb=ID;na=BLACK RIGHT POINTING INDEX
- cp;261C;ea=A;lb=ID;na=WHITE LEFT POINTING INDEX
--cp;261D;lb=ID;na=WHITE UP POINTING INDEX
-+cp;261D;Emoji;Emoji_Modifier_Base;lb=ID;na=WHITE UP POINTING INDEX
- cp;261E;ea=A;lb=ID;na=WHITE RIGHT POINTING INDEX
- cp;261F;lb=ID;na=WHITE DOWN POINTING INDEX
- # Warning signs
--cp;2620;na=SKULL AND CROSSBONES
-+cp;2620;Emoji;na=SKULL AND CROSSBONES
- cp;2621;na=CAUTION SIGN
--cp;2622;na=RADIOACTIVE SIGN
--cp;2623;na=BIOHAZARD SIGN
-+cp;2622;Emoji;na=RADIOACTIVE SIGN
-+cp;2623;Emoji;na=BIOHAZARD SIGN
- # Medical and healing symbols
- cp;2624;na=CADUCEUS
- cp;2625;na=ANKH
- # Religious and political symbols
--cp;2626;na=ORTHODOX CROSS
-+cp;2626;Emoji;na=ORTHODOX CROSS
- cp;2627;na=CHI RHO
- cp;2628;na=CROSS OF LORRAINE
- cp;2629;na=CROSS OF JERUSALEM
--cp;262A;na=STAR AND CRESCENT
-+cp;262A;Emoji;na=STAR AND CRESCENT
- cp;262B;na=FARSI SYMBOL
- cp;262C;na=ADI SHAKTI
- cp;262D;na=HAMMER AND SICKLE
--cp;262E;na=PEACE SYMBOL
--cp;262F;na=YIN YANG
-+cp;262E;Emoji;na=PEACE SYMBOL
-+cp;262F;Emoji;na=YIN YANG
- # Yijing trigram symbols
- cp;2630;na=TRIGRAM FOR HEAVEN
- cp;2631;na=TRIGRAM FOR LAKE
-@@ -11034,10 +11038,10 @@ cp;2635;na=TRIGRAM FOR WATER
- cp;2636;na=TRIGRAM FOR MOUNTAIN
- cp;2637;na=TRIGRAM FOR EARTH
- # Miscellaneous symbol
--cp;2638;na=WHEEL OF DHARMA
-+cp;2638;Emoji;na=WHEEL OF DHARMA
- # Emoticons
--cp;2639;lb=ID;na=WHITE FROWNING FACE
--cp;263A;lb=ID;na=WHITE SMILING FACE
-+cp;2639;Emoji;lb=ID;na=WHITE FROWNING FACE
-+cp;263A;Emoji;lb=ID;na=WHITE SMILING FACE
- cp;263B;lb=ID;na=BLACK SMILING FACE
- # Miscellaneous symbol
- cp;263C;na=WHITE SUN WITH RAYS
-@@ -11054,18 +11058,18 @@ cp;2645;na=URANUS
- cp;2646;na=NEPTUNE
- cp;2647;na=PLUTO
- # Zodiacal symbols
--cp;2648;na=ARIES
--cp;2649;na=TAURUS
--cp;264A;na=GEMINI
--cp;264B;na=CANCER
--cp;264C;na=LEO
--cp;264D;na=VIRGO
--cp;264E;na=LIBRA
--cp;264F;na=SCORPIUS
--cp;2650;na=SAGITTARIUS
--cp;2651;na=CAPRICORN
--cp;2652;na=AQUARIUS
--cp;2653;na=PISCES
-+cp;2648;Emoji;Emoji_Presentation;na=ARIES
-+cp;2649;Emoji;Emoji_Presentation;na=TAURUS
-+cp;264A;Emoji;Emoji_Presentation;na=GEMINI
-+cp;264B;Emoji;Emoji_Presentation;na=CANCER
-+cp;264C;Emoji;Emoji_Presentation;na=LEO
-+cp;264D;Emoji;Emoji_Presentation;na=VIRGO
-+cp;264E;Emoji;Emoji_Presentation;na=LIBRA
-+cp;264F;Emoji;Emoji_Presentation;na=SCORPIUS
-+cp;2650;Emoji;Emoji_Presentation;na=SAGITTARIUS
-+cp;2651;Emoji;Emoji_Presentation;na=CAPRICORN
-+cp;2652;Emoji;Emoji_Presentation;na=AQUARIUS
-+cp;2653;Emoji;Emoji_Presentation;na=PISCES
- # Chess symbols
- cp;2654;na=WHITE CHESS KING
- cp;2655;na=WHITE CHESS QUEEN
-@@ -11080,16 +11084,16 @@ cp;265D;na=BLACK CHESS BISHOP
- cp;265E;na=BLACK CHESS KNIGHT
- cp;265F;na=BLACK CHESS PAWN
- # Playing card symbols
--cp;2660;ea=A;lb=AI;Math;na=BLACK SPADE SUIT
-+cp;2660;ea=A;Emoji;lb=AI;Math;na=BLACK SPADE SUIT
- cp;2661;ea=A;lb=AI;Math;na=WHITE HEART SUIT
- cp;2662;Math;na=WHITE DIAMOND SUIT
--cp;2663;ea=A;lb=AI;Math;na=BLACK CLUB SUIT
-+cp;2663;ea=A;Emoji;lb=AI;Math;na=BLACK CLUB SUIT
- cp;2664;ea=A;lb=AI;na=WHITE SPADE SUIT
--cp;2665;ea=A;lb=AI;na=BLACK HEART SUIT
--cp;2666;na=BLACK DIAMOND SUIT
-+cp;2665;ea=A;Emoji;lb=AI;na=BLACK HEART SUIT
-+cp;2666;Emoji;na=BLACK DIAMOND SUIT
- cp;2667;ea=A;lb=AI;na=WHITE CLUB SUIT
- # Miscellaneous symbol
--cp;2668;ea=A;lb=ID;na=HOT SPRINGS
-+cp;2668;ea=A;Emoji;lb=ID;na=HOT SPRINGS
- # Musical symbols
- cp;2669;ea=A;lb=AI;na=QUARTER NOTE
- cp;266A;ea=A;lb=AI;na=EIGHTH NOTE
-@@ -11111,12 +11115,12 @@ cp;2677;age=3.2;na=RECYCLING SYMBOL FOR TYPE-5 PLASTICS
- cp;2678;age=3.2;na=RECYCLING SYMBOL FOR TYPE-6 PLASTICS
- cp;2679;age=3.2;na=RECYCLING SYMBOL FOR TYPE-7 PLASTICS
- cp;267A;age=3.2;na=RECYCLING SYMBOL FOR GENERIC MATERIALS
--cp;267B;age=3.2;na=BLACK UNIVERSAL RECYCLING SYMBOL
-+cp;267B;age=3.2;Emoji;na=BLACK UNIVERSAL RECYCLING SYMBOL
- cp;267C;age=3.2;na=RECYCLED PAPER SYMBOL
- cp;267D;age=3.2;na=PARTIALLY-RECYCLED PAPER SYMBOL
- # Miscellaneous symbols
- cp;267E;age=4.1;na=PERMANENT PAPER SIGN
--cp;267F;age=4.1;lb=ID;na=WHEELCHAIR SYMBOL
-+cp;267F;age=4.1;Emoji;Emoji_Presentation;lb=ID;na=WHEELCHAIR SYMBOL
- # Dice
- cp;2680;age=3.2;na=DIE FACE-1
- cp;2681;age=3.2;na=DIE FACE-2
-@@ -11139,25 +11143,25 @@ cp;268F;age=4.0;na=DIGRAM FOR GREATER YIN
- # Dictionary and map symbols
- cp;2690;age=4.0;na=WHITE FLAG
- cp;2691;age=4.0;na=BLACK FLAG
--cp;2692;age=4.1;na=HAMMER AND PICK
--cp;2693;age=4.1;na=ANCHOR
--cp;2694;age=4.1;na=CROSSED SWORDS
-+cp;2692;age=4.1;Emoji;na=HAMMER AND PICK
-+cp;2693;age=4.1;Emoji;Emoji_Presentation;na=ANCHOR
-+cp;2694;age=4.1;Emoji;na=CROSSED SWORDS
- cp;2695;age=4.1;na=STAFF OF AESCULAPIUS
--cp;2696;age=4.1;na=SCALES
--cp;2697;age=4.1;na=ALEMBIC
-+cp;2696;age=4.1;Emoji;na=SCALES
-+cp;2697;age=4.1;Emoji;na=ALEMBIC
- cp;2698;age=4.1;na=FLOWER
--cp;2699;age=4.1;na=GEAR
-+cp;2699;age=4.1;Emoji;na=GEAR
- cp;269A;age=4.1;na=STAFF OF HERMES
--cp;269B;age=4.1;na=ATOM SYMBOL
-+cp;269B;age=4.1;Emoji;na=ATOM SYMBOL
- # Miscellaneous symbols
--cp;269C;age=4.1;na=FLEUR-DE-LIS
-+cp;269C;age=4.1;Emoji;na=FLEUR-DE-LIS
- cp;269D;age=5.1;na=OUTLINED WHITE STAR
- # Symbols for closed captioning from ARIB STD B24
- cp;269E;age=5.2;ea=A;lb=AI;na=THREE LINES CONVERGING RIGHT
- cp;269F;age=5.2;ea=A;lb=AI;na=THREE LINES CONVERGING LEFT
- # Miscellaneous symbols
--cp;26A0;age=4.0;na=WARNING SIGN
--cp;26A1;age=4.0;na=HIGH VOLTAGE SIGN
-+cp;26A0;age=4.0;Emoji;na=WARNING SIGN
-+cp;26A1;age=4.0;Emoji;Emoji_Presentation;na=HIGH VOLTAGE SIGN
- # Gender symbols
- cp;26A2;age=4.1;na=DOUBLED FEMALE SIGN
- cp;26A3;age=4.1;na=DOUBLED MALE SIGN
-@@ -11168,15 +11172,15 @@ cp;26A7;age=4.1;na=MALE WITH STROKE AND MALE AND FEMALE SIGN
- cp;26A8;age=4.1;na=VERTICAL MALE WITH STROKE SIGN
- cp;26A9;age=4.1;na=HORIZONTAL MALE WITH STROKE SIGN
- # Circles
--cp;26AA;age=4.1;na=MEDIUM WHITE CIRCLE
--cp;26AB;age=4.1;na=MEDIUM BLACK CIRCLE
-+cp;26AA;age=4.1;Emoji;Emoji_Presentation;na=MEDIUM WHITE CIRCLE
-+cp;26AB;age=4.1;Emoji;Emoji_Presentation;na=MEDIUM BLACK CIRCLE
- cp;26AC;age=4.1;bc=L;na=MEDIUM SMALL WHITE CIRCLE
- # Genealogical symbols
- cp;26AD;age=4.1;na=MARRIAGE SYMBOL
- cp;26AE;age=4.1;na=DIVORCE SYMBOL
- cp;26AF;age=4.1;na=UNMARRIED PARTNERSHIP SYMBOL
--cp;26B0;age=4.1;na=COFFIN
--cp;26B1;age=4.1;na=FUNERAL URN
-+cp;26B0;age=4.1;Emoji;na=COFFIN
-+cp;26B1;age=4.1;Emoji;na=FUNERAL URN
- # Gender symbol
- cp;26B2;age=5.0;na=NEUTER
- # Astrological signs
-@@ -11191,8 +11195,8 @@ cp;26BA;age=5.1;na=SEMISEXTILE
- cp;26BB;age=5.1;na=QUINCUNX
- cp;26BC;age=5.1;na=SESQUIQUADRATE
- # Sport symbols
--cp;26BD;age=5.2;lb=ID;na=SOCCER BALL
--cp;26BE;age=5.2;ea=A;lb=ID;na=BASEBALL
-+cp;26BD;age=5.2;Emoji;Emoji_Presentation;lb=ID;na=SOCCER BALL
-+cp;26BE;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=BASEBALL
- # Miscellaneous symbol from ARIB STD B24
- cp;26BF;age=5.2;ea=A;lb=ID;na=SQUARED KEY
- # Symbols for draughts and checkers
-@@ -11201,11 +11205,11 @@ cp;26C1;age=5.1;lb=ID;na=WHITE DRAUGHTS KING
- cp;26C2;age=5.1;lb=ID;na=BLACK DRAUGHTS MAN
- cp;26C3;age=5.1;lb=ID;na=BLACK DRAUGHTS KING
- # Weather symbols from ARIB STD B24
--cp;26C4;age=5.2;ea=A;lb=ID;na=SNOWMAN WITHOUT SNOW
--cp;26C5;age=5.2;ea=A;lb=ID;na=SUN BEHIND CLOUD
-+cp;26C4;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=SNOWMAN WITHOUT SNOW
-+cp;26C5;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=SUN BEHIND CLOUD
- cp;26C6;age=5.2;ea=A;lb=ID;na=RAIN
- cp;26C7;age=5.2;ea=A;lb=ID;na=BLACK SNOWMAN
--cp;26C8;age=5.2;ea=A;lb=ID;na=THUNDER CLOUD AND RAIN
-+cp;26C8;age=5.2;ea=A;Emoji;lb=ID;na=THUNDER CLOUD AND RAIN
- # Game symbols from ARIB STD B24
- cp;26C9;age=5.2;ea=A;lb=AI;na=TURNED WHITE SHOGI PIECE
- cp;26CA;age=5.2;ea=A;lb=AI;na=TURNED BLACK SHOGI PIECE
-@@ -11214,14 +11218,14 @@ cp;26CB;age=5.2;ea=A;lb=AI;na=WHITE DIAMOND IN SQUARE
- cp;26CC;age=5.2;ea=A;lb=AI;na=CROSSING LANES
- cp;26CD;age=5.2;ea=A;lb=ID;na=DISABLED CAR
- # Zodiacal symbol
--cp;26CE;age=6.0;na=OPHIUCHUS
-+cp;26CE;age=6.0;Emoji;Emoji_Presentation;na=OPHIUCHUS
- # Traffic signs from ARIB STD B24
--cp;26CF;age=5.2;ea=A;lb=ID;na=PICK
-+cp;26CF;age=5.2;ea=A;Emoji;lb=ID;na=PICK
- cp;26D0;age=5.2;ea=A;lb=ID;na=CAR SLIDING
--cp;26D1;age=5.2;ea=A;lb=ID;na=HELMET WITH WHITE CROSS
-+cp;26D1;age=5.2;ea=A;Emoji;lb=ID;na=HELMET WITH WHITE CROSS
- cp;26D2;age=5.2;ea=A;lb=AI;na=CIRCLED CROSSING LANES
--cp;26D3;age=5.2;ea=A;lb=ID;na=CHAINS
--cp;26D4;age=5.2;ea=A;lb=ID;na=NO ENTRY
-+cp;26D3;age=5.2;ea=A;Emoji;lb=ID;na=CHAINS
-+cp;26D4;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=NO ENTRY
- cp;26D5;age=5.2;ea=A;lb=AI;na=ALTERNATE ONE-WAY LEFT WAY TRAFFIC
- cp;26D6;age=5.2;ea=A;lb=AI;na=BLACK TWO-WAY LEFT WAY TRAFFIC
- cp;26D7;age=5.2;ea=A;lb=AI;na=WHITE TWO-WAY LEFT WAY TRAFFIC
-@@ -11246,27 +11250,27 @@ cp;26E6;age=6.0;na=LEFT-HANDED INTERLACED PENTAGRAM
- cp;26E7;age=6.0;na=INVERTED PENTAGRAM
- # Map symbols from ARIB STD B24
- cp;26E8;age=5.2;ea=A;lb=AI;na=BLACK CROSS ON SHIELD
--cp;26E9;age=5.2;ea=A;lb=AI;na=SHINTO SHRINE
--cp;26EA;age=5.2;ea=A;lb=ID;na=CHURCH
-+cp;26E9;age=5.2;ea=A;Emoji;lb=AI;na=SHINTO SHRINE
-+cp;26EA;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=CHURCH
- cp;26EB;age=5.2;ea=A;lb=AI;na=CASTLE
- cp;26EC;age=5.2;ea=A;lb=AI;na=HISTORIC SITE
- cp;26ED;age=5.2;ea=A;lb=AI;na=GEAR WITHOUT HUB
- cp;26EE;age=5.2;ea=A;lb=AI;na=GEAR WITH HANDLES
- cp;26EF;age=5.2;ea=A;lb=AI;na=MAP SYMBOL FOR LIGHTHOUSE
--cp;26F0;age=5.2;ea=A;lb=AI;na=MOUNTAIN
--cp;26F1;age=5.2;ea=A;lb=ID;na=UMBRELLA ON GROUND
--cp;26F2;age=5.2;ea=A;lb=ID;na=FOUNTAIN
--cp;26F3;age=5.2;ea=A;lb=ID;na=FLAG IN HOLE
--cp;26F4;age=5.2;ea=A;lb=ID;na=FERRY
--cp;26F5;age=5.2;ea=A;lb=ID;na=SAILBOAT
-+cp;26F0;age=5.2;ea=A;Emoji;lb=AI;na=MOUNTAIN
-+cp;26F1;age=5.2;ea=A;Emoji;lb=ID;na=UMBRELLA ON GROUND
-+cp;26F2;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=FOUNTAIN
-+cp;26F3;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=FLAG IN HOLE
-+cp;26F4;age=5.2;ea=A;Emoji;lb=ID;na=FERRY
-+cp;26F5;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=SAILBOAT
- cp;26F6;age=5.2;ea=A;lb=AI;na=SQUARE FOUR CORNERS
--cp;26F7;age=5.2;ea=A;lb=ID;na=SKIER
--cp;26F8;age=5.2;ea=A;lb=ID;na=ICE SKATE
--cp;26F9;age=5.2;ea=A;lb=ID;na=PERSON WITH BALL
--cp;26FA;age=5.2;ea=A;lb=ID;na=TENT
-+cp;26F7;age=5.2;ea=A;Emoji;lb=ID;na=SKIER
-+cp;26F8;age=5.2;ea=A;Emoji;lb=ID;na=ICE SKATE
-+cp;26F9;age=5.2;ea=A;Emoji;Emoji_Modifier_Base;lb=ID;na=PERSON WITH BALL
-+cp;26FA;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=TENT
- cp;26FB;age=5.2;ea=A;lb=AI;na=JAPANESE BANK SYMBOL
- cp;26FC;age=5.2;ea=A;lb=AI;na=HEADSTONE GRAVEYARD SYMBOL
--cp;26FD;age=5.2;ea=A;lb=ID;na=FUEL PUMP
-+cp;26FD;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=ID;na=FUEL PUMP
- cp;26FE;age=5.2;ea=A;lb=ID;na=CUP ON BLACK SQUARE
- cp;26FF;age=5.2;ea=A;lb=ID;na=WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
- 
-@@ -11275,27 +11279,27 @@ block;2700..27BF;age=1.1;bc=ON;blk=Dingbats;gc=So;Gr_Base;lb=AL;Pat_Syn;sc=Zyyy
- # Miscellaneous
- cp;2700;age=7.0;lb=ID;na=BLACK SAFETY SCISSORS
- cp;2701;lb=ID;na=UPPER BLADE SCISSORS
--cp;2702;lb=ID;na=BLACK SCISSORS
-+cp;2702;Emoji;lb=ID;na=BLACK SCISSORS
- cp;2703;lb=ID;na=LOWER BLADE SCISSORS
- cp;2704;lb=ID;na=WHITE SCISSORS
--cp;2705;age=6.0;na=WHITE HEAVY CHECK MARK
-+cp;2705;age=6.0;Emoji;Emoji_Presentation;na=WHITE HEAVY CHECK MARK
- cp;2706;na=TELEPHONE LOCATION SIGN
- cp;2707;na=TAPE DRIVE
--cp;2708;lb=ID;na=AIRPLANE
--cp;2709;lb=ID;na=ENVELOPE
--cp;270A;age=6.0;lb=ID;na=RAISED FIST
--cp;270B;age=6.0;lb=ID;na=RAISED HAND
--cp;270C;lb=ID;na=VICTORY HAND
--cp;270D;lb=ID;na=WRITING HAND
-+cp;2708;Emoji;lb=ID;na=AIRPLANE
-+cp;2709;Emoji;lb=ID;na=ENVELOPE
-+cp;270A;age=6.0;Emoji;Emoji_Modifier_Base;Emoji_Presentation;lb=ID;na=RAISED FIST
-+cp;270B;age=6.0;Emoji;Emoji_Modifier_Base;Emoji_Presentation;lb=ID;na=RAISED HAND
-+cp;270C;Emoji;Emoji_Modifier_Base;lb=ID;na=VICTORY HAND
-+cp;270D;Emoji;Emoji_Modifier_Base;lb=ID;na=WRITING HAND
- cp;270E;na=LOWER RIGHT PENCIL
--cp;270F;na=PENCIL
-+cp;270F;Emoji;na=PENCIL
- cp;2710;na=UPPER RIGHT PENCIL
- cp;2711;na=WHITE NIB
--cp;2712;na=BLACK NIB
-+cp;2712;Emoji;na=BLACK NIB
- cp;2713;na=CHECK MARK
--cp;2714;na=HEAVY CHECK MARK
-+cp;2714;Emoji;na=HEAVY CHECK MARK
- cp;2715;na=MULTIPLICATION X
--cp;2716;na=HEAVY MULTIPLICATION X
-+cp;2716;Emoji;na=HEAVY MULTIPLICATION X
- cp;2717;na=BALLOT X
- cp;2718;na=HEAVY BALLOT X
- # Crosses
-@@ -11303,19 +11307,19 @@ cp;2719;na=OUTLINED GREEK CROSS
- cp;271A;na=HEAVY GREEK CROSS
- cp;271B;na=OPEN CENTRE CROSS
- cp;271C;na=HEAVY OPEN CENTRE CROSS
--cp;271D;na=LATIN CROSS
-+cp;271D;Emoji;na=LATIN CROSS
- cp;271E;na=SHADOWED WHITE LATIN CROSS
- cp;271F;na=OUTLINED LATIN CROSS
- cp;2720;na=MALTESE CROSS
- # Stars and asterisks
--cp;2721;na=STAR OF DAVID
-+cp;2721;Emoji;na=STAR OF DAVID
- cp;2722;na=FOUR TEARDROP-SPOKED ASTERISK
- cp;2723;na=FOUR BALLOON-SPOKED ASTERISK
- cp;2724;na=HEAVY FOUR BALLOON-SPOKED ASTERISK
- cp;2725;na=FOUR CLUB-SPOKED ASTERISK
- cp;2726;na=BLACK FOUR POINTED STAR
- cp;2727;na=WHITE FOUR POINTED STAR
--cp;2728;age=6.0;na=SPARKLES
-+cp;2728;age=6.0;Emoji;Emoji_Presentation;na=SPARKLES
- cp;2729;na=STRESS OUTLINED WHITE STAR
- cp;272A;na=CIRCLED WHITE STAR
- cp;272B;na=OPEN CENTRE BLACK STAR
-@@ -11326,8 +11330,8 @@ cp;272F;na=PINWHEEL STAR
- cp;2730;na=SHADOWED WHITE STAR
- cp;2731;na=HEAVY ASTERISK
- cp;2732;na=OPEN CENTRE ASTERISK
--cp;2733;na=EIGHT SPOKED ASTERISK
--cp;2734;na=EIGHT POINTED BLACK STAR
-+cp;2733;Emoji;na=EIGHT SPOKED ASTERISK
-+cp;2734;Emoji;na=EIGHT POINTED BLACK STAR
- cp;2735;na=EIGHT POINTED PINWHEEL STAR
- cp;2736;na=SIX POINTED BLACK STAR
- cp;2737;na=EIGHT POINTED RECTILINEAR BLACK STAR
-@@ -11345,27 +11349,27 @@ cp;2741;na=EIGHT PETALLED OUTLINED BLACK FLORETTE
- # Stars, asterisks and snowflakes
- cp;2742;na=CIRCLED OPEN CENTRE EIGHT POINTED STAR
- cp;2743;na=HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
--cp;2744;na=SNOWFLAKE
-+cp;2744;Emoji;na=SNOWFLAKE
- cp;2745;na=TIGHT TRIFOLIATE SNOWFLAKE
- cp;2746;na=HEAVY CHEVRON SNOWFLAKE
--cp;2747;na=SPARKLE
-+cp;2747;Emoji;na=SPARKLE
- cp;2748;na=HEAVY SPARKLE
- cp;2749;na=BALLOON-SPOKED ASTERISK
- cp;274A;na=EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- cp;274B;na=HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- # Miscellaneous
--cp;274C;age=6.0;na=CROSS MARK
-+cp;274C;age=6.0;Emoji;Emoji_Presentation;na=CROSS MARK
- cp;274D;na=SHADOWED WHITE CIRCLE
--cp;274E;age=6.0;na=NEGATIVE SQUARED CROSS MARK
-+cp;274E;age=6.0;Emoji;Emoji_Presentation;na=NEGATIVE SQUARED CROSS MARK
- cp;274F;na=LOWER RIGHT DROP-SHADOWED WHITE SQUARE
- cp;2750;na=UPPER RIGHT DROP-SHADOWED WHITE SQUARE
- cp;2751;na=LOWER RIGHT SHADOWED WHITE SQUARE
- cp;2752;na=UPPER RIGHT SHADOWED WHITE SQUARE
--cp;2753;age=6.0;na=BLACK QUESTION MARK ORNAMENT
--cp;2754;age=6.0;na=WHITE QUESTION MARK ORNAMENT
--cp;2755;age=6.0;na=WHITE EXCLAMATION MARK ORNAMENT
-+cp;2753;age=6.0;Emoji;Emoji_Presentation;na=BLACK QUESTION MARK ORNAMENT
-+cp;2754;age=6.0;Emoji;Emoji_Presentation;na=WHITE QUESTION MARK ORNAMENT
-+cp;2755;age=6.0;Emoji;Emoji_Presentation;na=WHITE EXCLAMATION MARK ORNAMENT
- cp;2756;na=BLACK DIAMOND MINUS WHITE X
--cp;2757;age=5.2;ea=A;lb=AI;na=HEAVY EXCLAMATION MARK SYMBOL
-+cp;2757;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=AI;na=HEAVY EXCLAMATION MARK SYMBOL
- cp;2758;na=LIGHT VERTICAL BAR
- cp;2759;na=MEDIUM VERTICAL BAR
- cp;275A;na=HEAVY VERTICAL BAR
-@@ -11378,8 +11382,8 @@ cp;275F;age=6.0;lb=QU;na=HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT;SB=CL
- cp;2760;age=6.0;lb=QU;na=HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;SB=CL
- cp;2761;na=CURVED STEM PARAGRAPH SIGN ORNAMENT
- cp;2762;lb=EX;na=HEAVY EXCLAMATION MARK ORNAMENT
--cp;2763;lb=EX;na=HEAVY HEART EXCLAMATION MARK ORNAMENT
--cp;2764;na=HEAVY BLACK HEART
-+cp;2763;Emoji;lb=EX;na=HEAVY HEART EXCLAMATION MARK ORNAMENT
-+cp;2764;Emoji;na=HEAVY BLACK HEART
- cp;2765;na=ROTATED HEAVY BLACK HEART BULLET
- # Fleurons
- cp;2766;na=FLORAL HEART
-@@ -11433,9 +11437,9 @@ cp;2793;gc=No;lb=AI;na=DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;nt=Nu;nv=1
- # Dingbat arrow
- cp;2794;na=HEAVY WIDE-HEADED RIGHTWARDS ARROW
- # Heavy variants of arithmetic symbols
--cp;2795;age=6.0;na=HEAVY PLUS SIGN
--cp;2796;age=6.0;na=HEAVY MINUS SIGN
--cp;2797;age=6.0;na=HEAVY DIVISION SIGN
-+cp;2795;age=6.0;Emoji;Emoji_Presentation;na=HEAVY PLUS SIGN
-+cp;2796;age=6.0;Emoji;Emoji_Presentation;na=HEAVY MINUS SIGN
-+cp;2797;age=6.0;Emoji;Emoji_Presentation;na=HEAVY DIVISION SIGN
- # Dingbat arrows
- cp;2798;na=HEAVY SOUTH EAST ARROW
- cp;2799;na=HEAVY RIGHTWARDS ARROW
-@@ -11446,7 +11450,7 @@ cp;279D;na=TRIANGLE-HEADED RIGHTWARDS ARROW
- cp;279E;na=HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
- cp;279F;na=DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
- cp;27A0;na=HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
--cp;27A1;na=BLACK RIGHTWARDS ARROW
-+cp;27A1;Emoji;na=BLACK RIGHTWARDS ARROW
- cp;27A2;na=THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
- cp;27A3;na=THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
- cp;27A4;na=BLACK RIGHTWARDS ARROWHEAD
-@@ -11462,7 +11466,7 @@ cp;27AD;na=HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- cp;27AE;na=HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- cp;27AF;na=NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- # Miscellaneous
--cp;27B0;age=6.0;na=CURLY LOOP
-+cp;27B0;age=6.0;Emoji;Emoji_Presentation;na=CURLY LOOP
- # Dingbat arrows
- cp;27B1;na=NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
- cp;27B2;na=CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-@@ -11479,7 +11483,7 @@ cp;27BC;na=WEDGE-TAILED RIGHTWARDS ARROW
- cp;27BD;na=HEAVY WEDGE-TAILED RIGHTWARDS ARROW
- cp;27BE;na=OPEN-OUTLINED RIGHTWARDS ARROW
- # Miscellaneous
--cp;27BF;age=6.0;na=DOUBLE CURLY LOOP
-+cp;27BF;age=6.0;Emoji;Emoji_Presentation;na=DOUBLE CURLY LOOP
- 
- block;27C0..27EF;age=3.2;bc=ON;Bidi_M;blk=Misc_Math_Symbols_A;gc=Sm;Gr_Base;lb=AL;Math;Pat_Syn;sc=Zyyy
- # 27C0..27EF Miscellaneous Mathematical Symbols-A
-@@ -11884,8 +11888,8 @@ cp;2931;na=NORTH EAST ARROW CROSSING NORTH WEST ARROW
- cp;2932;na=NORTH WEST ARROW CROSSING NORTH EAST ARROW
- # Miscellaneous curved arrows
- cp;2933;na=WAVE ARROW POINTING DIRECTLY RIGHT
--cp;2934;na=ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
--cp;2935;na=ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-+cp;2934;Emoji;na=ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-+cp;2935;Emoji;na=ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
- cp;2936;na=ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
- cp;2937;na=ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
- cp;2938;na=RIGHT-SIDE ARC CLOCKWISE ARROW
-@@ -12402,9 +12406,9 @@ cp;2B01;age=4.0;na=NORTH WEST WHITE ARROW
- cp;2B02;age=4.0;na=SOUTH EAST WHITE ARROW
- cp;2B03;age=4.0;na=SOUTH WEST WHITE ARROW
- cp;2B04;age=4.0;na=LEFT RIGHT WHITE ARROW
--cp;2B05;age=4.0;na=LEFTWARDS BLACK ARROW
--cp;2B06;age=4.0;na=UPWARDS BLACK ARROW
--cp;2B07;age=4.0;na=DOWNWARDS BLACK ARROW
-+cp;2B05;age=4.0;Emoji;na=LEFTWARDS BLACK ARROW
-+cp;2B06;age=4.0;Emoji;na=UPWARDS BLACK ARROW
-+cp;2B07;age=4.0;Emoji;na=DOWNWARDS BLACK ARROW
- cp;2B08;age=4.0;na=NORTH EAST BLACK ARROW
- cp;2B09;age=4.0;na=NORTH WEST BLACK ARROW
- cp;2B0A;age=4.0;na=SOUTH EAST BLACK ARROW
-@@ -12428,8 +12432,8 @@ cp;2B18;age=5.0;na=DIAMOND WITH TOP HALF BLACK
- cp;2B19;age=5.0;na=DIAMOND WITH BOTTOM HALF BLACK
- # Squares
- cp;2B1A;age=5.0;na=DOTTED SQUARE
--cp;2B1B;age=5.1;na=BLACK LARGE SQUARE
--cp;2B1C;age=5.1;na=WHITE LARGE SQUARE
-+cp;2B1B;age=5.1;Emoji;Emoji_Presentation;na=BLACK LARGE SQUARE
-+cp;2B1C;age=5.1;Emoji;Emoji_Presentation;na=WHITE LARGE SQUARE
- cp;2B1D;age=5.1;na=BLACK VERY SMALL SQUARE
- cp;2B1E;age=5.1;na=WHITE VERY SMALL SQUARE
- # Pentagons
-@@ -12490,14 +12494,14 @@ cp;2B4D;na=DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW
- cp;2B4E;na=SHORT SLANTED NORTH ARROW
- cp;2B4F;na=SHORT BACKSLANTED SOUTH ARROW
- # Stars
--cp;2B50;age=5.1;na=WHITE MEDIUM STAR
-+cp;2B50;age=5.1;Emoji;Emoji_Presentation;na=WHITE MEDIUM STAR
- cp;2B51;age=5.1;na=BLACK SMALL STAR
- cp;2B52;age=5.1;na=WHITE SMALL STAR
- # Pentagons
- cp;2B53;age=5.1;na=BLACK RIGHT-POINTING PENTAGON
- cp;2B54;age=5.1;na=WHITE RIGHT-POINTING PENTAGON
- # Traffic sign from ARIB STD B24
--cp;2B55;age=5.2;ea=A;lb=AI;na=HEAVY LARGE CIRCLE
-+cp;2B55;age=5.2;ea=A;Emoji;Emoji_Presentation;lb=AI;na=HEAVY LARGE CIRCLE
- # Dictionary and map symbols from ARIB STD B24
- cp;2B56;age=5.2;ea=A;lb=AI;na=HEAVY OVAL WITH OVAL INSIDE
- cp;2B57;age=5.2;ea=A;lb=AI;na=HEAVY CIRCLE WITH CIRCLE INSIDE
-@@ -13679,7 +13683,7 @@ cp;302D;bc=NSM;ccc=222;CI;Dia;gc=Mn;GCB=EX;-Gr_Base;Gr_Ext;IDC;jt=T;lb=CM;na=IDE
- cp;302E;bc=L;ccc=224;Dia;gc=Mc;GCB=EX;-Gr_Base;Gr_Ext;IDC;lb=CM;na=HANGUL SINGLE DOT TONE MARK;SB=EX;sc=Hang;WB=Extend;XIDC
- cp;302F;bc=L;ccc=224;Dia;gc=Mc;GCB=EX;-Gr_Base;Gr_Ext;IDC;lb=CM;na=HANGUL DOUBLE DOT TONE MARK;SB=EX;sc=Hang;WB=Extend;XIDC
- # Other CJK symbols
--cp;3030;Dash;gc=Pd;na=WAVY DASH;Pat_Syn;SB=XX;scx=Bopo Hang Hani Hira Kana
-+cp;3030;Dash;Emoji;gc=Pd;na=WAVY DASH;Pat_Syn;SB=XX;scx=Bopo Hang Hani Hira Kana
- cp;3031;Alpha;bc=L;CI;Ext;gc=Lm;IDC;IDS;na=VERTICAL KANA REPEAT MARK;scx=Hira Kana;WB=KA;XIDC;XIDS
- cp;3032;Alpha;bc=L;CI;Ext;gc=Lm;IDC;IDS;na=VERTICAL KANA REPEAT WITH VOICED SOUND MARK;scx=Hira Kana;WB=KA;XIDC;XIDS
- cp;3033;Alpha;bc=L;CI;Ext;gc=Lm;IDC;IDS;na=VERTICAL KANA REPEAT MARK UPPER HALF;scx=Hira Kana;WB=KA;XIDC;XIDS
-@@ -13694,7 +13698,7 @@ cp;303A;age=3.0;Alpha;bc=L;CWKCF;dm=5345;dt=Com;IDC;Ideo;IDS;na=HANGZHOU NUMERAL
- # Other CJK punctuation
- cp;303B;age=3.2;Alpha;bc=L;CI;gc=Lm;IDC;IDS;lb=NS;na=VERTICAL IDEOGRAPHIC ITERATION MARK;sc=Hani;WB=LE;XIDC;XIDS
- cp;303C;age=3.2;Alpha;bc=L;gc=Lo;IDC;IDS;lb=NS;na=MASU MARK;scx=Hani Hira Kana;WB=LE;XIDC;XIDS
--cp;303D;age=3.2;gc=Po;na=PART ALTERNATION MARK;SB=XX;scx=Hani Hira Kana
-+cp;303D;age=3.2;Emoji;gc=Po;na=PART ALTERNATION MARK;SB=XX;scx=Hani Hira Kana
- # Special CJK indicators
- cp;303E;age=3.0;gc=So;na=IDEOGRAPHIC VARIATION INDICATOR;SB=XX;scx=Bopo Hang Hani Hira Kana
- cp;303F;ea=N;gc=So;na=IDEOGRAPHIC HALF FILL SPACE;SB=XX;scx=Bopo Hang Hani Hira Kana
-@@ -14341,9 +14345,9 @@ cp;3293;dm=793E;na=CIRCLED IDEOGRAPH SOCIETY;NFKC_CF=793E;scx=Bopo Hang Hani Hir
- cp;3294;dm=540D;na=CIRCLED IDEOGRAPH NAME;NFKC_CF=540D;scx=Bopo Hang Hani Hira Kana
- cp;3295;dm=7279;na=CIRCLED IDEOGRAPH SPECIAL;NFKC_CF=7279;scx=Bopo Hang Hani Hira Kana
- cp;3296;dm=8CA1;na=CIRCLED IDEOGRAPH FINANCIAL;NFKC_CF=8CA1;scx=Bopo Hang Hani Hira Kana
--cp;3297;dm=795D;na=CIRCLED IDEOGRAPH CONGRATULATION;NFKC_CF=795D;scx=Bopo Hang Hani Hira Kana
-+cp;3297;dm=795D;Emoji;na=CIRCLED IDEOGRAPH CONGRATULATION;NFKC_CF=795D;scx=Bopo Hang Hani Hira Kana
- cp;3298;dm=52B4;na=CIRCLED IDEOGRAPH LABOR;NFKC_CF=52B4;scx=Bopo Hang Hani Hira Kana
--cp;3299;dm=79D8;na=CIRCLED IDEOGRAPH SECRET;NFKC_CF=79D8;scx=Bopo Hang Hani Hira Kana
-+cp;3299;dm=79D8;Emoji;na=CIRCLED IDEOGRAPH SECRET;NFKC_CF=79D8;scx=Bopo Hang Hani Hira Kana
- cp;329A;dm=7537;na=CIRCLED IDEOGRAPH MALE;NFKC_CF=7537;scx=Bopo Hang Hani Hira Kana
- cp;329B;dm=5973;na=CIRCLED IDEOGRAPH FEMALE;NFKC_CF=5973;scx=Bopo Hang Hani Hira Kana
- cp;329C;dm=9069;na=CIRCLED IDEOGRAPH SUITABLE;NFKC_CF=9069;scx=Bopo Hang Hani Hira Kana
-@@ -31143,7 +31147,7 @@ cp;1F001;na=MAHJONG TILE SOUTH WIND
- cp;1F002;na=MAHJONG TILE WEST WIND
- cp;1F003;na=MAHJONG TILE NORTH WIND
- # Dragon tiles
--cp;1F004;na=MAHJONG TILE RED DRAGON
-+cp;1F004;Emoji;Emoji_Presentation;na=MAHJONG TILE RED DRAGON
- cp;1F005;na=MAHJONG TILE GREEN DRAGON
- cp;1F006;na=MAHJONG TILE WHITE DRAGON
- # Character suit tiles
-@@ -31365,7 +31369,7 @@ cp;1F0CC;na=PLAYING CARD KNIGHT OF DIAMONDS
- cp;1F0CD;na=PLAYING CARD QUEEN OF DIAMONDS
- cp;1F0CE;na=PLAYING CARD KING OF DIAMONDS
- # Joker
--cp;1F0CF;na=PLAYING CARD BLACK JOKER
-+cp;1F0CF;Emoji;Emoji_Presentation;na=PLAYING CARD BLACK JOKER
- cp;1F0D0;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Clubs or wands
- cp;1F0D1;na=PLAYING CARD ACE OF CLUBS
-@@ -31529,8 +31533,8 @@ cp;1F16A;age=6.1;bc=ON;CWKCF;dm=004D 0043;dt=Sup;ea=N;FC_NFKC=006D 0063;lb=AL;na
- cp;1F16B;age=6.1;bc=ON;CWKCF;dm=004D 0044;dt=Sup;ea=N;FC_NFKC=006D 0064;lb=AL;na=RAISED MD SIGN;NFKC_CF=006D 0064;NFKC_QC=N;NFKD_QC=N;WB=XX
- cp;1F16C..1F16F;age=NA;ea=N;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz;WB=XX
- # White on black squared Latin letters
--cp;1F170;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER A;SB=UP;Upper
--cp;1F171;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER B;SB=UP;Upper
-+cp;1F170;Alpha;Cased;Emoji;na=NEGATIVE SQUARED LATIN CAPITAL LETTER A;SB=UP;Upper
-+cp;1F171;Alpha;Cased;Emoji;na=NEGATIVE SQUARED LATIN CAPITAL LETTER B;SB=UP;Upper
- cp;1F172;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER C;SB=UP;Upper
- cp;1F173;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER D;SB=UP;Upper
- cp;1F174;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER E;SB=UP;Upper
-@@ -31543,8 +31547,8 @@ cp;1F17A;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER K;SB=UP;Upper
- cp;1F17B;age=5.2;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER L;SB=UP;Upper
- cp;1F17C;age=5.2;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER M;SB=UP;Upper
- cp;1F17D;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER N;SB=UP;Upper
--cp;1F17E;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER O;SB=UP;Upper
--cp;1F17F;age=5.2;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER P;SB=UP;Upper
-+cp;1F17E;Alpha;Cased;Emoji;na=NEGATIVE SQUARED LATIN CAPITAL LETTER O;SB=UP;Upper
-+cp;1F17F;age=5.2;Alpha;Cased;Emoji;na=NEGATIVE SQUARED LATIN CAPITAL LETTER P;SB=UP;Upper
- cp;1F180;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER Q;SB=UP;Upper
- cp;1F181;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER R;SB=UP;Upper
- cp;1F182;Alpha;Cased;na=NEGATIVE SQUARED LATIN CAPITAL LETTER S;SB=UP;Upper
-@@ -31559,56 +31563,56 @@ cp;1F18A;age=5.2;na=CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;WB=XX
- cp;1F18B;age=5.2;na=NEGATIVE SQUARED IC;WB=XX
- cp;1F18C;age=5.2;na=NEGATIVE SQUARED PA;WB=XX
- cp;1F18D;age=5.2;na=NEGATIVE SQUARED SA;WB=XX
--cp;1F18E;na=NEGATIVE SQUARED AB;WB=XX
-+cp;1F18E;Emoji;Emoji_Presentation;na=NEGATIVE SQUARED AB;WB=XX
- cp;1F18F;na=NEGATIVE SQUARED WC;WB=XX
- # Squared Latin letter sequences
- cp;1F190;age=5.2;CWKCF;dm=0044 004A;dt=Sqr;FC_NFKC=0064 006A;na=SQUARE DJ;NFKC_CF=0064 006A;NFKC_QC=N;NFKD_QC=N;WB=XX
--cp;1F191;na=SQUARED CL;WB=XX
--cp;1F192;na=SQUARED COOL;WB=XX
--cp;1F193;na=SQUARED FREE;WB=XX
--cp;1F194;na=SQUARED ID;WB=XX
--cp;1F195;na=SQUARED NEW;WB=XX
--cp;1F196;na=SQUARED NG;WB=XX
--cp;1F197;na=SQUARED OK;WB=XX
--cp;1F198;na=SQUARED SOS;WB=XX
--cp;1F199;na=SQUARED UP WITH EXCLAMATION MARK;WB=XX
--cp;1F19A;na=SQUARED VS;WB=XX
-+cp;1F191;Emoji;Emoji_Presentation;na=SQUARED CL;WB=XX
-+cp;1F192;Emoji;Emoji_Presentation;na=SQUARED COOL;WB=XX
-+cp;1F193;Emoji;Emoji_Presentation;na=SQUARED FREE;WB=XX
-+cp;1F194;Emoji;Emoji_Presentation;na=SQUARED ID;WB=XX
-+cp;1F195;Emoji;Emoji_Presentation;na=SQUARED NEW;WB=XX
-+cp;1F196;Emoji;Emoji_Presentation;na=SQUARED NG;WB=XX
-+cp;1F197;Emoji;Emoji_Presentation;na=SQUARED OK;WB=XX
-+cp;1F198;Emoji;Emoji_Presentation;na=SQUARED SOS;WB=XX
-+cp;1F199;Emoji;Emoji_Presentation;na=SQUARED UP WITH EXCLAMATION MARK;WB=XX
-+cp;1F19A;Emoji;Emoji_Presentation;na=SQUARED VS;WB=XX
- cp;1F19B..1F1E5;age=NA;ea=N;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz;WB=XX
- # Regional indicator symbols
--cp;1F1E6;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER A;WB=RI
--cp;1F1E7;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER B;WB=RI
--cp;1F1E8;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER C;WB=RI
--cp;1F1E9;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER D;WB=RI
--cp;1F1EA;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER E;WB=RI
--cp;1F1EB;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER F;WB=RI
--cp;1F1EC;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER G;WB=RI
--cp;1F1ED;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER H;WB=RI
--cp;1F1EE;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER I;WB=RI
--cp;1F1EF;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER J;WB=RI
--cp;1F1F0;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER K;WB=RI
--cp;1F1F1;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER L;WB=RI
--cp;1F1F2;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER M;WB=RI
--cp;1F1F3;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER N;WB=RI
--cp;1F1F4;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER O;WB=RI
--cp;1F1F5;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER P;WB=RI
--cp;1F1F6;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Q;WB=RI
--cp;1F1F7;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER R;WB=RI
--cp;1F1F8;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER S;WB=RI
--cp;1F1F9;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER T;WB=RI
--cp;1F1FA;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER U;WB=RI
--cp;1F1FB;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER V;WB=RI
--cp;1F1FC;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER W;WB=RI
--cp;1F1FD;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER X;WB=RI
--cp;1F1FE;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Y;WB=RI
--cp;1F1FF;ea=N;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Z;WB=RI
-+cp;1F1E6;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER A;WB=RI
-+cp;1F1E7;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER B;WB=RI
-+cp;1F1E8;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER C;WB=RI
-+cp;1F1E9;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER D;WB=RI
-+cp;1F1EA;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER E;WB=RI
-+cp;1F1EB;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER F;WB=RI
-+cp;1F1EC;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER G;WB=RI
-+cp;1F1ED;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER H;WB=RI
-+cp;1F1EE;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER I;WB=RI
-+cp;1F1EF;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER J;WB=RI
-+cp;1F1F0;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER K;WB=RI
-+cp;1F1F1;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER L;WB=RI
-+cp;1F1F2;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER M;WB=RI
-+cp;1F1F3;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER N;WB=RI
-+cp;1F1F4;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER O;WB=RI
-+cp;1F1F5;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER P;WB=RI
-+cp;1F1F6;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Q;WB=RI
-+cp;1F1F7;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER R;WB=RI
-+cp;1F1F8;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER S;WB=RI
-+cp;1F1F9;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER T;WB=RI
-+cp;1F1FA;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER U;WB=RI
-+cp;1F1FB;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER V;WB=RI
-+cp;1F1FC;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER W;WB=RI
-+cp;1F1FD;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER X;WB=RI
-+cp;1F1FE;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Y;WB=RI
-+cp;1F1FF;ea=N;Emoji;Emoji_Presentation;GCB=RI;lb=RI;na=REGIONAL INDICATOR SYMBOL LETTER Z;WB=RI
- 
- block;1F200..1F2FF;age=5.2;blk=Enclosed_Ideographic_Sup;CWKCF;dt=Sqr;ea=W;gc=So;Gr_Base;lb=ID;NFKC_QC=N;NFKD_QC=N;sc=Zyyy
- # 1F200..1F2FF Enclosed Ideographic Supplement
- # Squared hiragana from ARIB STD B24
- cp;1F200;dm=307B 304B;na=SQUARE HIRAGANA HOKA;NFKC_CF=307B 304B;sc=Hira
- # Squared katakana
--cp;1F201;age=6.0;dm=30B3 30B3;na=SQUARED KATAKANA KOKO;NFKC_CF=30B3 30B3
--cp;1F202;age=6.0;dm=30B5;na=SQUARED KATAKANA SA;NFKC_CF=30B5
-+cp;1F201;age=6.0;dm=30B3 30B3;Emoji;Emoji_Presentation;na=SQUARED KATAKANA KOKO;NFKC_CF=30B3 30B3
-+cp;1F202;age=6.0;dm=30B5;Emoji;na=SQUARED KATAKANA SA;NFKC_CF=30B5
- cp;1F203..1F20F;age=NA;-CWKCF;dt=None;ea=N;gc=Cn;-Gr_Base;lb=XX;NFKC_QC=Y;NFKD_QC=Y;sc=Zzzz
- # Squared ideographs and kana from ARIB STD B24
- cp;1F210;dm=624B;na=SQUARED CJK UNIFIED IDEOGRAPH-624B;NFKC_CF=624B
-@@ -31621,7 +31625,7 @@ cp;1F216;dm=89E3;na=SQUARED CJK UNIFIED IDEOGRAPH-89E3;NFKC_CF=89E3
- cp;1F217;dm=5929;na=SQUARED CJK UNIFIED IDEOGRAPH-5929;NFKC_CF=5929
- cp;1F218;dm=4EA4;na=SQUARED CJK UNIFIED IDEOGRAPH-4EA4;NFKC_CF=4EA4
- cp;1F219;dm=6620;na=SQUARED CJK UNIFIED IDEOGRAPH-6620;NFKC_CF=6620
--cp;1F21A;dm=7121;na=SQUARED CJK UNIFIED IDEOGRAPH-7121;NFKC_CF=7121
-+cp;1F21A;dm=7121;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-7121;NFKC_CF=7121
- cp;1F21B;dm=6599;na=SQUARED CJK UNIFIED IDEOGRAPH-6599;NFKC_CF=6599
- cp;1F21C;dm=524D;na=SQUARED CJK UNIFIED IDEOGRAPH-524D;NFKC_CF=524D
- cp;1F21D;dm=5F8C;na=SQUARED CJK UNIFIED IDEOGRAPH-5F8C;NFKC_CF=5F8C
-@@ -31642,19 +31646,19 @@ cp;1F22B;dm=904A;na=SQUARED CJK UNIFIED IDEOGRAPH-904A;NFKC_CF=904A
- cp;1F22C;dm=5DE6;na=SQUARED CJK UNIFIED IDEOGRAPH-5DE6;NFKC_CF=5DE6
- cp;1F22D;dm=4E2D;na=SQUARED CJK UNIFIED IDEOGRAPH-4E2D;NFKC_CF=4E2D
- cp;1F22E;dm=53F3;na=SQUARED CJK UNIFIED IDEOGRAPH-53F3;NFKC_CF=53F3
--cp;1F22F;dm=6307;na=SQUARED CJK UNIFIED IDEOGRAPH-6307;NFKC_CF=6307
-+cp;1F22F;dm=6307;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-6307;NFKC_CF=6307
- cp;1F230;dm=8D70;na=SQUARED CJK UNIFIED IDEOGRAPH-8D70;NFKC_CF=8D70
- cp;1F231;dm=6253;na=SQUARED CJK UNIFIED IDEOGRAPH-6253;NFKC_CF=6253
- # Squared ideographs
--cp;1F232;age=6.0;dm=7981;na=SQUARED CJK UNIFIED IDEOGRAPH-7981;NFKC_CF=7981
--cp;1F233;age=6.0;dm=7A7A;na=SQUARED CJK UNIFIED IDEOGRAPH-7A7A;NFKC_CF=7A7A
--cp;1F234;age=6.0;dm=5408;na=SQUARED CJK UNIFIED IDEOGRAPH-5408;NFKC_CF=5408
--cp;1F235;age=6.0;dm=6E80;na=SQUARED CJK UNIFIED IDEOGRAPH-6E80;NFKC_CF=6E80
--cp;1F236;age=6.0;dm=6709;na=SQUARED CJK UNIFIED IDEOGRAPH-6709;NFKC_CF=6709
--cp;1F237;age=6.0;dm=6708;na=SQUARED CJK UNIFIED IDEOGRAPH-6708;NFKC_CF=6708
--cp;1F238;age=6.0;dm=7533;na=SQUARED CJK UNIFIED IDEOGRAPH-7533;NFKC_CF=7533
--cp;1F239;age=6.0;dm=5272;na=SQUARED CJK UNIFIED IDEOGRAPH-5272;NFKC_CF=5272
--cp;1F23A;age=6.0;dm=55B6;na=SQUARED CJK UNIFIED IDEOGRAPH-55B6;NFKC_CF=55B6
-+cp;1F232;age=6.0;dm=7981;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-7981;NFKC_CF=7981
-+cp;1F233;age=6.0;dm=7A7A;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-7A7A;NFKC_CF=7A7A
-+cp;1F234;age=6.0;dm=5408;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-5408;NFKC_CF=5408
-+cp;1F235;age=6.0;dm=6E80;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-6E80;NFKC_CF=6E80
-+cp;1F236;age=6.0;dm=6709;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-6709;NFKC_CF=6709
-+cp;1F237;age=6.0;dm=6708;Emoji;na=SQUARED CJK UNIFIED IDEOGRAPH-6708;NFKC_CF=6708
-+cp;1F238;age=6.0;dm=7533;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-7533;NFKC_CF=7533
-+cp;1F239;age=6.0;dm=5272;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-5272;NFKC_CF=5272
-+cp;1F23A;age=6.0;dm=55B6;Emoji;Emoji_Presentation;na=SQUARED CJK UNIFIED IDEOGRAPH-55B6;NFKC_CF=55B6
- cp;1F23B..1F23F;age=NA;-CWKCF;dt=None;ea=N;gc=Cn;-Gr_Base;lb=XX;NFKC_QC=Y;NFKD_QC=Y;sc=Zzzz
- # Ideographs with tortoise shell brackets from ARIB STD B24
- cp;1F240;dm=3014 672C 3015;dt=Com;na=TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C;NFKC_CF=3014 672C 3015
-@@ -31668,11 +31672,11 @@ cp;1F247;dm=3014 52DD 3015;dt=Com;na=TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGR
- cp;1F248;dm=3014 6557 3015;dt=Com;na=TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557;NFKC_CF=3014 6557 3015
- cp;1F249..1F24F;age=NA;-CWKCF;dt=None;ea=N;gc=Cn;-Gr_Base;lb=XX;NFKC_QC=Y;NFKD_QC=Y;sc=Zzzz
- # Circled ideographs
--cp;1F250;age=6.0;dm=5F97;dt=Enc;na=CIRCLED IDEOGRAPH ADVANTAGE;NFKC_CF=5F97
--cp;1F251;age=6.0;dm=53EF;dt=Enc;na=CIRCLED IDEOGRAPH ACCEPT;NFKC_CF=53EF
-+cp;1F250;age=6.0;dm=5F97;dt=Enc;Emoji;Emoji_Presentation;na=CIRCLED IDEOGRAPH ADVANTAGE;NFKC_CF=5F97
-+cp;1F251;age=6.0;dm=53EF;dt=Enc;Emoji;Emoji_Presentation;na=CIRCLED IDEOGRAPH ACCEPT;NFKC_CF=53EF
- cp;1F252..1F2FF;age=NA;-CWKCF;dt=None;ea=N;gc=Cn;-Gr_Base;lb=XX;NFKC_QC=Y;NFKD_QC=Y;sc=Zzzz
- 
--block;1F300..1F5FF;age=6.0;bc=ON;blk=Misc_Pictographs;gc=So;Gr_Base;lb=ID;sc=Zyyy
-+block;1F300..1F5FF;age=6.0;bc=ON;blk=Misc_Pictographs;Emoji;Emoji_Presentation;gc=So;Gr_Base;lb=ID;sc=Zyyy
- # 1F300..1F5FF Miscellaneous Symbols and Pictographs
- # Weather, landscape, and sky symbols
- cp;1F300;na=CYCLONE
-@@ -31711,18 +31715,18 @@ cp;1F31E;na=SUN WITH FACE
- cp;1F31F;na=GLOWING STAR
- cp;1F320;na=SHOOTING STAR
- # Weather symbols
--cp;1F321;age=7.0;na=THERMOMETER
--cp;1F322;age=7.0;na=BLACK DROPLET
--cp;1F323;age=7.0;na=WHITE SUN
--cp;1F324;age=7.0;na=WHITE SUN WITH SMALL CLOUD
--cp;1F325;age=7.0;na=WHITE SUN BEHIND CLOUD
--cp;1F326;age=7.0;na=WHITE SUN BEHIND CLOUD WITH RAIN
--cp;1F327;age=7.0;na=CLOUD WITH RAIN
--cp;1F328;age=7.0;na=CLOUD WITH SNOW
--cp;1F329;age=7.0;na=CLOUD WITH LIGHTNING
--cp;1F32A;age=7.0;na=CLOUD WITH TORNADO
--cp;1F32B;age=7.0;na=FOG
--cp;1F32C;age=7.0;na=WIND BLOWING FACE
-+cp;1F321;age=7.0;-Emoji_Presentation;na=THERMOMETER
-+cp;1F322;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK DROPLET
-+cp;1F323;age=7.0;-Emoji;-Emoji_Presentation;na=WHITE SUN
-+cp;1F324;age=7.0;-Emoji_Presentation;na=WHITE SUN WITH SMALL CLOUD
-+cp;1F325;age=7.0;-Emoji_Presentation;na=WHITE SUN BEHIND CLOUD
-+cp;1F326;age=7.0;-Emoji_Presentation;na=WHITE SUN BEHIND CLOUD WITH RAIN
-+cp;1F327;age=7.0;-Emoji_Presentation;na=CLOUD WITH RAIN
-+cp;1F328;age=7.0;-Emoji_Presentation;na=CLOUD WITH SNOW
-+cp;1F329;age=7.0;-Emoji_Presentation;na=CLOUD WITH LIGHTNING
-+cp;1F32A;age=7.0;-Emoji_Presentation;na=CLOUD WITH TORNADO
-+cp;1F32B;age=7.0;-Emoji_Presentation;na=FOG
-+cp;1F32C;age=7.0;-Emoji_Presentation;na=WIND BLOWING FACE
- # Food symbols
- cp;1F32D;age=8.0;na=HOT DOG
- cp;1F32E;age=8.0;na=TACO
-@@ -31734,7 +31738,7 @@ cp;1F332;na=EVERGREEN TREE
- cp;1F333;na=DECIDUOUS TREE
- cp;1F334;na=PALM TREE
- cp;1F335;na=CACTUS
--cp;1F336;age=7.0;na=HOT PEPPER
-+cp;1F336;age=7.0;-Emoji_Presentation;na=HOT PEPPER
- cp;1F337;na=TULIP
- cp;1F338;na=CHERRY BLOSSOM
- cp;1F339;na=ROSE
-@@ -31809,7 +31813,7 @@ cp;1F37A;na=BEER MUG
- cp;1F37B;na=CLINKING BEER MUGS
- cp;1F37C;na=BABY BOTTLE
- # Accommodation symbol
--cp;1F37D;age=7.0;na=FORK AND KNIFE WITH PLATE
-+cp;1F37D;age=7.0;-Emoji_Presentation;na=FORK AND KNIFE WITH PLATE
- # Beverage and food symbols
- cp;1F37E;age=8.0;na=BOTTLE WITH POPPING CORK
- cp;1F37F;age=8.0;na=POPCORN
-@@ -31819,7 +31823,7 @@ cp;1F381;na=WRAPPED PRESENT
- cp;1F382;na=BIRTHDAY CAKE
- cp;1F383;na=JACK-O-LANTERN
- cp;1F384;na=CHRISTMAS TREE
--cp;1F385;na=FATHER CHRISTMAS
-+cp;1F385;Emoji_Modifier_Base;na=FATHER CHRISTMAS
- cp;1F386;na=FIREWORKS
- cp;1F387;na=FIREWORK SPARKLER
- cp;1F388;na=BALLOON
-@@ -31834,20 +31838,20 @@ cp;1F390;na=WIND CHIME
- cp;1F391;na=MOON VIEWING CEREMONY
- cp;1F392;na=SCHOOL SATCHEL
- cp;1F393;na=GRADUATION CAP
--cp;1F394;age=7.0;na=HEART WITH TIP ON THE LEFT
--cp;1F395;age=7.0;na=BOUQUET OF FLOWERS
--cp;1F396;age=7.0;na=MILITARY MEDAL
--cp;1F397;age=7.0;na=REMINDER RIBBON
-+cp;1F394;age=7.0;-Emoji;-Emoji_Presentation;na=HEART WITH TIP ON THE LEFT
-+cp;1F395;age=7.0;-Emoji;-Emoji_Presentation;na=BOUQUET OF FLOWERS
-+cp;1F396;age=7.0;-Emoji_Presentation;na=MILITARY MEDAL
-+cp;1F397;age=7.0;-Emoji_Presentation;na=REMINDER RIBBON
- # Musical symbols
--cp;1F398;age=7.0;na=MUSICAL KEYBOARD WITH JACKS
--cp;1F399;age=7.0;na=STUDIO MICROPHONE
--cp;1F39A;age=7.0;na=LEVEL SLIDER
--cp;1F39B;age=7.0;na=CONTROL KNOBS
--cp;1F39C;age=7.0;lb=AL;na=BEAMED ASCENDING MUSICAL NOTES
--cp;1F39D;age=7.0;lb=AL;na=BEAMED DESCENDING MUSICAL NOTES
-+cp;1F398;age=7.0;-Emoji;-Emoji_Presentation;na=MUSICAL KEYBOARD WITH JACKS
-+cp;1F399;age=7.0;-Emoji_Presentation;na=STUDIO MICROPHONE
-+cp;1F39A;age=7.0;-Emoji_Presentation;na=LEVEL SLIDER
-+cp;1F39B;age=7.0;-Emoji_Presentation;na=CONTROL KNOBS
-+cp;1F39C;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BEAMED ASCENDING MUSICAL NOTES
-+cp;1F39D;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BEAMED DESCENDING MUSICAL NOTES
- # Entertainment symbols
--cp;1F39E;age=7.0;na=FILM FRAMES
--cp;1F39F;age=7.0;na=ADMISSION TICKETS
-+cp;1F39E;age=7.0;-Emoji_Presentation;na=FILM FRAMES
-+cp;1F39F;age=7.0;-Emoji_Presentation;na=ADMISSION TICKETS
- cp;1F3A0;na=CAROUSEL HORSE
- cp;1F3A1;na=FERRIS WHEEL
- cp;1F3A2;na=ROLLER COASTER
-@@ -31886,36 +31890,36 @@ cp;1F3BF;na=SKI AND SKI BOOT
- cp;1F3C0;na=BASKETBALL AND HOOP
- cp;1F3C1;na=CHEQUERED FLAG
- cp;1F3C2;na=SNOWBOARDER
--cp;1F3C3;na=RUNNER
--cp;1F3C4;na=SURFER
-+cp;1F3C3;Emoji_Modifier_Base;na=RUNNER
-+cp;1F3C4;Emoji_Modifier_Base;na=SURFER
- cp;1F3C5;age=7.0;na=SPORTS MEDAL
- cp;1F3C6;na=TROPHY
- cp;1F3C7;na=HORSE RACING
- cp;1F3C8;na=AMERICAN FOOTBALL
- cp;1F3C9;na=RUGBY FOOTBALL
--cp;1F3CA;na=SWIMMER
--cp;1F3CB;age=7.0;na=WEIGHT LIFTER
--cp;1F3CC;age=7.0;na=GOLFER
--cp;1F3CD;age=7.0;na=RACING MOTORCYCLE
--cp;1F3CE;age=7.0;na=RACING CAR
-+cp;1F3CA;Emoji_Modifier_Base;na=SWIMMER
-+cp;1F3CB;age=7.0;Emoji_Modifier_Base;-Emoji_Presentation;na=WEIGHT LIFTER
-+cp;1F3CC;age=7.0;-Emoji_Presentation;na=GOLFER
-+cp;1F3CD;age=7.0;-Emoji_Presentation;na=RACING MOTORCYCLE
-+cp;1F3CE;age=7.0;-Emoji_Presentation;na=RACING CAR
- cp;1F3CF;age=8.0;na=CRICKET BAT AND BALL
- cp;1F3D0;age=8.0;na=VOLLEYBALL
- cp;1F3D1;age=8.0;na=FIELD HOCKEY STICK AND BALL
- cp;1F3D2;age=8.0;na=ICE HOCKEY STICK AND PUCK
- cp;1F3D3;age=8.0;na=TABLE TENNIS PADDLE AND BALL
- # Buiding and map symbols
--cp;1F3D4;age=7.0;na=SNOW CAPPED MOUNTAIN
--cp;1F3D5;age=7.0;na=CAMPING
--cp;1F3D6;age=7.0;na=BEACH WITH UMBRELLA
--cp;1F3D7;age=7.0;na=BUILDING CONSTRUCTION
--cp;1F3D8;age=7.0;na=HOUSE BUILDINGS
--cp;1F3D9;age=7.0;na=CITYSCAPE
--cp;1F3DA;age=7.0;na=DERELICT HOUSE BUILDING
--cp;1F3DB;age=7.0;na=CLASSICAL BUILDING
--cp;1F3DC;age=7.0;na=DESERT
--cp;1F3DD;age=7.0;na=DESERT ISLAND
--cp;1F3DE;age=7.0;na=NATIONAL PARK
--cp;1F3DF;age=7.0;na=STADIUM
-+cp;1F3D4;age=7.0;-Emoji_Presentation;na=SNOW CAPPED MOUNTAIN
-+cp;1F3D5;age=7.0;-Emoji_Presentation;na=CAMPING
-+cp;1F3D6;age=7.0;-Emoji_Presentation;na=BEACH WITH UMBRELLA
-+cp;1F3D7;age=7.0;-Emoji_Presentation;na=BUILDING CONSTRUCTION
-+cp;1F3D8;age=7.0;-Emoji_Presentation;na=HOUSE BUILDINGS
-+cp;1F3D9;age=7.0;-Emoji_Presentation;na=CITYSCAPE
-+cp;1F3DA;age=7.0;-Emoji_Presentation;na=DERELICT HOUSE BUILDING
-+cp;1F3DB;age=7.0;-Emoji_Presentation;na=CLASSICAL BUILDING
-+cp;1F3DC;age=7.0;-Emoji_Presentation;na=DESERT
-+cp;1F3DD;age=7.0;-Emoji_Presentation;na=DESERT ISLAND
-+cp;1F3DE;age=7.0;-Emoji_Presentation;na=NATIONAL PARK
-+cp;1F3DF;age=7.0;-Emoji_Presentation;na=STADIUM
- cp;1F3E0;na=HOUSE BUILDING
- cp;1F3E1;na=HOUSE WITH GARDEN
- cp;1F3E2;na=OFFICE BUILDING
-@@ -31934,26 +31938,26 @@ cp;1F3EE;na=IZAKAYA LANTERN
- cp;1F3EF;na=JAPANESE CASTLE
- cp;1F3F0;na=EUROPEAN CASTLE
- # Flag symbols
--cp;1F3F1;age=7.0;na=WHITE PENNANT
--cp;1F3F2;age=7.0;na=BLACK PENNANT
--cp;1F3F3;age=7.0;na=WAVING WHITE FLAG
-+cp;1F3F1;age=7.0;-Emoji;-Emoji_Presentation;na=WHITE PENNANT
-+cp;1F3F2;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK PENNANT
-+cp;1F3F3;age=7.0;-Emoji_Presentation;na=WAVING WHITE FLAG
- cp;1F3F4;age=7.0;na=WAVING BLACK FLAG
- # Rosettes
--cp;1F3F5;age=7.0;na=ROSETTE
--cp;1F3F6;age=7.0;na=BLACK ROSETTE
-+cp;1F3F5;age=7.0;-Emoji_Presentation;na=ROSETTE
-+cp;1F3F6;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK ROSETTE
- # Miscellaneous symbol
--cp;1F3F7;age=7.0;na=LABEL
-+cp;1F3F7;age=7.0;-Emoji_Presentation;na=LABEL
- # Sport symbols
- cp;1F3F8;age=8.0;na=BADMINTON RACQUET AND SHUTTLECOCK
- cp;1F3F9;age=8.0;na=BOW AND ARROW
- # Miscellaneous symbol
- cp;1F3FA;age=8.0;na=AMPHORA
- # Emoji modifiers
--cp;1F3FB;age=8.0;CI;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-1-2
--cp;1F3FC;age=8.0;CI;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-3
--cp;1F3FD;age=8.0;CI;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-4
--cp;1F3FE;age=8.0;CI;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-5
--cp;1F3FF;age=8.0;CI;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-6
-+cp;1F3FB;age=8.0;CI;Emoji_Modifier;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-1-2
-+cp;1F3FC;age=8.0;CI;Emoji_Modifier;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-3
-+cp;1F3FD;age=8.0;CI;Emoji_Modifier;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-4
-+cp;1F3FE;age=8.0;CI;Emoji_Modifier;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-5
-+cp;1F3FF;age=8.0;CI;Emoji_Modifier;gc=Sk;lb=AL;na=EMOJI MODIFIER FITZPATRICK TYPE-6
- # Animal symbols
- cp;1F400;na=RAT
- cp;1F401;na=MOUSE
-@@ -32020,26 +32024,26 @@ cp;1F43C;na=PANDA FACE
- cp;1F43D;na=PIG NOSE
- # Animal symbols
- cp;1F43E;na=PAW PRINTS
--cp;1F43F;age=7.0;na=CHIPMUNK
-+cp;1F43F;age=7.0;-Emoji_Presentation;na=CHIPMUNK
- # Facial parts symbols
- cp;1F440;na=EYES
--cp;1F441;age=7.0;na=EYE
--cp;1F442;na=EAR
--cp;1F443;na=NOSE
-+cp;1F441;age=7.0;-Emoji_Presentation;na=EYE
-+cp;1F442;Emoji_Modifier_Base;na=EAR
-+cp;1F443;Emoji_Modifier_Base;na=NOSE
- cp;1F444;na=MOUTH
- cp;1F445;na=TONGUE
- # Hand symbols
--cp;1F446;na=WHITE UP POINTING BACKHAND INDEX
--cp;1F447;na=WHITE DOWN POINTING BACKHAND INDEX
--cp;1F448;na=WHITE LEFT POINTING BACKHAND INDEX
--cp;1F449;na=WHITE RIGHT POINTING BACKHAND INDEX
--cp;1F44A;na=FISTED HAND SIGN
--cp;1F44B;na=WAVING HAND SIGN
--cp;1F44C;na=OK HAND SIGN
--cp;1F44D;na=THUMBS UP SIGN
--cp;1F44E;na=THUMBS DOWN SIGN
--cp;1F44F;na=CLAPPING HANDS SIGN
--cp;1F450;na=OPEN HANDS SIGN
-+cp;1F446;Emoji_Modifier_Base;na=WHITE UP POINTING BACKHAND INDEX
-+cp;1F447;Emoji_Modifier_Base;na=WHITE DOWN POINTING BACKHAND INDEX
-+cp;1F448;Emoji_Modifier_Base;na=WHITE LEFT POINTING BACKHAND INDEX
-+cp;1F449;Emoji_Modifier_Base;na=WHITE RIGHT POINTING BACKHAND INDEX
-+cp;1F44A;Emoji_Modifier_Base;na=FISTED HAND SIGN
-+cp;1F44B;Emoji_Modifier_Base;na=WAVING HAND SIGN
-+cp;1F44C;Emoji_Modifier_Base;na=OK HAND SIGN
-+cp;1F44D;Emoji_Modifier_Base;na=THUMBS UP SIGN
-+cp;1F44E;Emoji_Modifier_Base;na=THUMBS DOWN SIGN
-+cp;1F44F;Emoji_Modifier_Base;na=CLAPPING HANDS SIGN
-+cp;1F450;Emoji_Modifier_Base;na=OPEN HANDS SIGN
- # Clothing and accessories
- cp;1F451;na=CROWN
- cp;1F452;na=WOMANS HAT
-@@ -32063,43 +32067,43 @@ cp;1F463;na=FOOTPRINTS
- # Portrait and role symbols
- cp;1F464;na=BUST IN SILHOUETTE
- cp;1F465;na=BUSTS IN SILHOUETTE
--cp;1F466;na=BOY
--cp;1F467;na=GIRL
--cp;1F468;na=MAN
--cp;1F469;na=WOMAN
-+cp;1F466;Emoji_Modifier_Base;na=BOY
-+cp;1F467;Emoji_Modifier_Base;na=GIRL
-+cp;1F468;Emoji_Modifier_Base;na=MAN
-+cp;1F469;Emoji_Modifier_Base;na=WOMAN
- cp;1F46A;na=FAMILY
- cp;1F46B;na=MAN AND WOMAN HOLDING HANDS
- cp;1F46C;na=TWO MEN HOLDING HANDS
- cp;1F46D;na=TWO WOMEN HOLDING HANDS
--cp;1F46E;na=POLICE OFFICER
-+cp;1F46E;Emoji_Modifier_Base;na=POLICE OFFICER
- cp;1F46F;na=WOMAN WITH BUNNY EARS
--cp;1F470;na=BRIDE WITH VEIL
--cp;1F471;na=PERSON WITH BLOND HAIR
--cp;1F472;na=MAN WITH GUA PI MAO
--cp;1F473;na=MAN WITH TURBAN
--cp;1F474;na=OLDER MAN
--cp;1F475;na=OLDER WOMAN
--cp;1F476;na=BABY
--cp;1F477;na=CONSTRUCTION WORKER
-+cp;1F470;Emoji_Modifier_Base;na=BRIDE WITH VEIL
-+cp;1F471;Emoji_Modifier_Base;na=PERSON WITH BLOND HAIR
-+cp;1F472;Emoji_Modifier_Base;na=MAN WITH GUA PI MAO
-+cp;1F473;Emoji_Modifier_Base;na=MAN WITH TURBAN
-+cp;1F474;Emoji_Modifier_Base;na=OLDER MAN
-+cp;1F475;Emoji_Modifier_Base;na=OLDER WOMAN
-+cp;1F476;Emoji_Modifier_Base;na=BABY
-+cp;1F477;Emoji_Modifier_Base;na=CONSTRUCTION WORKER
- # Fairy tale symbols
--cp;1F478;na=PRINCESS
-+cp;1F478;Emoji_Modifier_Base;na=PRINCESS
- cp;1F479;na=JAPANESE OGRE
- cp;1F47A;na=JAPANESE GOBLIN
- cp;1F47B;na=GHOST
--cp;1F47C;na=BABY ANGEL
-+cp;1F47C;Emoji_Modifier_Base;na=BABY ANGEL
- cp;1F47D;na=EXTRATERRESTRIAL ALIEN
- cp;1F47E;na=ALIEN MONSTER
- cp;1F47F;na=IMP
- cp;1F480;na=SKULL
- # Role symbols
--cp;1F481;na=INFORMATION DESK PERSON
--cp;1F482;na=GUARDSMAN
--cp;1F483;na=DANCER
-+cp;1F481;Emoji_Modifier_Base;na=INFORMATION DESK PERSON
-+cp;1F482;Emoji_Modifier_Base;na=GUARDSMAN
-+cp;1F483;Emoji_Modifier_Base;na=DANCER
- # Personal care symbols
- cp;1F484;na=LIPSTICK
--cp;1F485;na=NAIL POLISH
--cp;1F486;na=FACE MASSAGE
--cp;1F487;na=HAIRCUT
-+cp;1F485;Emoji_Modifier_Base;na=NAIL POLISH
-+cp;1F486;Emoji_Modifier_Base;na=FACE MASSAGE
-+cp;1F487;Emoji_Modifier_Base;na=HAIRCUT
- cp;1F488;na=BARBER POLE
- # Medical symbols
- cp;1F489;na=SYRINGE
-@@ -32138,7 +32142,7 @@ cp;1F4A6;na=SPLASHING SWEAT SYMBOL
- cp;1F4A7;na=DROPLET
- cp;1F4A8;na=DASH SYMBOL
- cp;1F4A9;na=PILE OF POO
--cp;1F4AA;na=FLEXED BICEPS
-+cp;1F4AA;Emoji_Modifier_Base;na=FLEXED BICEPS
- cp;1F4AB;na=DIZZY SYMBOL
- cp;1F4AC;na=SPEECH BALLOON
- cp;1F4AD;na=THOUGHT BALLOON
-@@ -32226,8 +32230,8 @@ cp;1F4F9;na=VIDEO CAMERA
- cp;1F4FA;na=TELEVISION
- cp;1F4FB;na=RADIO
- cp;1F4FC;na=VIDEOCASSETTE
--cp;1F4FD;age=7.0;na=FILM PROJECTOR
--cp;1F4FE;age=7.0;na=PORTABLE STEREO
-+cp;1F4FD;age=7.0;-Emoji_Presentation;na=FILM PROJECTOR
-+cp;1F4FE;age=7.0;-Emoji;-Emoji_Presentation;na=PORTABLE STEREO
- # Religious symbol
- cp;1F4FF;age=8.0;na=PRAYER BEADS
- # User interface symbols
-@@ -32300,26 +32304,26 @@ cp;1F53B;lb=AL;na=DOWN-POINTING RED TRIANGLE
- cp;1F53C;lb=AL;na=UP-POINTING SMALL RED TRIANGLE
- cp;1F53D;lb=AL;na=DOWN-POINTING SMALL RED TRIANGLE
- # Shadowed geometric shapes
--cp;1F53E;age=7.0;lb=AL;na=LOWER RIGHT SHADOWED WHITE CIRCLE
--cp;1F53F;age=7.0;lb=AL;na=UPPER RIGHT SHADOWED WHITE CIRCLE
-+cp;1F53E;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=LOWER RIGHT SHADOWED WHITE CIRCLE
-+cp;1F53F;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=UPPER RIGHT SHADOWED WHITE CIRCLE
- # Religious symbols
--cp;1F540;age=6.1;lb=AL;na=CIRCLED CROSS POMMEE
--cp;1F541;age=6.1;lb=AL;na=CROSS POMMEE WITH HALF-CIRCLE BELOW
--cp;1F542;age=6.1;lb=AL;na=CROSS POMMEE
--cp;1F543;age=6.1;lb=AL;na=NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
--cp;1F544;age=7.0;lb=AL;na=NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS
--cp;1F545;age=7.0;lb=AL;na=SYMBOL FOR MARKS CHAPTER
--cp;1F546;age=7.0;lb=AL;na=WHITE LATIN CROSS
--cp;1F547;age=7.0;lb=AL;na=HEAVY LATIN CROSS
--cp;1F548;age=7.0;lb=AL;na=CELTIC CROSS
--cp;1F549;age=7.0;lb=AL;na=OM SYMBOL
--cp;1F54A;age=7.0;na=DOVE OF PEACE
-+cp;1F540;age=6.1;-Emoji;-Emoji_Presentation;lb=AL;na=CIRCLED CROSS POMMEE
-+cp;1F541;age=6.1;-Emoji;-Emoji_Presentation;lb=AL;na=CROSS POMMEE WITH HALF-CIRCLE BELOW
-+cp;1F542;age=6.1;-Emoji;-Emoji_Presentation;lb=AL;na=CROSS POMMEE
-+cp;1F543;age=6.1;-Emoji;-Emoji_Presentation;lb=AL;na=NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
-+cp;1F544;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS
-+cp;1F545;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=SYMBOL FOR MARKS CHAPTER
-+cp;1F546;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=WHITE LATIN CROSS
-+cp;1F547;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=HEAVY LATIN CROSS
-+cp;1F548;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=CELTIC CROSS
-+cp;1F549;age=7.0;-Emoji_Presentation;lb=AL;na=OM SYMBOL
-+cp;1F54A;age=7.0;-Emoji_Presentation;na=DOVE OF PEACE
- cp;1F54B;age=8.0;na=KAABA
- cp;1F54C;age=8.0;na=MOSQUE
- cp;1F54D;age=8.0;na=SYNAGOGUE
- cp;1F54E;age=8.0;na=MENORAH WITH NINE BRANCHES
- # Miscellaneous symbol
--cp;1F54F;age=8.0;na=BOWL OF HYGIEIA
-+cp;1F54F;age=8.0;-Emoji;-Emoji_Presentation;na=BOWL OF HYGIEIA
- # Clock face symbols
- cp;1F550;na=CLOCK FACE ONE OCLOCK
- cp;1F551;na=CLOCK FACE TWO OCLOCK
-@@ -32346,167 +32350,167 @@ cp;1F565;na=CLOCK FACE TEN-THIRTY
- cp;1F566;na=CLOCK FACE ELEVEN-THIRTY
- cp;1F567;na=CLOCK FACE TWELVE-THIRTY
- # Communication symbols
--cp;1F568;age=7.0;na=RIGHT SPEAKER
--cp;1F569;age=7.0;na=RIGHT SPEAKER WITH ONE SOUND WAVE
--cp;1F56A;age=7.0;na=RIGHT SPEAKER WITH THREE SOUND WAVES
--cp;1F56B;age=7.0;na=BULLHORN
--cp;1F56C;age=7.0;na=BULLHORN WITH SOUND WAVES
-+cp;1F568;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT SPEAKER
-+cp;1F569;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT SPEAKER WITH ONE SOUND WAVE
-+cp;1F56A;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT SPEAKER WITH THREE SOUND WAVES
-+cp;1F56B;age=7.0;-Emoji;-Emoji_Presentation;na=BULLHORN
-+cp;1F56C;age=7.0;-Emoji;-Emoji_Presentation;na=BULLHORN WITH SOUND WAVES
- # Miscellaneous symbols
--cp;1F56D;age=7.0;na=RINGING BELL
--cp;1F56E;age=7.0;na=BOOK
--cp;1F56F;age=7.0;na=CANDLE
--cp;1F570;age=7.0;na=MANTELPIECE CLOCK
--cp;1F571;age=7.0;na=BLACK SKULL AND CROSSBONES
--cp;1F572;age=7.0;na=NO PIRACY
--cp;1F573;age=7.0;na=HOLE
--cp;1F574;age=7.0;na=MAN IN BUSINESS SUIT LEVITATING
--cp;1F575;age=7.0;na=SLEUTH OR SPY
--cp;1F576;age=7.0;na=DARK SUNGLASSES
-+cp;1F56D;age=7.0;-Emoji;-Emoji_Presentation;na=RINGING BELL
-+cp;1F56E;age=7.0;-Emoji;-Emoji_Presentation;na=BOOK
-+cp;1F56F;age=7.0;-Emoji_Presentation;na=CANDLE
-+cp;1F570;age=7.0;-Emoji_Presentation;na=MANTELPIECE CLOCK
-+cp;1F571;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK SKULL AND CROSSBONES
-+cp;1F572;age=7.0;-Emoji;-Emoji_Presentation;na=NO PIRACY
-+cp;1F573;age=7.0;-Emoji_Presentation;na=HOLE
-+cp;1F574;age=7.0;-Emoji_Presentation;na=MAN IN BUSINESS SUIT LEVITATING
-+cp;1F575;age=7.0;Emoji_Modifier_Base;-Emoji_Presentation;na=SLEUTH OR SPY
-+cp;1F576;age=7.0;-Emoji_Presentation;na=DARK SUNGLASSES
- # Animal symbols
--cp;1F577;age=7.0;na=SPIDER
--cp;1F578;age=7.0;na=SPIDER WEB
-+cp;1F577;age=7.0;-Emoji_Presentation;na=SPIDER
-+cp;1F578;age=7.0;-Emoji_Presentation;na=SPIDER WEB
- # Game symbol
--cp;1F579;age=7.0;na=JOYSTICK
--cp;1F57A;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F579;age=7.0;-Emoji_Presentation;na=JOYSTICK
-+cp;1F57A;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Communication symbols
--cp;1F57B;age=7.0;na=LEFT HAND TELEPHONE RECEIVER
--cp;1F57C;age=7.0;na=TELEPHONE RECEIVER WITH PAGE
--cp;1F57D;age=7.0;na=RIGHT HAND TELEPHONE RECEIVER
--cp;1F57E;age=7.0;na=WHITE TOUCHTONE TELEPHONE
--cp;1F57F;age=7.0;na=BLACK TOUCHTONE TELEPHONE
--cp;1F580;age=7.0;na=TELEPHONE ON TOP OF MODEM
--cp;1F581;age=7.0;na=CLAMSHELL MOBILE PHONE
--cp;1F582;age=7.0;na=BACK OF ENVELOPE
--cp;1F583;age=7.0;na=STAMPED ENVELOPE
--cp;1F584;age=7.0;na=ENVELOPE WITH LIGHTNING
--cp;1F585;age=7.0;na=FLYING ENVELOPE
--cp;1F586;age=7.0;na=PEN OVER STAMPED ENVELOPE
--cp;1F587;age=7.0;na=LINKED PAPERCLIPS
--cp;1F588;age=7.0;na=BLACK PUSHPIN
--cp;1F589;age=7.0;na=LOWER LEFT PENCIL
--cp;1F58A;age=7.0;na=LOWER LEFT BALLPOINT PEN
--cp;1F58B;age=7.0;na=LOWER LEFT FOUNTAIN PEN
--cp;1F58C;age=7.0;na=LOWER LEFT PAINTBRUSH
--cp;1F58D;age=7.0;na=LOWER LEFT CRAYON
-+cp;1F57B;age=7.0;-Emoji;-Emoji_Presentation;na=LEFT HAND TELEPHONE RECEIVER
-+cp;1F57C;age=7.0;-Emoji;-Emoji_Presentation;na=TELEPHONE RECEIVER WITH PAGE
-+cp;1F57D;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT HAND TELEPHONE RECEIVER
-+cp;1F57E;age=7.0;-Emoji;-Emoji_Presentation;na=WHITE TOUCHTONE TELEPHONE
-+cp;1F57F;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK TOUCHTONE TELEPHONE
-+cp;1F580;age=7.0;-Emoji;-Emoji_Presentation;na=TELEPHONE ON TOP OF MODEM
-+cp;1F581;age=7.0;-Emoji;-Emoji_Presentation;na=CLAMSHELL MOBILE PHONE
-+cp;1F582;age=7.0;-Emoji;-Emoji_Presentation;na=BACK OF ENVELOPE
-+cp;1F583;age=7.0;-Emoji;-Emoji_Presentation;na=STAMPED ENVELOPE
-+cp;1F584;age=7.0;-Emoji;-Emoji_Presentation;na=ENVELOPE WITH LIGHTNING
-+cp;1F585;age=7.0;-Emoji;-Emoji_Presentation;na=FLYING ENVELOPE
-+cp;1F586;age=7.0;-Emoji;-Emoji_Presentation;na=PEN OVER STAMPED ENVELOPE
-+cp;1F587;age=7.0;-Emoji_Presentation;na=LINKED PAPERCLIPS
-+cp;1F588;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK PUSHPIN
-+cp;1F589;age=7.0;-Emoji;-Emoji_Presentation;na=LOWER LEFT PENCIL
-+cp;1F58A;age=7.0;-Emoji_Presentation;na=LOWER LEFT BALLPOINT PEN
-+cp;1F58B;age=7.0;-Emoji_Presentation;na=LOWER LEFT FOUNTAIN PEN
-+cp;1F58C;age=7.0;-Emoji_Presentation;na=LOWER LEFT PAINTBRUSH
-+cp;1F58D;age=7.0;-Emoji_Presentation;na=LOWER LEFT CRAYON
- # Hand symbols
--cp;1F58E;age=7.0;na=LEFT WRITING HAND
--cp;1F58F;age=7.0;na=TURNED OK HAND SIGN
--cp;1F590;age=7.0;na=RAISED HAND WITH FINGERS SPLAYED
--cp;1F591;age=7.0;na=REVERSED RAISED HAND WITH FINGERS SPLAYED
--cp;1F592;age=7.0;na=REVERSED THUMBS UP SIGN
--cp;1F593;age=7.0;na=REVERSED THUMBS DOWN SIGN
--cp;1F594;age=7.0;na=REVERSED VICTORY HAND
--cp;1F595;age=7.0;na=REVERSED HAND WITH MIDDLE FINGER EXTENDED
--cp;1F596;age=7.0;na=RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
--cp;1F597;age=7.0;na=WHITE DOWN POINTING LEFT HAND INDEX
--cp;1F598;age=7.0;na=SIDEWAYS WHITE LEFT POINTING INDEX
--cp;1F599;age=7.0;na=SIDEWAYS WHITE RIGHT POINTING INDEX
--cp;1F59A;age=7.0;na=SIDEWAYS BLACK LEFT POINTING INDEX
--cp;1F59B;age=7.0;na=SIDEWAYS BLACK RIGHT POINTING INDEX
--cp;1F59C;age=7.0;na=BLACK LEFT POINTING BACKHAND INDEX
--cp;1F59D;age=7.0;na=BLACK RIGHT POINTING BACKHAND INDEX
--cp;1F59E;age=7.0;na=SIDEWAYS WHITE UP POINTING INDEX
--cp;1F59F;age=7.0;na=SIDEWAYS WHITE DOWN POINTING INDEX
--cp;1F5A0;age=7.0;na=SIDEWAYS BLACK UP POINTING INDEX
--cp;1F5A1;age=7.0;na=SIDEWAYS BLACK DOWN POINTING INDEX
--cp;1F5A2;age=7.0;na=BLACK UP POINTING BACKHAND INDEX
--cp;1F5A3;age=7.0;na=BLACK DOWN POINTING BACKHAND INDEX
--cp;1F5A4;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F58E;age=7.0;-Emoji;-Emoji_Presentation;na=LEFT WRITING HAND
-+cp;1F58F;age=7.0;-Emoji;-Emoji_Presentation;na=TURNED OK HAND SIGN
-+cp;1F590;age=7.0;Emoji_Modifier_Base;-Emoji_Presentation;na=RAISED HAND WITH FINGERS SPLAYED
-+cp;1F591;age=7.0;-Emoji;-Emoji_Presentation;na=REVERSED RAISED HAND WITH FINGERS SPLAYED
-+cp;1F592;age=7.0;-Emoji;-Emoji_Presentation;na=REVERSED THUMBS UP SIGN
-+cp;1F593;age=7.0;-Emoji;-Emoji_Presentation;na=REVERSED THUMBS DOWN SIGN
-+cp;1F594;age=7.0;-Emoji;-Emoji_Presentation;na=REVERSED VICTORY HAND
-+cp;1F595;age=7.0;Emoji_Modifier_Base;na=REVERSED HAND WITH MIDDLE FINGER EXTENDED
-+cp;1F596;age=7.0;Emoji_Modifier_Base;na=RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
-+cp;1F597;age=7.0;-Emoji;-Emoji_Presentation;na=WHITE DOWN POINTING LEFT HAND INDEX
-+cp;1F598;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS WHITE LEFT POINTING INDEX
-+cp;1F599;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS WHITE RIGHT POINTING INDEX
-+cp;1F59A;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS BLACK LEFT POINTING INDEX
-+cp;1F59B;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS BLACK RIGHT POINTING INDEX
-+cp;1F59C;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK LEFT POINTING BACKHAND INDEX
-+cp;1F59D;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK RIGHT POINTING BACKHAND INDEX
-+cp;1F59E;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS WHITE UP POINTING INDEX
-+cp;1F59F;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS WHITE DOWN POINTING INDEX
-+cp;1F5A0;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS BLACK UP POINTING INDEX
-+cp;1F5A1;age=7.0;-Emoji;-Emoji_Presentation;na=SIDEWAYS BLACK DOWN POINTING INDEX
-+cp;1F5A2;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK UP POINTING BACKHAND INDEX
-+cp;1F5A3;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK DOWN POINTING BACKHAND INDEX
-+cp;1F5A4;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Computer symbols
--cp;1F5A5;age=7.0;na=DESKTOP COMPUTER
--cp;1F5A6;age=7.0;na=KEYBOARD AND MOUSE
--cp;1F5A7;age=7.0;na=THREE NETWORKED COMPUTERS
--cp;1F5A8;age=7.0;na=PRINTER
--cp;1F5A9;age=7.0;na=POCKET CALCULATOR
--cp;1F5AA;age=7.0;na=BLACK HARD SHELL FLOPPY DISK
--cp;1F5AB;age=7.0;na=WHITE HARD SHELL FLOPPY DISK
--cp;1F5AC;age=7.0;na=SOFT SHELL FLOPPY DISK
--cp;1F5AD;age=7.0;na=TAPE CARTRIDGE
--cp;1F5AE;age=7.0;na=WIRED KEYBOARD
--cp;1F5AF;age=7.0;na=ONE BUTTON MOUSE
--cp;1F5B0;age=7.0;na=TWO BUTTON MOUSE
--cp;1F5B1;age=7.0;na=THREE BUTTON MOUSE
--cp;1F5B2;age=7.0;na=TRACKBALL
--cp;1F5B3;age=7.0;na=OLD PERSONAL COMPUTER
--cp;1F5B4;age=7.0;na=HARD DISK
--cp;1F5B5;age=7.0;na=SCREEN
--cp;1F5B6;age=7.0;na=PRINTER ICON
--cp;1F5B7;age=7.0;na=FAX ICON
--cp;1F5B8;age=7.0;na=OPTICAL DISC ICON
-+cp;1F5A5;age=7.0;-Emoji_Presentation;na=DESKTOP COMPUTER
-+cp;1F5A6;age=7.0;-Emoji;-Emoji_Presentation;na=KEYBOARD AND MOUSE
-+cp;1F5A7;age=7.0;-Emoji;-Emoji_Presentation;na=THREE NETWORKED COMPUTERS
-+cp;1F5A8;age=7.0;-Emoji_Presentation;na=PRINTER
-+cp;1F5A9;age=7.0;-Emoji;-Emoji_Presentation;na=POCKET CALCULATOR
-+cp;1F5AA;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK HARD SHELL FLOPPY DISK
-+cp;1F5AB;age=7.0;-Emoji;-Emoji_Presentation;na=WHITE HARD SHELL FLOPPY DISK
-+cp;1F5AC;age=7.0;-Emoji;-Emoji_Presentation;na=SOFT SHELL FLOPPY DISK
-+cp;1F5AD;age=7.0;-Emoji;-Emoji_Presentation;na=TAPE CARTRIDGE
-+cp;1F5AE;age=7.0;-Emoji;-Emoji_Presentation;na=WIRED KEYBOARD
-+cp;1F5AF;age=7.0;-Emoji;-Emoji_Presentation;na=ONE BUTTON MOUSE
-+cp;1F5B0;age=7.0;-Emoji;-Emoji_Presentation;na=TWO BUTTON MOUSE
-+cp;1F5B1;age=7.0;-Emoji_Presentation;na=THREE BUTTON MOUSE
-+cp;1F5B2;age=7.0;-Emoji_Presentation;na=TRACKBALL
-+cp;1F5B3;age=7.0;-Emoji;-Emoji_Presentation;na=OLD PERSONAL COMPUTER
-+cp;1F5B4;age=7.0;-Emoji;-Emoji_Presentation;na=HARD DISK
-+cp;1F5B5;age=7.0;-Emoji;-Emoji_Presentation;na=SCREEN
-+cp;1F5B6;age=7.0;-Emoji;-Emoji_Presentation;na=PRINTER ICON
-+cp;1F5B7;age=7.0;-Emoji;-Emoji_Presentation;na=FAX ICON
-+cp;1F5B8;age=7.0;-Emoji;-Emoji_Presentation;na=OPTICAL DISC ICON
- # Office symbols
--cp;1F5B9;age=7.0;na=DOCUMENT WITH TEXT
--cp;1F5BA;age=7.0;na=DOCUMENT WITH TEXT AND PICTURE
--cp;1F5BB;age=7.0;na=DOCUMENT WITH PICTURE
--cp;1F5BC;age=7.0;na=FRAME WITH PICTURE
--cp;1F5BD;age=7.0;na=FRAME WITH TILES
--cp;1F5BE;age=7.0;na=FRAME WITH AN X
-+cp;1F5B9;age=7.0;-Emoji;-Emoji_Presentation;na=DOCUMENT WITH TEXT
-+cp;1F5BA;age=7.0;-Emoji;-Emoji_Presentation;na=DOCUMENT WITH TEXT AND PICTURE
-+cp;1F5BB;age=7.0;-Emoji;-Emoji_Presentation;na=DOCUMENT WITH PICTURE
-+cp;1F5BC;age=7.0;-Emoji_Presentation;na=FRAME WITH PICTURE
-+cp;1F5BD;age=7.0;-Emoji;-Emoji_Presentation;na=FRAME WITH TILES
-+cp;1F5BE;age=7.0;-Emoji;-Emoji_Presentation;na=FRAME WITH AN X
- # User interface symbols
--cp;1F5BF;age=7.0;na=BLACK FOLDER
--cp;1F5C0;age=7.0;na=FOLDER
--cp;1F5C1;age=7.0;na=OPEN FOLDER
--cp;1F5C2;age=7.0;na=CARD INDEX DIVIDERS
--cp;1F5C3;age=7.0;na=CARD FILE BOX
--cp;1F5C4;age=7.0;na=FILE CABINET
--cp;1F5C5;age=7.0;na=EMPTY NOTE
--cp;1F5C6;age=7.0;na=EMPTY NOTE PAGE
--cp;1F5C7;age=7.0;na=EMPTY NOTE PAD
--cp;1F5C8;age=7.0;na=NOTE
--cp;1F5C9;age=7.0;na=NOTE PAGE
--cp;1F5CA;age=7.0;na=NOTE PAD
--cp;1F5CB;age=7.0;na=EMPTY DOCUMENT
--cp;1F5CC;age=7.0;na=EMPTY PAGE
--cp;1F5CD;age=7.0;na=EMPTY PAGES
--cp;1F5CE;age=7.0;na=DOCUMENT
--cp;1F5CF;age=7.0;na=PAGE
--cp;1F5D0;age=7.0;na=PAGES
--cp;1F5D1;age=7.0;na=WASTEBASKET
--cp;1F5D2;age=7.0;na=SPIRAL NOTE PAD
--cp;1F5D3;age=7.0;na=SPIRAL CALENDAR PAD
--cp;1F5D4;age=7.0;lb=AL;na=DESKTOP WINDOW
--cp;1F5D5;age=7.0;lb=AL;na=MINIMIZE
--cp;1F5D6;age=7.0;lb=AL;na=MAXIMIZE
--cp;1F5D7;age=7.0;lb=AL;na=OVERLAP
--cp;1F5D8;age=7.0;lb=AL;na=CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS
--cp;1F5D9;age=7.0;lb=AL;na=CANCELLATION X
--cp;1F5DA;age=7.0;lb=AL;na=INCREASE FONT SIZE SYMBOL
--cp;1F5DB;age=7.0;lb=AL;na=DECREASE FONT SIZE SYMBOL
--cp;1F5DC;age=7.0;na=COMPRESSION
--cp;1F5DD;age=7.0;na=OLD KEY
-+cp;1F5BF;age=7.0;-Emoji;-Emoji_Presentation;na=BLACK FOLDER
-+cp;1F5C0;age=7.0;-Emoji;-Emoji_Presentation;na=FOLDER
-+cp;1F5C1;age=7.0;-Emoji;-Emoji_Presentation;na=OPEN FOLDER
-+cp;1F5C2;age=7.0;-Emoji_Presentation;na=CARD INDEX DIVIDERS
-+cp;1F5C3;age=7.0;-Emoji_Presentation;na=CARD FILE BOX
-+cp;1F5C4;age=7.0;-Emoji_Presentation;na=FILE CABINET
-+cp;1F5C5;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY NOTE
-+cp;1F5C6;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY NOTE PAGE
-+cp;1F5C7;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY NOTE PAD
-+cp;1F5C8;age=7.0;-Emoji;-Emoji_Presentation;na=NOTE
-+cp;1F5C9;age=7.0;-Emoji;-Emoji_Presentation;na=NOTE PAGE
-+cp;1F5CA;age=7.0;-Emoji;-Emoji_Presentation;na=NOTE PAD
-+cp;1F5CB;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY DOCUMENT
-+cp;1F5CC;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY PAGE
-+cp;1F5CD;age=7.0;-Emoji;-Emoji_Presentation;na=EMPTY PAGES
-+cp;1F5CE;age=7.0;-Emoji;-Emoji_Presentation;na=DOCUMENT
-+cp;1F5CF;age=7.0;-Emoji;-Emoji_Presentation;na=PAGE
-+cp;1F5D0;age=7.0;-Emoji;-Emoji_Presentation;na=PAGES
-+cp;1F5D1;age=7.0;-Emoji_Presentation;na=WASTEBASKET
-+cp;1F5D2;age=7.0;-Emoji_Presentation;na=SPIRAL NOTE PAD
-+cp;1F5D3;age=7.0;-Emoji_Presentation;na=SPIRAL CALENDAR PAD
-+cp;1F5D4;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=DESKTOP WINDOW
-+cp;1F5D5;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=MINIMIZE
-+cp;1F5D6;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=MAXIMIZE
-+cp;1F5D7;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=OVERLAP
-+cp;1F5D8;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS
-+cp;1F5D9;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=CANCELLATION X
-+cp;1F5DA;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=INCREASE FONT SIZE SYMBOL
-+cp;1F5DB;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=DECREASE FONT SIZE SYMBOL
-+cp;1F5DC;age=7.0;-Emoji_Presentation;na=COMPRESSION
-+cp;1F5DD;age=7.0;-Emoji_Presentation;na=OLD KEY
- # Miscellaneous symbols
--cp;1F5DE;age=7.0;na=ROLLED-UP NEWSPAPER
--cp;1F5DF;age=7.0;na=PAGE WITH CIRCLED TEXT
--cp;1F5E0;age=7.0;na=STOCK CHART
-+cp;1F5DE;age=7.0;-Emoji_Presentation;na=ROLLED-UP NEWSPAPER
-+cp;1F5DF;age=7.0;-Emoji;-Emoji_Presentation;na=PAGE WITH CIRCLED TEXT
-+cp;1F5E0;age=7.0;-Emoji;-Emoji_Presentation;na=STOCK CHART
- # Rating symbols
--cp;1F5E1;age=7.0;na=DAGGER KNIFE
--cp;1F5E2;age=7.0;na=LIPS
--cp;1F5E3;age=7.0;na=SPEAKING HEAD IN SILHOUETTE
-+cp;1F5E1;age=7.0;-Emoji_Presentation;na=DAGGER KNIFE
-+cp;1F5E2;age=7.0;-Emoji;-Emoji_Presentation;na=LIPS
-+cp;1F5E3;age=7.0;-Emoji_Presentation;na=SPEAKING HEAD IN SILHOUETTE
- # Sound symbols
--cp;1F5E4;age=7.0;na=THREE RAYS ABOVE
--cp;1F5E5;age=7.0;na=THREE RAYS BELOW
--cp;1F5E6;age=7.0;na=THREE RAYS LEFT
--cp;1F5E7;age=7.0;na=THREE RAYS RIGHT
-+cp;1F5E4;age=7.0;-Emoji;-Emoji_Presentation;na=THREE RAYS ABOVE
-+cp;1F5E5;age=7.0;-Emoji;-Emoji_Presentation;na=THREE RAYS BELOW
-+cp;1F5E6;age=7.0;-Emoji;-Emoji_Presentation;na=THREE RAYS LEFT
-+cp;1F5E7;age=7.0;-Emoji;-Emoji_Presentation;na=THREE RAYS RIGHT
- # Bubble symbols
--cp;1F5E8;age=7.0;na=LEFT SPEECH BUBBLE
--cp;1F5E9;age=7.0;na=RIGHT SPEECH BUBBLE
--cp;1F5EA;age=7.0;na=TWO SPEECH BUBBLES
--cp;1F5EB;age=7.0;na=THREE SPEECH BUBBLES
--cp;1F5EC;age=7.0;na=LEFT THOUGHT BUBBLE
--cp;1F5ED;age=7.0;na=RIGHT THOUGHT BUBBLE
--cp;1F5EE;age=7.0;na=LEFT ANGER BUBBLE
--cp;1F5EF;age=7.0;na=RIGHT ANGER BUBBLE
--cp;1F5F0;age=7.0;na=MOOD BUBBLE
--cp;1F5F1;age=7.0;na=LIGHTNING MOOD BUBBLE
--cp;1F5F2;age=7.0;na=LIGHTNING MOOD
-+cp;1F5E8;age=7.0;-Emoji_Presentation;na=LEFT SPEECH BUBBLE
-+cp;1F5E9;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT SPEECH BUBBLE
-+cp;1F5EA;age=7.0;-Emoji;-Emoji_Presentation;na=TWO SPEECH BUBBLES
-+cp;1F5EB;age=7.0;-Emoji;-Emoji_Presentation;na=THREE SPEECH BUBBLES
-+cp;1F5EC;age=7.0;-Emoji;-Emoji_Presentation;na=LEFT THOUGHT BUBBLE
-+cp;1F5ED;age=7.0;-Emoji;-Emoji_Presentation;na=RIGHT THOUGHT BUBBLE
-+cp;1F5EE;age=7.0;-Emoji;-Emoji_Presentation;na=LEFT ANGER BUBBLE
-+cp;1F5EF;age=7.0;-Emoji_Presentation;na=RIGHT ANGER BUBBLE
-+cp;1F5F0;age=7.0;-Emoji;-Emoji_Presentation;na=MOOD BUBBLE
-+cp;1F5F1;age=7.0;-Emoji;-Emoji_Presentation;na=LIGHTNING MOOD BUBBLE
-+cp;1F5F2;age=7.0;-Emoji;-Emoji_Presentation;na=LIGHTNING MOOD
- # Ballot symbols
--cp;1F5F3;age=7.0;na=BALLOT BOX WITH BALLOT
--cp;1F5F4;age=7.0;lb=AL;na=BALLOT SCRIPT X
--cp;1F5F5;age=7.0;lb=AL;na=BALLOT BOX WITH SCRIPT X
--cp;1F5F6;age=7.0;lb=AL;na=BALLOT BOLD SCRIPT X
--cp;1F5F7;age=7.0;lb=AL;na=BALLOT BOX WITH BOLD SCRIPT X
--cp;1F5F8;age=7.0;lb=AL;na=LIGHT CHECK MARK
--cp;1F5F9;age=7.0;lb=AL;na=BALLOT BOX WITH BOLD CHECK
-+cp;1F5F3;age=7.0;-Emoji_Presentation;na=BALLOT BOX WITH BALLOT
-+cp;1F5F4;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BALLOT SCRIPT X
-+cp;1F5F5;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BALLOT BOX WITH SCRIPT X
-+cp;1F5F6;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BALLOT BOLD SCRIPT X
-+cp;1F5F7;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BALLOT BOX WITH BOLD SCRIPT X
-+cp;1F5F8;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=LIGHT CHECK MARK
-+cp;1F5F9;age=7.0;-Emoji;-Emoji_Presentation;lb=AL;na=BALLOT BOX WITH BOLD CHECK
- # Map symbol
--cp;1F5FA;age=7.0;na=WORLD MAP
-+cp;1F5FA;age=7.0;-Emoji_Presentation;na=WORLD MAP
- # Cultural symbols
- cp;1F5FB;na=MOUNT FUJI
- cp;1F5FC;na=TOKYO TOWER
-@@ -32514,7 +32518,7 @@ cp;1F5FD;na=STATUE OF LIBERTY
- cp;1F5FE;na=SILHOUETTE OF JAPAN
- cp;1F5FF;na=MOYAI
- 
--block;1F600..1F64F;age=6.0;bc=ON;blk=Emoticons;gc=So;Gr_Base;lb=ID;sc=Zyyy
-+block;1F600..1F64F;age=6.0;bc=ON;blk=Emoticons;Emoji;Emoji_Presentation;gc=So;Gr_Base;lb=ID;sc=Zyyy
- # 1F600..1F64F Emoticons
- # Faces
- cp;1F600;age=6.1;na=GRINNING FACE
-@@ -32589,17 +32593,17 @@ cp;1F642;age=7.0;na=SLIGHTLY SMILING FACE
- cp;1F643;age=8.0;na=UPSIDE-DOWN FACE
- cp;1F644;age=8.0;na=FACE WITH ROLLING EYES
- # Gesture symbols
--cp;1F645;na=FACE WITH NO GOOD GESTURE
--cp;1F646;na=FACE WITH OK GESTURE
--cp;1F647;na=PERSON BOWING DEEPLY
-+cp;1F645;Emoji_Modifier_Base;na=FACE WITH NO GOOD GESTURE
-+cp;1F646;Emoji_Modifier_Base;na=FACE WITH OK GESTURE
-+cp;1F647;Emoji_Modifier_Base;na=PERSON BOWING DEEPLY
- cp;1F648;na=SEE-NO-EVIL MONKEY
- cp;1F649;na=HEAR-NO-EVIL MONKEY
- cp;1F64A;na=SPEAK-NO-EVIL MONKEY
--cp;1F64B;na=HAPPY PERSON RAISING ONE HAND
--cp;1F64C;na=PERSON RAISING BOTH HANDS IN CELEBRATION
--cp;1F64D;na=PERSON FROWNING
--cp;1F64E;na=PERSON WITH POUTING FACE
--cp;1F64F;na=PERSON WITH FOLDED HANDS
-+cp;1F64B;Emoji_Modifier_Base;na=HAPPY PERSON RAISING ONE HAND
-+cp;1F64C;Emoji_Modifier_Base;na=PERSON RAISING BOTH HANDS IN CELEBRATION
-+cp;1F64D;Emoji_Modifier_Base;na=PERSON FROWNING
-+cp;1F64E;Emoji_Modifier_Base;na=PERSON WITH POUTING FACE
-+cp;1F64F;Emoji_Modifier_Base;na=PERSON WITH FOLDED HANDS
- 
- block;1F650..1F67F;age=7.0;bc=ON;blk=Ornamental_Dingbats;gc=So;Gr_Base;lb=AL;sc=Zyyy
- # 1F650..1F67F Ornamental Dingbats
-@@ -32658,7 +32662,7 @@ cp;1F67D;na=VERY HEAVY REVERSE SOLIDUS
- cp;1F67E;na=CHECKER BOARD
- cp;1F67F;na=REVERSE CHECKER BOARD
- 
--block;1F680..1F6FF;age=6.0;bc=ON;blk=Transport_And_Map;gc=So;Gr_Base;lb=ID;sc=Zyyy
-+block;1F680..1F6FF;age=6.0;bc=ON;blk=Transport_And_Map;Emoji;Emoji_Presentation;gc=So;Gr_Base;lb=ID;sc=Zyyy
- # 1F680..1F6FF Transport and Map Symbols
- # Vehicles
- cp;1F680;na=ROCKET
-@@ -32696,7 +32700,7 @@ cp;1F69F;na=SUSPENSION RAILWAY
- cp;1F6A0;na=MOUNTAIN CABLEWAY
- cp;1F6A1;na=AERIAL TRAMWAY
- cp;1F6A2;na=SHIP
--cp;1F6A3;na=ROWBOAT
-+cp;1F6A3;Emoji_Modifier_Base;na=ROWBOAT
- cp;1F6A4;na=SPEEDBOAT
- # Traffic signs
- cp;1F6A5;na=HORIZONTAL TRAFFIC LIGHT
-@@ -32715,9 +32719,9 @@ cp;1F6B0;na=POTABLE WATER SYMBOL
- cp;1F6B1;na=NON-POTABLE WATER SYMBOL
- cp;1F6B2;na=BICYCLE
- cp;1F6B3;na=NO BICYCLES
--cp;1F6B4;na=BICYCLIST
--cp;1F6B5;na=MOUNTAIN BICYCLIST
--cp;1F6B6;na=PEDESTRIAN
-+cp;1F6B4;Emoji_Modifier_Base;na=BICYCLIST
-+cp;1F6B5;Emoji_Modifier_Base;na=MOUNTAIN BICYCLIST
-+cp;1F6B6;Emoji_Modifier_Base;na=PEDESTRIAN
- cp;1F6B7;na=NO PEDESTRIANS
- cp;1F6B8;na=CHILDREN CROSSING
- cp;1F6B9;na=MENS SYMBOL
-@@ -32727,47 +32731,47 @@ cp;1F6BC;na=BABY SYMBOL
- cp;1F6BD;na=TOILET
- cp;1F6BE;na=WATER CLOSET
- cp;1F6BF;na=SHOWER
--cp;1F6C0;na=BATH
-+cp;1F6C0;Emoji_Modifier_Base;na=BATH
- cp;1F6C1;na=BATHTUB
- cp;1F6C2;na=PASSPORT CONTROL
- cp;1F6C3;na=CUSTOMS
- cp;1F6C4;na=BAGGAGE CLAIM
- cp;1F6C5;na=LEFT LUGGAGE
--cp;1F6C6;age=7.0;na=TRIANGLE WITH ROUNDED CORNERS
--cp;1F6C7;age=7.0;na=PROHIBITED SIGN
--cp;1F6C8;age=7.0;na=CIRCLED INFORMATION SOURCE
--cp;1F6C9;age=7.0;na=BOYS SYMBOL
--cp;1F6CA;age=7.0;na=GIRLS SYMBOL
-+cp;1F6C6;age=7.0;-Emoji;-Emoji_Presentation;na=TRIANGLE WITH ROUNDED CORNERS
-+cp;1F6C7;age=7.0;-Emoji;-Emoji_Presentation;na=PROHIBITED SIGN
-+cp;1F6C8;age=7.0;-Emoji;-Emoji_Presentation;na=CIRCLED INFORMATION SOURCE
-+cp;1F6C9;age=7.0;-Emoji;-Emoji_Presentation;na=BOYS SYMBOL
-+cp;1F6CA;age=7.0;-Emoji;-Emoji_Presentation;na=GIRLS SYMBOL
- # Accommodation symbols
--cp;1F6CB;age=7.0;na=COUCH AND LAMP
-+cp;1F6CB;age=7.0;-Emoji_Presentation;na=COUCH AND LAMP
- cp;1F6CC;age=7.0;na=SLEEPING ACCOMMODATION
--cp;1F6CD;age=7.0;na=SHOPPING BAGS
--cp;1F6CE;age=7.0;na=BELLHOP BELL
--cp;1F6CF;age=7.0;na=BED
-+cp;1F6CD;age=7.0;-Emoji_Presentation;na=SHOPPING BAGS
-+cp;1F6CE;age=7.0;-Emoji_Presentation;na=BELLHOP BELL
-+cp;1F6CF;age=7.0;-Emoji_Presentation;na=BED
- # Signage
- cp;1F6D0;age=8.0;na=PLACE OF WORSHIP
--cp;1F6D1..1F6DF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F6D1..1F6DF;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Miscellaneous symbols
--cp;1F6E0;age=7.0;na=HAMMER AND WRENCH
--cp;1F6E1;age=7.0;na=SHIELD
--cp;1F6E2;age=7.0;na=OIL DRUM
--cp;1F6E3;age=7.0;na=MOTORWAY
--cp;1F6E4;age=7.0;na=RAILWAY TRACK
-+cp;1F6E0;age=7.0;-Emoji_Presentation;na=HAMMER AND WRENCH
-+cp;1F6E1;age=7.0;-Emoji_Presentation;na=SHIELD
-+cp;1F6E2;age=7.0;-Emoji_Presentation;na=OIL DRUM
-+cp;1F6E3;age=7.0;-Emoji_Presentation;na=MOTORWAY
-+cp;1F6E4;age=7.0;-Emoji_Presentation;na=RAILWAY TRACK
- # Vehicles
--cp;1F6E5;age=7.0;na=MOTOR BOAT
--cp;1F6E6;age=7.0;na=UP-POINTING MILITARY AIRPLANE
--cp;1F6E7;age=7.0;na=UP-POINTING AIRPLANE
--cp;1F6E8;age=7.0;na=UP-POINTING SMALL AIRPLANE
--cp;1F6E9;age=7.0;na=SMALL AIRPLANE
--cp;1F6EA;age=7.0;na=NORTHEAST-POINTING AIRPLANE
-+cp;1F6E5;age=7.0;-Emoji_Presentation;na=MOTOR BOAT
-+cp;1F6E6;age=7.0;-Emoji;-Emoji_Presentation;na=UP-POINTING MILITARY AIRPLANE
-+cp;1F6E7;age=7.0;-Emoji;-Emoji_Presentation;na=UP-POINTING AIRPLANE
-+cp;1F6E8;age=7.0;-Emoji;-Emoji_Presentation;na=UP-POINTING SMALL AIRPLANE
-+cp;1F6E9;age=7.0;-Emoji_Presentation;na=SMALL AIRPLANE
-+cp;1F6EA;age=7.0;-Emoji;-Emoji_Presentation;na=NORTHEAST-POINTING AIRPLANE
- cp;1F6EB;age=7.0;na=AIRPLANE DEPARTURE
- cp;1F6EC;age=7.0;na=AIRPLANE ARRIVING
--cp;1F6ED..1F6EF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
--cp;1F6F0;age=7.0;na=SATELLITE
--cp;1F6F1;age=7.0;na=ONCOMING FIRE ENGINE
--cp;1F6F2;age=7.0;na=DIESEL LOCOMOTIVE
--cp;1F6F3;age=7.0;na=PASSENGER SHIP
--cp;1F6F4..1F6FF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F6ED..1F6EF;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F6F0;age=7.0;-Emoji_Presentation;na=SATELLITE
-+cp;1F6F1;age=7.0;-Emoji;-Emoji_Presentation;na=ONCOMING FIRE ENGINE
-+cp;1F6F2;age=7.0;-Emoji;-Emoji_Presentation;na=DIESEL LOCOMOTIVE
-+cp;1F6F3;age=7.0;-Emoji_Presentation;na=PASSENGER SHIP
-+cp;1F6F4..1F6FF;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- 
- block;1F700..1F77F;age=6.0;bc=ON;blk=Alchemical;gc=So;Gr_Base;lb=AL;sc=Zyyy
- # 1F700..1F77F Alchemical Symbols
-@@ -33187,9 +33191,9 @@ cp;1F8AC;na=WHITE ARROW SHAFT WIDTH ONE
- cp;1F8AD;na=WHITE ARROW SHAFT WIDTH TWO THIRDS
- cp;1F8AE..1F8FF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- 
--block;1F900..1F9FF;age=8.0;bc=ON;blk=Sup_Symbols_And_Pictographs;gc=So;Gr_Base;lb=ID;sc=Zyyy
-+block;1F900..1F9FF;age=8.0;bc=ON;blk=Sup_Symbols_And_Pictographs;Emoji;Emoji_Presentation;gc=So;Gr_Base;lb=ID;sc=Zyyy
- # 1F900..1F9FF Supplemental Symbols and Pictographs
--cp;1F900..1F90F;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F900..1F90F;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Emoticon faces
- cp;1F910;na=ZIPPER-MOUTH FACE
- cp;1F911;na=MONEY-MOUTH FACE
-@@ -33200,18 +33204,18 @@ cp;1F915;na=FACE WITH HEAD-BANDAGE
- cp;1F916;na=ROBOT FACE
- cp;1F917;na=HUGGING FACE
- # Hand symbol
--cp;1F918;na=SIGN OF THE HORNS
--cp;1F919..1F97F;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F918;Emoji_Modifier_Base;na=SIGN OF THE HORNS
-+cp;1F919..1F97F;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Animal symbols
- cp;1F980;na=CRAB
- cp;1F981;na=LION FACE
- cp;1F982;na=SCORPION
- cp;1F983;na=TURKEY
- cp;1F984;na=UNICORN FACE
--cp;1F985..1F9BF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F985..1F9BF;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # Food symbol
- cp;1F9C0;na=CHEESE WEDGE
--cp;1F9C1..1F9FF;age=NA;bc=L;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
-+cp;1F9C1..1F9FF;age=NA;bc=L;-Emoji;-Emoji_Presentation;gc=Cn;-Gr_Base;lb=XX;sc=Zzzz
- # 1FF80..1FFFF Unassigned
- # Noncharacters
- cp;1FFFE..1FFFF;age=2.0;bc=BN;NChar
-diff --git a/source/test/intltest/ucdtest.cpp b/source/test/intltest/ucdtest.cpp
-index a63e712..90f77ae 100644
---- a/source/test/intltest/ucdtest.cpp
-+++ b/source/test/intltest/ucdtest.cpp
-@@ -1,6 +1,5 @@
- /********************************************************************
-- * COPYRIGHT: 
-- * Copyright (c) 1997-2014, International Business Machines Corporation and
-+ * Copyright (c) 1997-2016, International Business Machines Corporation and
-  * others. All Rights Reserved.
-  ********************************************************************/
- 
-@@ -60,6 +59,7 @@ void UnicodeTest::runIndexedTest( int32_t index, UBool exec, const char* &name,
-     TESTCASE_AUTO(TestPatternProperties);
-     TESTCASE_AUTO(TestScriptMetadata);
-     TESTCASE_AUTO(TestBidiPairedBracketType);
-+    TESTCASE_AUTO(TestEmojiProperties);
-     TESTCASE_AUTO_END;
- }
- 
-@@ -507,3 +507,18 @@ void UnicodeTest::TestBidiPairedBracketType() {
-     assertTrue("bpt=Open is a subset of Ps", ps.containsAll(bpt_open));
-     assertTrue("bpt=Close is a subset of Pe", pe.containsAll(bpt_close));
- }
-+
-+void UnicodeTest::TestEmojiProperties() {
-+    assertFalse("space is not Emoji", u_hasBinaryProperty(0x20, UCHAR_EMOJI));
-+    assertTrue("shooting star is Emoji", u_hasBinaryProperty(0x1F320, UCHAR_EMOJI));
-+    IcuTestErrorCode errorCode(*this, "TestEmojiProperties()");
-+    UnicodeSet emoji("[:Emoji:]", errorCode);
-+    assertTrue("lots of Emoji", emoji.size() > 700);
-+
-+    assertTrue("shooting star is Emoji_Presentation",
-+               u_hasBinaryProperty(0x1F320, UCHAR_EMOJI_PRESENTATION));
-+    assertTrue("Fitzpatrick 6 is Emoji_Modifier",
-+               u_hasBinaryProperty(0x1F3FF, UCHAR_EMOJI_MODIFIER));
-+    assertTrue("happy person is Emoji_Modifier_Base",
-+               u_hasBinaryProperty(0x1F64B, UCHAR_EMOJI_MODIFIER_BASE));
-+}
-diff --git a/source/test/intltest/ucdtest.h b/source/test/intltest/ucdtest.h
-index 448321e..b167356 100644
---- a/source/test/intltest/ucdtest.h
-+++ b/source/test/intltest/ucdtest.h
-@@ -1,6 +1,5 @@
- /********************************************************************
-- * COPYRIGHT: 
-- * Copyright (c) 1997-2013, International Business Machines Corporation and
-+ * Copyright (c) 1997-2016, International Business Machines Corporation and
-  * others. All Rights Reserved.
-  ********************************************************************/
- 
-@@ -39,6 +38,7 @@ public:
-     void TestPatternProperties();
-     void TestScriptMetadata();
-     void TestBidiPairedBracketType();
-+    void TestEmojiProperties();
- 
- private:
- 
diff --git a/patches/locale_extra.patch b/patches/locale_extra.patch
index 730dc84..d32d6bf 100644
--- a/patches/locale_extra.patch
+++ b/patches/locale_extra.patch
@@ -11,39 +11,6 @@
                  plusSign{"‏+"}
                  superscriptingExponent{"×"}
                  timeSeparator{":"}
-diff --git a/source/data/locales/en_AU.txt b/source/data/locales/en_AU.txt
-index ea25a1f..129a5dd 100644
---- a/source/data/locales/en_AU.txt
-+++ b/source/data/locales/en_AU.txt
-@@ -32,7 +32,7 @@ en_AU{
-                     d{"E, d MMM – E, d MMM"}
-                 }
-                 yMMMEd{
--                    d{"E, d MMM – E, dMMM, y G"}
-+                    d{"E, d MMM – E, d MMM y G"}
-                 }
-             }
-         }
-@@ -55,8 +55,8 @@ en_AU{
-                 "h:mm:ss a",
-                 "h:mm a",
-                 "EEEE, d MMMM y",
--                "dMMMM,y",
--                "dMMM,y",
-+                "d MMMM y",
-+                "d MMM y",
-                 "d/M/yy",
-                 "{1}, {0}",
-                 "{1} 'at' {0}",
-@@ -66,7 +66,7 @@ en_AU{
-             }
-             availableFormats{
-                 M{"LL"}
--                yMMMEd{"E, d MMM,y"}
-+                yMMMEd{"E, d MMM y"}
-             }
-             dayNames{
-                 format{
 diff --git a/source/data/locales/fa.txt b/source/data/locales/fa.txt
 index 8a79dff..594881e 100644
 --- a/source/data/locales/fa.txt
diff --git a/patches/measure_format.patch b/patches/measure_format.patch
deleted file mode 100644
index ad1adce..0000000
--- a/patches/measure_format.patch
+++ /dev/null
@@ -1,5474 +0,0 @@
-diff --git a/source/common/Makefile.in b/source/common/Makefile.in
-index 6dd4c4d..b187af6 100644
---- a/source/common/Makefile.in
-+++ b/source/common/Makefile.in
-@@ -84,7 +84,7 @@ uhash.o uhash_us.o uenum.o ustrenum.o uvector.o ustack.o uvectr32.o uvectr64.o \
- ucnv.o ucnv_bld.o ucnv_cnv.o ucnv_io.o ucnv_cb.o ucnv_err.o ucnvlat1.o \
- ucnv_u7.o ucnv_u8.o ucnv_u16.o ucnv_u32.o ucnvscsu.o ucnvbocu.o \
- ucnv_ext.o ucnvmbcs.o ucnv2022.o ucnvhz.o ucnv_lmb.o ucnvisci.o ucnvdisp.o ucnv_set.o ucnv_ct.o \
--uresbund.o ures_cnv.o uresdata.o resbund.o resbund_cnv.o \
-+resource.o uresbund.o ures_cnv.o uresdata.o resbund.o resbund_cnv.o \
- messagepattern.o ucat.o locmap.o uloc.o locid.o locutil.o locavailable.o locdispnames.o loclikely.o locresdata.o \
- bytestream.o stringpiece.o \
- stringtriebuilder.o bytestriebuilder.o \
-diff --git a/source/common/common.vcxproj b/source/common/common.vcxproj
-index 24bf4de..18ca9a3 100644
---- a/source/common/common.vcxproj
-+++ b/source/common/common.vcxproj
-@@ -379,7 +379,8 @@
-     <ClCompile Include="uloc_tag.c" />
-     <ClCompile Include="ures_cnv.c" />
-     <ClCompile Include="uresbund.cpp" />
--    <ClCompile Include="uresdata.c" />
-+    <ClCompile Include="uresdata.cpp" />
-+    <ClCompile Include="resource.cpp" />
-     <ClCompile Include="caniter.cpp">
-     </ClCompile>
-     <ClCompile Include="filterednormalizer2.cpp" />
-@@ -1135,6 +1136,7 @@
-     <ClInclude Include="uresdata.h" />
-     <ClInclude Include="uresimp.h" />
-     <ClInclude Include="ureslocs.h" />
-+    <ClInclude Include="resource.h" />
-     <CustomBuild Include="unicode\caniter.h">
-       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
- </Command>
-diff --git a/source/common/common.vcxproj.filters b/source/common/common.vcxproj.filters
-index 01b0625..4a4954b 100644
---- a/source/common/common.vcxproj.filters
-+++ b/source/common/common.vcxproj.filters
-@@ -343,7 +343,10 @@
-     <ClCompile Include="uresbund.cpp">
-       <Filter>locales &amp; resources</Filter>
-     </ClCompile>
--    <ClCompile Include="uresdata.c">
-+    <ClCompile Include="uresdata.cpp">
-+      <Filter>locales &amp; resources</Filter>
-+    </ClCompile>
-+    <ClCompile Include="resource.cpp">
-       <Filter>locales &amp; resources</Filter>
-     </ClCompile>
-     <ClCompile Include="caniter.cpp">
-@@ -769,6 +772,9 @@
-     <ClInclude Include="uresdata.h">
-       <Filter>locales &amp; resources</Filter>
-     </ClInclude>
-+    <ClInclude Include="resource.h">
-+      <Filter>locales &amp; resources</Filter>
-+    </ClInclude>
-     <ClInclude Include="uresimp.h">
-       <Filter>locales &amp; resources</Filter>
-     </ClInclude>
-diff --git a/source/common/listformatter.cpp b/source/common/listformatter.cpp
-index 6dbf6c5..4941fa2 100644
---- a/source/common/listformatter.cpp
-+++ b/source/common/listformatter.cpp
-@@ -1,7 +1,7 @@
- /*
- *******************************************************************************
- *
--*   Copyright (C) 2013-2014, International Business Machines
-+*   Copyright (C) 2013-2015, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- *
- *******************************************************************************
-@@ -36,11 +36,12 @@ ListFormatInternal(
-         const UnicodeString& two,
-         const UnicodeString& start,
-         const UnicodeString& middle,
--        const UnicodeString& end) :
--        twoPattern(two),
--        startPattern(start),
--        middlePattern(middle),
--        endPattern(end) {}
-+        const UnicodeString& end,
-+        UErrorCode &errorCode) :
-+        twoPattern(two, 2, 2, errorCode),
-+        startPattern(start, 2, 2, errorCode),
-+        middlePattern(middle, 2, 2, errorCode),
-+        endPattern(end, 2, 2, errorCode) {}
- 
- ListFormatInternal(const ListFormatData &data) :
-         twoPattern(data.twoPattern),
-@@ -191,11 +192,15 @@ static ListFormatInternal* loadListFormatInternal(
-     if (U_FAILURE(errorCode)) {
-         return NULL;
-     }
--    ListFormatInternal* result = new ListFormatInternal(two, start, middle, end);
-+    ListFormatInternal* result = new ListFormatInternal(two, start, middle, end, errorCode);
-     if (result == NULL) {
-         errorCode = U_MEMORY_ALLOCATION_ERROR;
-         return NULL;
-     }
-+    if (U_FAILURE(errorCode)) {
-+        delete result;
-+        return NULL;
-+    }
-     return result;
- }
- 
-diff --git a/source/common/resource.cpp b/source/common/resource.cpp
-new file mode 100644
-index 0000000..7a4c418
---- /dev/null
-+++ b/source/common/resource.cpp
-@@ -0,0 +1,60 @@
-+/*
-+*******************************************************************************
-+* Copyright (C) 2015, International Business Machines
-+* Corporation and others.  All Rights Reserved.
-+*******************************************************************************
-+* resource.cpp
-+*
-+* created on: 2015nov04
-+* created by: Markus W. Scherer
-+*/
-+
-+#include "resource.h"
-+
-+#include "unicode/utypes.h"
-+#include "unicode/uobject.h"
-+#include "unicode/ures.h"
-+
-+U_NAMESPACE_BEGIN
-+
-+ResourceValue::~ResourceValue() {}
-+
-+
-+ResourceArraySink::~ResourceArraySink() {}
-+
-+void ResourceArraySink::put(
-+        int32_t /*index*/, const ResourceValue & /*value*/, UErrorCode & /*errorCode*/) {}
-+
-+ResourceArraySink *ResourceArraySink::getOrCreateArraySink(
-+        int32_t /*index*/, int32_t /*size*/, UErrorCode & /*errorCode*/) {
-+    return NULL;
-+}
-+
-+ResourceTableSink *ResourceArraySink::getOrCreateTableSink(
-+        int32_t /*index*/, int32_t /*initialSize*/, UErrorCode & /*errorCode*/) {
-+    return NULL;
-+}
-+
-+void ResourceArraySink::leave(UErrorCode & /*errorCode*/) {}
-+
-+
-+ResourceTableSink::~ResourceTableSink() {}
-+
-+void ResourceTableSink::put(
-+        const char * /*key*/, const ResourceValue & /*value*/, UErrorCode & /*errorCode*/) {}
-+
-+void ResourceTableSink::putNoFallback(const char * /*key*/, UErrorCode & /*errorCode*/) {}
-+
-+ResourceArraySink *ResourceTableSink::getOrCreateArraySink(
-+        const char * /*key*/, int32_t /*size*/, UErrorCode & /*errorCode*/) {
-+    return NULL;
-+}
-+
-+ResourceTableSink *ResourceTableSink::getOrCreateTableSink(
-+        const char * /*key*/, int32_t /*initialSize*/, UErrorCode & /*errorCode*/) {
-+    return NULL;
-+}
-+
-+void ResourceTableSink::leave(UErrorCode & /*errorCode*/) {}
-+
-+U_NAMESPACE_END
-diff --git a/source/common/resource.h b/source/common/resource.h
-new file mode 100644
-index 0000000..042e298
---- /dev/null
-+++ b/source/common/resource.h
-@@ -0,0 +1,248 @@
-+/*
-+*******************************************************************************
-+* Copyright (C) 2015, International Business Machines
-+* Corporation and others.  All Rights Reserved.
-+*******************************************************************************
-+* resource.h
-+*
-+* created on: 2015nov04
-+* created by: Markus W. Scherer
-+*/
-+
-+#ifndef __URESOURCE_H__
-+#define __URESOURCE_H__
-+
-+/**
-+ * \file
-+ * \brief ICU resource bundle key and value types.
-+ */
-+
-+// Note: Ported from ICU4J class UResource and its nested classes,
-+// but the C++ classes are separate, not nested.
-+
-+// We use the Resource prefix for C++ classes, as usual.
-+// The UResource prefix would be used for C types.
-+
-+#include "unicode/utypes.h"
-+#include "unicode/unistr.h"
-+#include "unicode/ures.h"
-+
-+U_NAMESPACE_BEGIN
-+
-+class ResourceTableSink;
-+
-+// Note: In C++, we use const char * pointers for keys,
-+// rather than an abstraction like Java UResource.Key.
-+
-+/**
-+ * Represents a resource bundle item's value.
-+ * Avoids object creations as much as possible.
-+ * Mutable, not thread-safe.
-+ */
-+class U_COMMON_API ResourceValue : public UObject {
-+public:
-+    virtual ~ResourceValue();
-+
-+    /**
-+     * @return ICU resource type, for example, URES_STRING
-+     */
-+    virtual UResType getType() const = 0;
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not a string resource.
-+     *
-+     * @see ures_getString()
-+     */
-+    virtual const UChar *getString(int32_t &length, UErrorCode &errorCode) const = 0;
-+
-+    inline UnicodeString getUnicodeString(UErrorCode &errorCode) const {
-+        int32_t len = 0;
-+        const UChar *r = getString(len, errorCode);
-+        return UnicodeString(TRUE, r, len);
-+    }
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not an alias resource.
-+     */
-+    virtual const UChar *getAliasString(int32_t &length, UErrorCode &errorCode) const = 0;
-+
-+    inline UnicodeString getAliasUnicodeString(UErrorCode &errorCode) const {
-+        int32_t len = 0;
-+        const UChar *r = getAliasString(len, errorCode);
-+        return UnicodeString(TRUE, r, len);
-+    }
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not an integer resource.
-+     *
-+     * @see ures_getInt()
-+     */
-+    virtual int32_t getInt(UErrorCode &errorCode) const = 0;
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not an integer resource.
-+     *
-+     * @see ures_getUInt()
-+     */
-+    virtual uint32_t getUInt(UErrorCode &errorCode) const = 0;
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not an intvector resource.
-+     *
-+     * @see ures_getIntVector()
-+     */
-+    virtual const int32_t *getIntVector(int32_t &length, UErrorCode &errorCode) const = 0;
-+
-+    /**
-+     * Sets U_RESOURCE_TYPE_MISMATCH if this is not a binary-blob resource.
-+     *
-+     * @see ures_getBinary()
-+     */
-+    virtual const uint8_t *getBinary(int32_t &length, UErrorCode &errorCode) const = 0;
-+
-+protected:
-+    ResourceValue() {}
-+
-+private:
-+    ResourceValue(const ResourceValue &);  // no copy constructor
-+    ResourceValue &operator=(const ResourceValue &);  // no assignment operator
-+};
-+
-+/**
-+ * Sink for ICU resource array contents.
-+ * The base class does nothing.
-+ *
-+ * Nested arrays and tables are stored as nested sinks,
-+ * never put() as ResourceValue items.
-+ */
-+class U_COMMON_API ResourceArraySink : public UObject {
-+public:
-+    ResourceArraySink() {}
-+    virtual ~ResourceArraySink();
-+
-+    /**
-+     * Adds a value from a resource array.
-+     *
-+     * @param index of the resource array item
-+     * @param value resource value
-+     */
-+    virtual void put(int32_t index, const ResourceValue &value, UErrorCode &errorCode);
-+
-+    /**
-+     * Returns a nested resource array at the array index as another sink.
-+     * Creates the sink if none exists for the key.
-+     * Returns NULL if nested arrays are not supported.
-+     * The default implementation always returns NULL.
-+     *
-+     * This sink (not the caller) owns the nested sink.
-+     *
-+     * @param index of the resource array item
-+     * @param size number of array items
-+     * @return nested-array sink, or NULL
-+     */
-+    virtual ResourceArraySink *getOrCreateArraySink(
-+            int32_t index, int32_t size, UErrorCode &errorCode);
-+
-+    /**
-+     * Returns a nested resource table at the array index as another sink.
-+     * Creates the sink if none exists for the key.
-+     * Returns NULL if nested tables are not supported.
-+     * The default implementation always returns NULL.
-+     *
-+     * This sink (not the caller) owns the nested sink.
-+     *
-+     * @param index of the resource array item
-+     * @param initialSize size hint for creating the sink if necessary
-+     * @return nested-table sink, or NULL
-+     */
-+    virtual ResourceTableSink *getOrCreateTableSink(
-+            int32_t index, int32_t initialSize, UErrorCode &errorCode);
-+
-+    /**
-+     * "Leaves" the array.
-+     * Indicates that all of the resources and sub-resources of the current array
-+     * have been enumerated.
-+     */
-+    virtual void leave(UErrorCode &errorCode);
-+
-+private:
-+    ResourceArraySink(const ResourceArraySink &);  // no copy constructor
-+    ResourceArraySink &operator=(const ResourceArraySink &);  // no assignment operator
-+};
-+
-+/**
-+ * Sink for ICU resource table contents.
-+ * The base class does nothing.
-+ *
-+ * Nested arrays and tables are stored as nested sinks,
-+ * never put() as ResourceValue items.
-+ */
-+class U_COMMON_API ResourceTableSink : public UObject {
-+public:
-+    ResourceTableSink() {}
-+    virtual ~ResourceTableSink();
-+
-+    /**
-+     * Adds a key-value pair from a resource table.
-+     *
-+     * @param key resource key string
-+     * @param value resource value
-+     */
-+    virtual void put(const char *key, const ResourceValue &value, UErrorCode &errorCode);
-+
-+    /**
-+     * Adds a no-fallback/no-inheritance marker for this key.
-+     * Used for CLDR no-fallback data values of (three empty-set symbols)=={2205, 2205, 2205}
-+     * when enumerating tables with fallback from the specific resource bundle to root.
-+     *
-+     * The default implementation does nothing.
-+     *
-+     * @param key to be removed
-+     */
-+    virtual void putNoFallback(const char *key, UErrorCode &errorCode);
-+
-+    /**
-+     * Returns a nested resource array for the key as another sink.
-+     * Creates the sink if none exists for the key.
-+     * Returns NULL if nested arrays are not supported.
-+     * The default implementation always returns NULL.
-+     *
-+     * This sink (not the caller) owns the nested sink.
-+     *
-+     * @param key resource key string
-+     * @param size number of array items
-+     * @return nested-array sink, or NULL
-+     */
-+    virtual ResourceArraySink *getOrCreateArraySink(
-+            const char *key, int32_t size, UErrorCode &errorCode);
-+
-+    /**
-+     * Returns a nested resource table for the key as another sink.
-+     * Creates the sink if none exists for the key.
-+     * Returns NULL if nested tables are not supported.
-+     * The default implementation always returns NULL.
-+     *
-+     * This sink (not the caller) owns the nested sink.
-+     *
-+     * @param key resource key string
-+     * @param initialSize size hint for creating the sink if necessary
-+     * @return nested-table sink, or NULL
-+     */
-+    virtual ResourceTableSink *getOrCreateTableSink(
-+            const char *key, int32_t initialSize, UErrorCode &errorCode);
-+
-+    /**
-+     * "Leaves" the table.
-+     * Indicates that all of the resources and sub-resources of the current table
-+     * have been enumerated.
-+     */
-+    virtual void leave(UErrorCode &errorCode);
-+
-+private:
-+    ResourceTableSink(const ResourceTableSink &);  // no copy constructor
-+    ResourceTableSink &operator=(const ResourceTableSink &);  // no assignment operator
-+};
-+
-+U_NAMESPACE_END
-+
-+#endif
-diff --git a/source/common/simplepatternformatter.cpp b/source/common/simplepatternformatter.cpp
-index 0cac2ec..abaaea9 100644
---- a/source/common/simplepatternformatter.cpp
-+++ b/source/common/simplepatternformatter.cpp
-@@ -1,6 +1,6 @@
- /*
- ******************************************************************************
--* Copyright (C) 2014, International Business Machines
-+* Copyright (C) 2014-2015, International Business Machines
- * Corporation and others.  All Rights Reserved.
- ******************************************************************************
- * simplepatternformatter.cpp
-@@ -149,6 +149,17 @@ SimplePatternFormatter::SimplePatternFormatter(const UnicodeString &pattern) :
-     compile(pattern, status);
- }
- 
-+SimplePatternFormatter::SimplePatternFormatter(const UnicodeString &pattern,
-+        int32_t min, int32_t max,
-+        UErrorCode &errorCode)
-+        : noPlaceholders(),
-+          placeholders(),
-+          placeholderSize(0),
-+          placeholderCount(0),
-+          firstPlaceholderReused(FALSE) {
-+    compileMinMaxPlaceholders(pattern, min, max, errorCode);
-+}
-+
- SimplePatternFormatter::SimplePatternFormatter(
-         const SimplePatternFormatter &other) :
-         noPlaceholders(other.noPlaceholders),
-@@ -182,8 +193,10 @@ SimplePatternFormatter &SimplePatternFormatter::operator=(
- SimplePatternFormatter::~SimplePatternFormatter() {
- }
- 
--UBool SimplePatternFormatter::compile(
--        const UnicodeString &pattern, UErrorCode &status) {
-+UBool SimplePatternFormatter::compileMinMaxPlaceholders(
-+        const UnicodeString &pattern,
-+        int32_t min, int32_t max,
-+        UErrorCode &status) {
-     if (U_FAILURE(status)) {
-         return FALSE;
-     }
-@@ -224,6 +237,7 @@ UBool SimplePatternFormatter::compile(
-                 idBuilder.add(ch);
-             } else if (ch == 0x7D && idBuilder.isValid()) {
-                 if (!addPlaceholder(idBuilder.getId(), len)) {
-+                    noPlaceholders.releaseBuffer(0);
-                     status = U_MEMORY_ALLOCATION_ERROR;
-                     return FALSE;
-                 }
-@@ -255,6 +269,10 @@ UBool SimplePatternFormatter::compile(
-         break;
-     }
-     noPlaceholders.releaseBuffer(len);
-+    if (placeholderCount < min || max < placeholderCount) {
-+        status = U_ILLEGAL_ARGUMENT_ERROR;
-+        return FALSE;
-+    }
-     return TRUE;
- }
- 
-diff --git a/source/common/simplepatternformatter.h b/source/common/simplepatternformatter.h
-index 6740dc9..782a29c 100644
---- a/source/common/simplepatternformatter.h
-+++ b/source/common/simplepatternformatter.h
-@@ -1,6 +1,6 @@
- /*
- ******************************************************************************
--* Copyright (C) 2014, International Business Machines
-+* Copyright (C) 2014-2015, International Business Machines
- * Corporation and others.  All Rights Reserved.
- ******************************************************************************
- * simplepatternformatter.h
-@@ -52,12 +52,22 @@ public:
-     SimplePatternFormatter();
- 
-     /**
--     * Construct from a pattern. Will never fail if pattern has three or
-+     * Constructs from a pattern. Will never fail if pattern has three or
-      * fewer placeholders in it.
-      */
-     explicit SimplePatternFormatter(const UnicodeString& pattern);
- 
-     /**
-+     * Constructs from a pattern. Will never fail if pattern has three or
-+     * fewer placeholders in it.
-+     *
-+     * @param min The pattern must have at least this many placeholders.
-+     * @param max The pattern must have at most this many placeholders.
-+     */
-+    SimplePatternFormatter(const UnicodeString& pattern, int32_t min, int32_t max,
-+                           UErrorCode &errorCode);
-+
-+    /**
-      * Copy constructor.
-      */
-     SimplePatternFormatter(const SimplePatternFormatter& other);
-@@ -79,7 +89,22 @@ public:
-      * there are three or fewer placeholders in pattern. May fail with
-      * U_MEMORY_ALLOCATION_ERROR if there are more than three placeholders.
-      */
--    UBool compile(const UnicodeString &pattern, UErrorCode &status);
-+    UBool compile(const UnicodeString &pattern, UErrorCode &status) {
-+        return compileMinMaxPlaceholders(pattern, 0, INT32_MAX, status);
-+    }
-+
-+    /**
-+     * Compiles pattern and makes this object represent pattern.
-+     *
-+     * Returns TRUE on success; FALSE on failure. Will not fail if
-+     * there are three or fewer placeholders in pattern. May fail with
-+     * U_MEMORY_ALLOCATION_ERROR if there are more than three placeholders.
-+     *
-+     * @param min The pattern must have at least this many placeholders.
-+     * @param max The pattern must have at most this many placeholders.
-+     */
-+    UBool compileMinMaxPlaceholders(const UnicodeString &pattern,
-+                                    int32_t min, int32_t max, UErrorCode &status);
- 
-     /**
-      * Returns (maxPlaceholderId + 1). For example
-diff --git a/source/common/uresbund.cpp b/source/common/uresbund.cpp
-index e74afb8..b2d071a 100644
---- a/source/common/uresbund.cpp
-+++ b/source/common/uresbund.cpp
-@@ -1882,6 +1882,121 @@ ures_getByKeyWithFallback(const UResourceBundle *resB,
-     return fillIn;
- }
- 
-+namespace {
-+
-+void getAllContainerItemsWithFallback(
-+        const UResourceBundle *bundle, ResourceDataValue &value,
-+        ResourceArraySink *arraySink, ResourceTableSink *tableSink,
-+        UErrorCode &errorCode) {
-+    if (U_FAILURE(errorCode)) { return; }
-+    // We recursively enumerate child-first,
-+    // only storing parent items in the absence of child items.
-+    // We store a placeholder value for the no-fallback/no-inheritance marker
-+    // to prevent a parent item from being stored.
-+    //
-+    // It would be possible to recursively enumerate parent-first,
-+    // overriding parent items with child items.
-+    // When we see the no-fallback/no-inheritance marker,
-+    // then we would remove the parent's item.
-+    // We would deserialize parent values even though they are overridden in a child bundle.
-+    UResType expectedType = arraySink != NULL ? URES_ARRAY : URES_TABLE;
-+    if (ures_getType(bundle) == expectedType) {
-+        value.pResData = &bundle->fResData;
-+        if (arraySink != NULL) {
-+            ures_getAllArrayItems(&bundle->fResData, bundle->fRes, value, *arraySink, errorCode);
-+        } else /* tableSink != NULL */ {
-+            ures_getAllTableItems(&bundle->fResData, bundle->fRes, value, *tableSink, errorCode);
-+        }
-+    }
-+    UResourceDataEntry *entry = bundle->fData->fParent;
-+    if (entry != NULL && U_SUCCESS(entry->fBogus)) {
-+        // We might try to query the sink whether
-+        // any fallback from the parent bundle is still possible.
-+
-+        // Turn the parent UResourceDataEntry into a UResourceBundle,
-+        // much like in ures_openWithType().
-+        // TODO: See if we can refactor ures_getByKeyWithFallback()
-+        // and pull out an inner function that takes and returns a UResourceDataEntry
-+        // so that we need not create UResourceBundle objects.
-+        UResourceBundle parentBundle;
-+        ures_initStackObject(&parentBundle);
-+        parentBundle.fTopLevelData = parentBundle.fData = entry;
-+        // TODO: What is the difference between bundle fData and fTopLevelData?
-+        uprv_memcpy(&parentBundle.fResData, &entry->fData, sizeof(ResourceData));
-+        // TODO: Try to replace bundle.fResData with just using bundle.fData->fData.
-+        parentBundle.fHasFallback = !parentBundle.fResData.noFallback;
-+        parentBundle.fIsTopLevel = TRUE;
-+        parentBundle.fRes = parentBundle.fResData.rootRes;
-+        parentBundle.fSize = res_countArrayItems(&(parentBundle.fResData), parentBundle.fRes);
-+        parentBundle.fIndex = -1;
-+        entryIncrease(entry);
-+
-+        // Look up the container item in the parent bundle.
-+        UResourceBundle containerBundle;
-+        ures_initStackObject(&containerBundle);
-+        const UResourceBundle *rb;
-+        if (bundle->fResPath == NULL || *bundle->fResPath == 0) {
-+            rb = &parentBundle;
-+        } else {
-+            rb = ures_getByKeyWithFallback(&parentBundle, bundle->fResPath,
-+                                           &containerBundle, &errorCode);
-+        }
-+        if (U_SUCCESS(errorCode) && ures_getType(rb) == expectedType) {
-+            getAllContainerItemsWithFallback(rb, value,
-+                                             arraySink, tableSink, errorCode);
-+        }
-+        ures_close(&containerBundle);
-+        ures_close(&parentBundle);
-+    }
-+}
-+
-+void getAllContainerItemsWithFallback(
-+        const UResourceBundle *bundle, const char *path,
-+        ResourceArraySink *arraySink, ResourceTableSink *tableSink,
-+        UErrorCode &errorCode) {
-+    if (U_FAILURE(errorCode)) { return; }
-+    if (path == NULL) {
-+        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
-+        return;
-+    }
-+    UResourceBundle stackBundle;
-+    ures_initStackObject(&stackBundle);
-+    const UResourceBundle *rb;
-+    if (*path == 0) {
-+        // empty path
-+        rb = bundle;
-+    } else {
-+        rb = ures_getByKeyWithFallback(bundle, path, &stackBundle, &errorCode);
-+        if (U_FAILURE(errorCode)) {
-+            ures_close(&stackBundle);
-+            return;
-+        }
-+    }
-+    UResType expectedType = arraySink != NULL ? URES_ARRAY : URES_TABLE;
-+    if (ures_getType(rb) != expectedType) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+        ures_close(&stackBundle);
-+        return;
-+    }
-+    // Get all table items with fallback.
-+    ResourceDataValue value;
-+    getAllContainerItemsWithFallback(rb, value, arraySink, tableSink, errorCode);
-+    ures_close(&stackBundle);
-+}
-+
-+}  // namespace
-+
-+U_CAPI void U_EXPORT2
-+ures_getAllArrayItemsWithFallback(const UResourceBundle *bundle, const char *path,
-+                                  ResourceArraySink &sink, UErrorCode &errorCode) {
-+    getAllContainerItemsWithFallback(bundle, path, &sink, NULL, errorCode);
-+}
-+
-+U_CAPI void U_EXPORT2
-+ures_getAllTableItemsWithFallback(const UResourceBundle *bundle, const char *path,
-+                                  ResourceTableSink &sink, UErrorCode &errorCode) {
-+    getAllContainerItemsWithFallback(bundle, path, NULL, &sink, errorCode);
-+}
- 
- U_CAPI UResourceBundle* U_EXPORT2 ures_getByKey(const UResourceBundle *resB, const char* inKey, UResourceBundle *fillIn, UErrorCode *status) {
-     Resource res = RES_BOGUS;
-diff --git a/source/common/uresdata.c b/source/common/uresdata.c
-deleted file mode 100644
-index 53887fb..0000000
---- a/source/common/uresdata.c
-+++ /dev/null
-@@ -1,1169 +0,0 @@
--/*
--*******************************************************************************
--* Copyright (C) 1999-2015, International Business Machines Corporation
--*               and others. All Rights Reserved.
--*******************************************************************************
--*   file name:  uresdata.c
--*   encoding:   US-ASCII
--*   tab size:   8 (not used)
--*   indentation:4
--*
--*   created on: 1999dec08
--*   created by: Markus W. Scherer
--* Modification History:
--*
--*   Date        Name        Description
--*   06/20/2000  helena      OS/400 port changes; mostly typecast.
--*   06/24/02    weiv        Added support for resource sharing
--*/
--
--#include "unicode/utypes.h"
--#include "unicode/udata.h"
--#include "unicode/ustring.h"
--#include "unicode/utf16.h"
--#include "cmemory.h"
--#include "cstring.h"
--#include "uarrsort.h"
--#include "udataswp.h"
--#include "ucol_swp.h"
--#include "uinvchar.h"
--#include "uresdata.h"
--#include "uresimp.h"
--#include "uassert.h"
--
--/*
-- * Resource access helpers
-- */
--
--/* get a const char* pointer to the key with the keyOffset byte offset from pRoot */
--#define RES_GET_KEY16(pResData, keyOffset) \
--    ((keyOffset)<(pResData)->localKeyLimit ? \
--        (const char *)(pResData)->pRoot+(keyOffset) : \
--        (pResData)->poolBundleKeys+(keyOffset)-(pResData)->localKeyLimit)
--
--#define RES_GET_KEY32(pResData, keyOffset) \
--    ((keyOffset)>=0 ? \
--        (const char *)(pResData)->pRoot+(keyOffset) : \
--        (pResData)->poolBundleKeys+((keyOffset)&0x7fffffff))
--
--#define URESDATA_ITEM_NOT_FOUND -1
--
--/* empty resources, returned when the resource offset is 0 */
--static const uint16_t gEmpty16=0;
--
--static const struct {
--    int32_t length;
--    int32_t res;
--} gEmpty32={ 0, 0 };
--
--static const struct {
--    int32_t length;
--    UChar nul;
--    UChar pad;
--} gEmptyString={ 0, 0, 0 };
--
--/*
-- * All the type-access functions assume that
-- * the resource is of the expected type.
-- */
--
--static int32_t
--_res_findTableItem(const ResourceData *pResData, const uint16_t *keyOffsets, int32_t length,
--                   const char *key, const char **realKey) {
--    const char *tableKey;
--    int32_t mid, start, limit;
--    int result;
--
--    /* do a binary search for the key */
--    start=0;
--    limit=length;
--    while(start<limit) {
--        mid = (start + limit) / 2;
--        tableKey = RES_GET_KEY16(pResData, keyOffsets[mid]);
--        if (pResData->useNativeStrcmp) {
--            result = uprv_strcmp(key, tableKey);
--        } else {
--            result = uprv_compareInvCharsAsAscii(key, tableKey);
--        }
--        if (result < 0) {
--            limit = mid;
--        } else if (result > 0) {
--            start = mid + 1;
--        } else {
--            /* We found it! */
--            *realKey=tableKey;
--            return mid;
--        }
--    }
--    return URESDATA_ITEM_NOT_FOUND;  /* not found or table is empty. */
--}
--
--static int32_t
--_res_findTable32Item(const ResourceData *pResData, const int32_t *keyOffsets, int32_t length,
--                     const char *key, const char **realKey) {
--    const char *tableKey;
--    int32_t mid, start, limit;
--    int result;
--
--    /* do a binary search for the key */
--    start=0;
--    limit=length;
--    while(start<limit) {
--        mid = (start + limit) / 2;
--        tableKey = RES_GET_KEY32(pResData, keyOffsets[mid]);
--        if (pResData->useNativeStrcmp) {
--            result = uprv_strcmp(key, tableKey);
--        } else {
--            result = uprv_compareInvCharsAsAscii(key, tableKey);
--        }
--        if (result < 0) {
--            limit = mid;
--        } else if (result > 0) {
--            start = mid + 1;
--        } else {
--            /* We found it! */
--            *realKey=tableKey;
--            return mid;
--        }
--    }
--    return URESDATA_ITEM_NOT_FOUND;  /* not found or table is empty. */
--}
--
--/* helper for res_load() ---------------------------------------------------- */
--
--static UBool U_CALLCONV
--isAcceptable(void *context,
--             const char *type, const char *name,
--             const UDataInfo *pInfo) {
--    uprv_memcpy(context, pInfo->formatVersion, 4);
--    return (UBool)(
--        pInfo->size>=20 &&
--        pInfo->isBigEndian==U_IS_BIG_ENDIAN &&
--        pInfo->charsetFamily==U_CHARSET_FAMILY &&
--        pInfo->sizeofUChar==U_SIZEOF_UCHAR &&
--        pInfo->dataFormat[0]==0x52 &&   /* dataFormat="ResB" */
--        pInfo->dataFormat[1]==0x65 &&
--        pInfo->dataFormat[2]==0x73 &&
--        pInfo->dataFormat[3]==0x42 &&
--        (1<=pInfo->formatVersion[0] && pInfo->formatVersion[0]<=3));
--}
--
--/* semi-public functions ---------------------------------------------------- */
--
--static void
--res_init(ResourceData *pResData,
--         UVersionInfo formatVersion, const void *inBytes, int32_t length,
--         UErrorCode *errorCode) {
--    UResType rootType;
--
--    /* get the root resource */
--    pResData->pRoot=(const int32_t *)inBytes;
--    pResData->rootRes=(Resource)*pResData->pRoot;
--    pResData->p16BitUnits=&gEmpty16;
--
--    /* formatVersion 1.1 must have a root item and at least 5 indexes */
--    if(length>=0 && (length/4)<((formatVersion[0]==1 && formatVersion[1]==0) ? 1 : 1+5)) {
--        *errorCode=U_INVALID_FORMAT_ERROR;
--        res_unload(pResData);
--        return;
--    }
--
--    /* currently, we accept only resources that have a Table as their roots */
--    rootType=(UResType)RES_GET_TYPE(pResData->rootRes);
--    if(!URES_IS_TABLE(rootType)) {
--        *errorCode=U_INVALID_FORMAT_ERROR;
--        res_unload(pResData);
--        return;
--    }
--
--    if(formatVersion[0]==1 && formatVersion[1]==0) {
--        pResData->localKeyLimit=0x10000;  /* greater than any 16-bit key string offset */
--    } else {
--        /* bundles with formatVersion 1.1 and later contain an indexes[] array */
--        const int32_t *indexes=pResData->pRoot+1;
--        int32_t indexLength=indexes[URES_INDEX_LENGTH]&0xff;
--        if(indexLength<=URES_INDEX_MAX_TABLE_LENGTH) {
--            *errorCode=U_INVALID_FORMAT_ERROR;
--            res_unload(pResData);
--            return;
--        }
--        if( length>=0 &&
--            (length<((1+indexLength)<<2) ||
--             length<(indexes[URES_INDEX_BUNDLE_TOP]<<2))
--        ) {
--            *errorCode=U_INVALID_FORMAT_ERROR;
--            res_unload(pResData);
--            return;
--        }
--        if(indexes[URES_INDEX_KEYS_TOP]>(1+indexLength)) {
--            pResData->localKeyLimit=indexes[URES_INDEX_KEYS_TOP]<<2;
--        }
--        if(formatVersion[0]>=3) {
--            // In formatVersion 1, the indexLength took up this whole int.
--            // In version 2, bits 31..8 were reserved and always 0.
--            // In version 3, they contain bits 23..0 of the poolStringIndexLimit.
--            // Bits 27..24 are in indexes[URES_INDEX_ATTRIBUTES] bits 15..12.
--            pResData->poolStringIndexLimit=(int32_t)((uint32_t)indexes[URES_INDEX_LENGTH]>>8);
--        }
--        if(indexLength>URES_INDEX_ATTRIBUTES) {
--            int32_t att=indexes[URES_INDEX_ATTRIBUTES];
--            pResData->noFallback=(UBool)(att&URES_ATT_NO_FALLBACK);
--            pResData->isPoolBundle=(UBool)((att&URES_ATT_IS_POOL_BUNDLE)!=0);
--            pResData->usesPoolBundle=(UBool)((att&URES_ATT_USES_POOL_BUNDLE)!=0);
--            pResData->poolStringIndexLimit|=(att&0xf000)<<12;  // bits 15..12 -> 27..24
--            pResData->poolStringIndex16Limit=(int32_t)((uint32_t)att>>16);
--        }
--        if((pResData->isPoolBundle || pResData->usesPoolBundle) && indexLength<=URES_INDEX_POOL_CHECKSUM) {
--            *errorCode=U_INVALID_FORMAT_ERROR;
--            res_unload(pResData);
--            return;
--        }
--        if( indexLength>URES_INDEX_16BIT_TOP &&
--            indexes[URES_INDEX_16BIT_TOP]>indexes[URES_INDEX_KEYS_TOP]
--        ) {
--            pResData->p16BitUnits=(const uint16_t *)(pResData->pRoot+indexes[URES_INDEX_KEYS_TOP]);
--        }
--    }
--
--    if(formatVersion[0]==1 || U_CHARSET_FAMILY==U_ASCII_FAMILY) {
--        /*
--         * formatVersion 1: compare key strings in native-charset order
--         * formatVersion 2 and up: compare key strings in ASCII order
--         */
--        pResData->useNativeStrcmp=TRUE;
--    }
--}
--
--U_CAPI void U_EXPORT2
--res_read(ResourceData *pResData,
--         const UDataInfo *pInfo, const void *inBytes, int32_t length,
--         UErrorCode *errorCode) {
--    UVersionInfo formatVersion;
--
--    uprv_memset(pResData, 0, sizeof(ResourceData));
--    if(U_FAILURE(*errorCode)) {
--        return;
--    }
--    if(!isAcceptable(formatVersion, NULL, NULL, pInfo)) {
--        *errorCode=U_INVALID_FORMAT_ERROR;
--        return;
--    }
--    res_init(pResData, formatVersion, inBytes, length, errorCode);
--}
--
--U_CFUNC void
--res_load(ResourceData *pResData,
--         const char *path, const char *name, UErrorCode *errorCode) {
--    UVersionInfo formatVersion;
--
--    uprv_memset(pResData, 0, sizeof(ResourceData));
--
--    /* load the ResourceBundle file */
--    pResData->data=udata_openChoice(path, "res", name, isAcceptable, formatVersion, errorCode);
--    if(U_FAILURE(*errorCode)) {
--        return;
--    }
--
--    /* get its memory and initialize *pResData */
--    res_init(pResData, formatVersion, udata_getMemory(pResData->data), -1, errorCode);
--}
--
--U_CFUNC void
--res_unload(ResourceData *pResData) {
--    if(pResData->data!=NULL) {
--        udata_close(pResData->data);
--        pResData->data=NULL;
--    }
--}
--
--static const int8_t gPublicTypes[URES_LIMIT] = {
--    URES_STRING,
--    URES_BINARY,
--    URES_TABLE,
--    URES_ALIAS,
--
--    URES_TABLE,     /* URES_TABLE32 */
--    URES_TABLE,     /* URES_TABLE16 */
--    URES_STRING,    /* URES_STRING_V2 */
--    URES_INT,
--
--    URES_ARRAY,
--    URES_ARRAY,     /* URES_ARRAY16 */
--    URES_NONE,
--    URES_NONE,
--
--    URES_NONE,
--    URES_NONE,
--    URES_INT_VECTOR,
--    URES_NONE
--};
--
--U_CAPI UResType U_EXPORT2
--res_getPublicType(Resource res) {
--    return (UResType)gPublicTypes[RES_GET_TYPE(res)];
--}
--
--U_CAPI const UChar * U_EXPORT2
--res_getString(const ResourceData *pResData, Resource res, int32_t *pLength) {
--    const UChar *p;
--    uint32_t offset=RES_GET_OFFSET(res);
--    int32_t length;
--    if(RES_GET_TYPE(res)==URES_STRING_V2) {
--        int32_t first;
--        if(offset<pResData->poolStringIndexLimit) {
--            p=(const UChar *)pResData->poolBundleStrings+offset;
--        } else {
--            p=(const UChar *)pResData->p16BitUnits+(offset-pResData->poolStringIndexLimit);
--        }
--        first=*p;
--        if(!U16_IS_TRAIL(first)) {
--            length=u_strlen(p);
--        } else if(first<0xdfef) {
--            length=first&0x3ff;
--            ++p;
--        } else if(first<0xdfff) {
--            length=((first-0xdfef)<<16)|p[1];
--            p+=2;
--        } else {
--            length=((int32_t)p[1]<<16)|p[2];
--            p+=3;
--        }
--    } else if(res==offset) /* RES_GET_TYPE(res)==URES_STRING */ {
--        const int32_t *p32= res==0 ? &gEmptyString.length : pResData->pRoot+res;
--        length=*p32++;
--        p=(const UChar *)p32;
--    } else {
--        p=NULL;
--        length=0;
--    }
--    if(pLength) {
--        *pLength=length;
--    }
--    return p;
--}
--
--U_CAPI const UChar * U_EXPORT2
--res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength) {
--    const UChar *p;
--    uint32_t offset=RES_GET_OFFSET(res);
--    int32_t length;
--    if(RES_GET_TYPE(res)==URES_ALIAS) {
--        const int32_t *p32= offset==0 ? &gEmptyString.length : pResData->pRoot+offset;
--        length=*p32++;
--        p=(const UChar *)p32;
--    } else {
--        p=NULL;
--        length=0;
--    }
--    if(pLength) {
--        *pLength=length;
--    }
--    return p;
--}
--
--U_CAPI const uint8_t * U_EXPORT2
--res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) {
--    const uint8_t *p;
--    uint32_t offset=RES_GET_OFFSET(res);
--    int32_t length;
--    if(RES_GET_TYPE(res)==URES_BINARY) {
--        const int32_t *p32= offset==0 ? (const int32_t*)&gEmpty32 : pResData->pRoot+offset;
--        length=*p32++;
--        p=(const uint8_t *)p32;
--    } else {
--        p=NULL;
--        length=0;
--    }
--    if(pLength) {
--        *pLength=length;
--    }
--    return p;
--}
--
--
--U_CAPI const int32_t * U_EXPORT2
--res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength) {
--    const int32_t *p;
--    uint32_t offset=RES_GET_OFFSET(res);
--    int32_t length;
--    if(RES_GET_TYPE(res)==URES_INT_VECTOR) {
--        p= offset==0 ? (const int32_t *)&gEmpty32 : pResData->pRoot+offset;
--        length=*p++;
--    } else {
--        p=NULL;
--        length=0;
--    }
--    if(pLength) {
--        *pLength=length;
--    }
--    return p;
--}
--
--U_CAPI int32_t U_EXPORT2
--res_countArrayItems(const ResourceData *pResData, Resource res) {
--    uint32_t offset=RES_GET_OFFSET(res);
--    switch(RES_GET_TYPE(res)) {
--    case URES_STRING:
--    case URES_STRING_V2:
--    case URES_BINARY:
--    case URES_ALIAS:
--    case URES_INT:
--    case URES_INT_VECTOR:
--        return 1;
--    case URES_ARRAY:
--    case URES_TABLE32:
--        return offset==0 ? 0 : *(pResData->pRoot+offset);
--    case URES_TABLE:
--        return offset==0 ? 0 : *((const uint16_t *)(pResData->pRoot+offset));
--    case URES_ARRAY16:
--    case URES_TABLE16:
--        return pResData->p16BitUnits[offset];
--    default:
--        return 0;
--    }
--}
--
--static Resource
--makeResourceFrom16(const ResourceData *pResData, int32_t res16) {
--    if(res16<pResData->poolStringIndex16Limit) {
--        // Pool string, nothing to do.
--    } else {
--        // Local string, adjust the 16-bit offset to a regular one,
--        // with a larger pool string index limit.
--        res16=res16-pResData->poolStringIndex16Limit+pResData->poolStringIndexLimit;
--    }
--    return URES_MAKE_RESOURCE(URES_STRING_V2, res16);
--}
--
--U_CAPI Resource U_EXPORT2
--res_getTableItemByKey(const ResourceData *pResData, Resource table,
--                      int32_t *indexR, const char **key) {
--    uint32_t offset=RES_GET_OFFSET(table);
--    int32_t length;
--    int32_t idx;
--    if(key == NULL || *key == NULL) {
--        return RES_BOGUS;
--    }
--    switch(RES_GET_TYPE(table)) {
--    case URES_TABLE: {
--        if (offset!=0) { /* empty if offset==0 */
--            const uint16_t *p= (const uint16_t *)(pResData->pRoot+offset);
--            length=*p++;
--            *indexR=idx=_res_findTableItem(pResData, p, length, *key, key);
--            if(idx>=0) {
--                const Resource *p32=(const Resource *)(p+length+(~length&1));
--                return p32[idx];
--            }
--        }
--        break;
--    }
--    case URES_TABLE16: {
--        const uint16_t *p=pResData->p16BitUnits+offset;
--        length=*p++;
--        *indexR=idx=_res_findTableItem(pResData, p, length, *key, key);
--        if(idx>=0) {
--            return makeResourceFrom16(pResData, p[length+idx]);
--        }
--        break;
--    }
--    case URES_TABLE32: {
--        if (offset!=0) { /* empty if offset==0 */
--            const int32_t *p= pResData->pRoot+offset;
--            length=*p++;
--            *indexR=idx=_res_findTable32Item(pResData, p, length, *key, key);
--            if(idx>=0) {
--                return (Resource)p[length+idx];
--            }
--        }
--        break;
--    }
--    default:
--        break;
--    }
--    return RES_BOGUS;
--}
--
--U_CAPI Resource U_EXPORT2
--res_getTableItemByIndex(const ResourceData *pResData, Resource table,
--                        int32_t indexR, const char **key) {
--    uint32_t offset=RES_GET_OFFSET(table);
--    int32_t length;
--    U_ASSERT(indexR>=0); /* to ensure the index is not negative */
--    switch(RES_GET_TYPE(table)) {
--    case URES_TABLE: {
--        if (offset != 0) { /* empty if offset==0 */
--            const uint16_t *p= (const uint16_t *)(pResData->pRoot+offset);
--            length=*p++;
--            if(indexR<length) {
--                const Resource *p32=(const Resource *)(p+length+(~length&1));
--                if(key!=NULL) {
--                    *key=RES_GET_KEY16(pResData, p[indexR]);
--                }
--                return p32[indexR];
--            }
--        }
--        break;
--    }
--    case URES_TABLE16: {
--        const uint16_t *p=pResData->p16BitUnits+offset;
--        length=*p++;
--        if(indexR<length) {
--            if(key!=NULL) {
--                *key=RES_GET_KEY16(pResData, p[indexR]);
--            }
--            return makeResourceFrom16(pResData, p[length+indexR]);
--        }
--        break;
--    }
--    case URES_TABLE32: {
--        if (offset != 0) { /* empty if offset==0 */
--            const int32_t *p= pResData->pRoot+offset;
--            length=*p++;
--            if(indexR<length) {
--                if(key!=NULL) {
--                    *key=RES_GET_KEY32(pResData, p[indexR]);
--                }
--                return (Resource)p[length+indexR];
--            }
--        }
--        break;
--    }
--    default:
--        break;
--    }
--    return RES_BOGUS;
--}
--
--U_CAPI Resource U_EXPORT2
--res_getResource(const ResourceData *pResData, const char *key) {
--    const char *realKey=key;
--    int32_t idx;
--    return res_getTableItemByKey(pResData, pResData->rootRes, &idx, &realKey);
--}
--
--U_CAPI Resource U_EXPORT2
--res_getArrayItem(const ResourceData *pResData, Resource array, int32_t indexR) {
--    uint32_t offset=RES_GET_OFFSET(array);
--    U_ASSERT(indexR>=0); /* to ensure the index is not negative */
--    switch(RES_GET_TYPE(array)) {
--    case URES_ARRAY: {
--        if (offset!=0) { /* empty if offset==0 */
--            const int32_t *p= pResData->pRoot+offset;
--            if(indexR<*p) {
--                return (Resource)p[1+indexR];
--            }
--        }
--        break;
--    }
--    case URES_ARRAY16: {
--        const uint16_t *p=pResData->p16BitUnits+offset;
--        if(indexR<*p) {
--            return makeResourceFrom16(pResData, p[1+indexR]);
--        }
--        break;
--    }
--    default:
--        break;
--    }
--    return RES_BOGUS;
--}
--
--U_CFUNC Resource
--res_findResource(const ResourceData *pResData, Resource r, char** path, const char** key) {
--  /* we pass in a path. CollationElements/Sequence or zoneStrings/3/2 etc. 
--   * iterates over a path and stops when a scalar resource is found. This  
--   * CAN be an alias. Path gets set to the part that has not yet been processed. 
--   */
--
--  char *pathP = *path, *nextSepP = *path;
--  char *closeIndex = NULL;
--  Resource t1 = r;
--  Resource t2;
--  int32_t indexR = 0;
--  UResType type = (UResType)RES_GET_TYPE(t1);
--
--  /* if you come in with an empty path, you'll be getting back the same resource */
--  if(!uprv_strlen(pathP)) {
--      return r;
--  }
--
--  /* one needs to have an aggregate resource in order to search in it */
--  if(!URES_IS_CONTAINER(type)) {
--      return RES_BOGUS;
--  }
--  
--  while(nextSepP && *pathP && t1 != RES_BOGUS && URES_IS_CONTAINER(type)) {
--    /* Iteration stops if: the path has been consumed, we found a non-existing
--     * resource (t1 == RES_BOGUS) or we found a scalar resource (including alias)
--     */
--    nextSepP = uprv_strchr(pathP, RES_PATH_SEPARATOR);
--    /* if there are more separators, terminate string 
--     * and set path to the remaining part of the string
--     */
--    if(nextSepP != NULL) {
--      *nextSepP = 0; /* overwrite the separator with a NUL to terminate the key */
--      *path = nextSepP+1;
--    } else {
--      *path = uprv_strchr(pathP, 0);
--    }
--
--    /* if the resource is a table */
--    /* try the key based access */
--    if(URES_IS_TABLE(type)) {
--      *key = pathP;
--      t2 = res_getTableItemByKey(pResData, t1, &indexR, key);
--      if(t2 == RES_BOGUS) { 
--        /* if we fail to get the resource by key, maybe we got an index */
--        indexR = uprv_strtol(pathP, &closeIndex, 10);
--        if(closeIndex != pathP) {
--          /* if we indeed have an index, try to get the item by index */
--          t2 = res_getTableItemByIndex(pResData, t1, indexR, key);
--        }
--      }
--    } else if(URES_IS_ARRAY(type)) {
--      indexR = uprv_strtol(pathP, &closeIndex, 10);
--      if(closeIndex != pathP) {
--        t2 = res_getArrayItem(pResData, t1, indexR);
--      } else {
--        t2 = RES_BOGUS; /* have an array, but don't have a valid index */
--      }
--      *key = NULL;
--    } else { /* can't do much here, except setting t2 to bogus */
--      t2 = RES_BOGUS;
--    }
--    t1 = t2;
--    type = (UResType)RES_GET_TYPE(t1);
--    /* position pathP to next resource key/index */
--    pathP = *path;
--  }
--
--  return t1;
--}
--
--/* resource bundle swapping ------------------------------------------------- */
--
--/*
-- * Need to always enumerate the entire item tree,
-- * track the lowest address of any item to use as the limit for char keys[],
-- * track the highest address of any item to return the size of the data.
-- *
-- * We should have thought of storing those in the data...
-- * It is possible to extend the data structure by putting additional values
-- * in places that are inaccessible by ordinary enumeration of the item tree.
-- * For example, additional integers could be stored at the beginning or
-- * end of the key strings; this could be indicated by a minor version number,
-- * and the data swapping would have to know about these values.
-- *
-- * The data structure does not forbid keys to be shared, so we must swap
-- * all keys once instead of each key when it is referenced.
-- *
-- * These swapping functions assume that a resource bundle always has a length
-- * that is a multiple of 4 bytes.
-- * Currently, this is trivially true because genrb writes bundle tree leaves
-- * physically first, before their branches, so that the root table with its
-- * array of resource items (uint32_t values) is always last.
-- */
--
--/* definitions for table sorting ------------------------ */
--
--/*
-- * row of a temporary array
-- *
-- * gets platform-endian key string indexes and sorting indexes;
-- * after sorting this array by keys, the actual key/value arrays are permutated
-- * according to the sorting indexes
-- */
--typedef struct Row {
--    int32_t keyIndex, sortIndex;
--} Row;
--
--static int32_t
--ures_compareRows(const void *context, const void *left, const void *right) {
--    const char *keyChars=(const char *)context;
--    return (int32_t)uprv_strcmp(keyChars+((const Row *)left)->keyIndex,
--                                keyChars+((const Row *)right)->keyIndex);
--}
--
--typedef struct TempTable {
--    const char *keyChars;
--    Row *rows;
--    int32_t *resort;
--    uint32_t *resFlags;
--    int32_t localKeyLimit;
--    uint8_t majorFormatVersion;
--} TempTable;
--
--enum {
--    STACK_ROW_CAPACITY=200
--};
--
--/* The table item key string is not locally available. */
--static const char *const gUnknownKey="";
--
--/* resource table key for collation binaries: "%%CollationBin" */
--static const UChar gCollationBinKey[]={
--    0x25, 0x25,
--    0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
--    0x42, 0x69, 0x6e,
--    0
--};
--
--/*
-- * swap one resource item
-- */
--static void
--ures_swapResource(const UDataSwapper *ds,
--                  const Resource *inBundle, Resource *outBundle,
--                  Resource res, /* caller swaps res itself */
--                  const char *key,
--                  TempTable *pTempTable,
--                  UErrorCode *pErrorCode) {
--    const Resource *p;
--    Resource *q;
--    int32_t offset, count;
--
--    switch(RES_GET_TYPE(res)) {
--    case URES_TABLE16:
--    case URES_STRING_V2:
--    case URES_INT:
--    case URES_ARRAY16:
--        /* integer, or points to 16-bit units, nothing to do here */
--        return;
--    default:
--        break;
--    }
--
--    /* all other types use an offset to point to their data */
--    offset=(int32_t)RES_GET_OFFSET(res);
--    if(offset==0) {
--        /* special offset indicating an empty item */
--        return;
--    }
--    if(pTempTable->resFlags[offset>>5]&((uint32_t)1<<(offset&0x1f))) {
--        /* we already swapped this resource item */
--        return;
--    } else {
--        /* mark it as swapped now */
--        pTempTable->resFlags[offset>>5]|=((uint32_t)1<<(offset&0x1f));
--    }
--
--    p=inBundle+offset;
--    q=outBundle+offset;
--
--    switch(RES_GET_TYPE(res)) {
--    case URES_ALIAS:
--        /* physically same value layout as string, fall through */
--    case URES_STRING:
--        count=udata_readInt32(ds, (int32_t)*p);
--        /* swap length */
--        ds->swapArray32(ds, p, 4, q, pErrorCode);
--        /* swap each UChar (the terminating NUL would not change) */
--        ds->swapArray16(ds, p+1, 2*count, q+1, pErrorCode);
--        break;
--    case URES_BINARY:
--        count=udata_readInt32(ds, (int32_t)*p);
--        /* swap length */
--        ds->swapArray32(ds, p, 4, q, pErrorCode);
--        /* no need to swap or copy bytes - ures_swap() copied them all */
--
--        /* swap known formats */
--#if !UCONFIG_NO_COLLATION
--        if( key!=NULL &&  /* the binary is in a table */
--            (key!=gUnknownKey ?
--                /* its table key string is "%%CollationBin" */
--                0==ds->compareInvChars(ds, key, -1,
--                                       gCollationBinKey, UPRV_LENGTHOF(gCollationBinKey)-1) :
--                /* its table key string is unknown but it looks like a collation binary */
--                ucol_looksLikeCollationBinary(ds, p+1, count))
--        ) {
--            ucol_swap(ds, p+1, count, q+1, pErrorCode);
--        }
--#endif
--        break;
--    case URES_TABLE:
--    case URES_TABLE32:
--        {
--            const uint16_t *pKey16;
--            uint16_t *qKey16;
--
--            const int32_t *pKey32;
--            int32_t *qKey32;
--
--            Resource item;
--            int32_t i, oldIndex;
--
--            if(RES_GET_TYPE(res)==URES_TABLE) {
--                /* get table item count */
--                pKey16=(const uint16_t *)p;
--                qKey16=(uint16_t *)q;
--                count=ds->readUInt16(*pKey16);
--
--                pKey32=qKey32=NULL;
--
--                /* swap count */
--                ds->swapArray16(ds, pKey16++, 2, qKey16++, pErrorCode);
--
--                offset+=((1+count)+1)/2;
--            } else {
--                /* get table item count */
--                pKey32=(const int32_t *)p;
--                qKey32=(int32_t *)q;
--                count=udata_readInt32(ds, *pKey32);
--
--                pKey16=qKey16=NULL;
--
--                /* swap count */
--                ds->swapArray32(ds, pKey32++, 4, qKey32++, pErrorCode);
--
--                offset+=1+count;
--            }
--
--            if(count==0) {
--                break;
--            }
--
--            p=inBundle+offset; /* pointer to table resources */
--            q=outBundle+offset;
--
--            /* recurse */
--            for(i=0; i<count; ++i) {
--                const char *itemKey=gUnknownKey;
--                if(pKey16!=NULL) {
--                    int32_t keyOffset=ds->readUInt16(pKey16[i]);
--                    if(keyOffset<pTempTable->localKeyLimit) {
--                        itemKey=(const char *)outBundle+keyOffset;
--                    }
--                } else {
--                    int32_t keyOffset=udata_readInt32(ds, pKey32[i]);
--                    if(keyOffset>=0) {
--                        itemKey=(const char *)outBundle+keyOffset;
--                    }
--                }
--                item=ds->readUInt32(p[i]);
--                ures_swapResource(ds, inBundle, outBundle, item, itemKey, pTempTable, pErrorCode);
--                if(U_FAILURE(*pErrorCode)) {
--                    udata_printError(ds, "ures_swapResource(table res=%08x)[%d].recurse(%08x) failed\n",
--                                     res, i, item);
--                    return;
--                }
--            }
--
--            if(pTempTable->majorFormatVersion>1 || ds->inCharset==ds->outCharset) {
--                /* no need to sort, just swap the offset/value arrays */
--                if(pKey16!=NULL) {
--                    ds->swapArray16(ds, pKey16, count*2, qKey16, pErrorCode);
--                    ds->swapArray32(ds, p, count*4, q, pErrorCode);
--                } else {
--                    /* swap key offsets and items as one array */
--                    ds->swapArray32(ds, pKey32, count*2*4, qKey32, pErrorCode);
--                }
--                break;
--            }
--
--            /*
--             * We need to sort tables by outCharset key strings because they
--             * sort differently for different charset families.
--             * ures_swap() already set pTempTable->keyChars appropriately.
--             * First we set up a temporary table with the key indexes and
--             * sorting indexes and sort that.
--             * Then we permutate and copy/swap the actual values.
--             */
--            if(pKey16!=NULL) {
--                for(i=0; i<count; ++i) {
--                    pTempTable->rows[i].keyIndex=ds->readUInt16(pKey16[i]);
--                    pTempTable->rows[i].sortIndex=i;
--                }
--            } else {
--                for(i=0; i<count; ++i) {
--                    pTempTable->rows[i].keyIndex=udata_readInt32(ds, pKey32[i]);
--                    pTempTable->rows[i].sortIndex=i;
--                }
--            }
--            uprv_sortArray(pTempTable->rows, count, sizeof(Row),
--                           ures_compareRows, pTempTable->keyChars,
--                           FALSE, pErrorCode);
--            if(U_FAILURE(*pErrorCode)) {
--                udata_printError(ds, "ures_swapResource(table res=%08x).uprv_sortArray(%d items) failed\n",
--                                 res, count);
--                return;
--            }
--
--            /*
--             * copy/swap/permutate items
--             *
--             * If we swap in-place, then the permutation must use another
--             * temporary array (pTempTable->resort)
--             * before the results are copied to the outBundle.
--             */
--            /* keys */
--            if(pKey16!=NULL) {
--                uint16_t *rKey16;
--
--                if(pKey16!=qKey16) {
--                    rKey16=qKey16;
--                } else {
--                    rKey16=(uint16_t *)pTempTable->resort;
--                }
--                for(i=0; i<count; ++i) {
--                    oldIndex=pTempTable->rows[i].sortIndex;
--                    ds->swapArray16(ds, pKey16+oldIndex, 2, rKey16+i, pErrorCode);
--                }
--                if(qKey16!=rKey16) {
--                    uprv_memcpy(qKey16, rKey16, 2*count);
--                }
--            } else {
--                int32_t *rKey32;
--
--                if(pKey32!=qKey32) {
--                    rKey32=qKey32;
--                } else {
--                    rKey32=pTempTable->resort;
--                }
--                for(i=0; i<count; ++i) {
--                    oldIndex=pTempTable->rows[i].sortIndex;
--                    ds->swapArray32(ds, pKey32+oldIndex, 4, rKey32+i, pErrorCode);
--                }
--                if(qKey32!=rKey32) {
--                    uprv_memcpy(qKey32, rKey32, 4*count);
--                }
--            }
--
--            /* resources */
--            {
--                Resource *r;
--
--
--                if(p!=q) {
--                    r=q;
--                } else {
--                    r=(Resource *)pTempTable->resort;
--                }
--                for(i=0; i<count; ++i) {
--                    oldIndex=pTempTable->rows[i].sortIndex;
--                    ds->swapArray32(ds, p+oldIndex, 4, r+i, pErrorCode);
--                }
--                if(q!=r) {
--                    uprv_memcpy(q, r, 4*count);
--                }
--            }
--        }
--        break;
--    case URES_ARRAY:
--        {
--            Resource item;
--            int32_t i;
--
--            count=udata_readInt32(ds, (int32_t)*p);
--            /* swap length */
--            ds->swapArray32(ds, p++, 4, q++, pErrorCode);
--
--            /* recurse */
--            for(i=0; i<count; ++i) {
--                item=ds->readUInt32(p[i]);
--                ures_swapResource(ds, inBundle, outBundle, item, NULL, pTempTable, pErrorCode);
--                if(U_FAILURE(*pErrorCode)) {
--                    udata_printError(ds, "ures_swapResource(array res=%08x)[%d].recurse(%08x) failed\n",
--                                     res, i, item);
--                    return;
--                }
--            }
--
--            /* swap items */
--            ds->swapArray32(ds, p, 4*count, q, pErrorCode);
--        }
--        break;
--    case URES_INT_VECTOR:
--        count=udata_readInt32(ds, (int32_t)*p);
--        /* swap length and each integer */
--        ds->swapArray32(ds, p, 4*(1+count), q, pErrorCode);
--        break;
--    default:
--        /* also catches RES_BOGUS */
--        *pErrorCode=U_UNSUPPORTED_ERROR;
--        break;
--    }
--}
--
--U_CAPI int32_t U_EXPORT2
--ures_swap(const UDataSwapper *ds,
--          const void *inData, int32_t length, void *outData,
--          UErrorCode *pErrorCode) {
--    const UDataInfo *pInfo;
--    const Resource *inBundle;
--    Resource rootRes;
--    int32_t headerSize, maxTableLength;
--
--    Row rows[STACK_ROW_CAPACITY];
--    int32_t resort[STACK_ROW_CAPACITY];
--    TempTable tempTable;
--
--    const int32_t *inIndexes;
--
--    /* the following integers count Resource item offsets (4 bytes each), not bytes */
--    int32_t bundleLength, indexLength, keysBottom, keysTop, resBottom, top;
--
--    /* udata_swapDataHeader checks the arguments */
--    headerSize=udata_swapDataHeader(ds, inData, length, outData, pErrorCode);
--    if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) {
--        return 0;
--    }
--
--    /* check data format and format version */
--    pInfo=(const UDataInfo *)((const char *)inData+4);
--    if(!(
--        pInfo->dataFormat[0]==0x52 &&   /* dataFormat="ResB" */
--        pInfo->dataFormat[1]==0x65 &&
--        pInfo->dataFormat[2]==0x73 &&
--        pInfo->dataFormat[3]==0x42 &&
--        /* formatVersion 1.1+ or 2.x or 3.x */
--        ((pInfo->formatVersion[0]==1 && pInfo->formatVersion[1]>=1) ||
--            pInfo->formatVersion[0]==2 || pInfo->formatVersion[0]==3)
--    )) {
--        udata_printError(ds, "ures_swap(): data format %02x.%02x.%02x.%02x (format version %02x.%02x) is not a resource bundle\n",
--                         pInfo->dataFormat[0], pInfo->dataFormat[1],
--                         pInfo->dataFormat[2], pInfo->dataFormat[3],
--                         pInfo->formatVersion[0], pInfo->formatVersion[1]);
--        *pErrorCode=U_UNSUPPORTED_ERROR;
--        return 0;
--    }
--    tempTable.majorFormatVersion=pInfo->formatVersion[0];
--
--    /* a resource bundle must contain at least one resource item */
--    if(length<0) {
--        bundleLength=-1;
--    } else {
--        bundleLength=(length-headerSize)/4;
--
--        /* formatVersion 1.1 must have a root item and at least 5 indexes */
--        if(bundleLength<(1+5)) {
--            udata_printError(ds, "ures_swap(): too few bytes (%d after header) for a resource bundle\n",
--                             length-headerSize);
--            *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
--            return 0;
--        }
--    }
--
--    inBundle=(const Resource *)((const char *)inData+headerSize);
--    rootRes=ds->readUInt32(*inBundle);
--
--    /* formatVersion 1.1 adds the indexes[] array */
--    inIndexes=(const int32_t *)(inBundle+1);
--
--    indexLength=udata_readInt32(ds, inIndexes[URES_INDEX_LENGTH])&0xff;
--    if(indexLength<=URES_INDEX_MAX_TABLE_LENGTH) {
--        udata_printError(ds, "ures_swap(): too few indexes for a 1.1+ resource bundle\n");
--        *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
--        return 0;
--    }
--    keysBottom=1+indexLength;
--    keysTop=udata_readInt32(ds, inIndexes[URES_INDEX_KEYS_TOP]);
--    if(indexLength>URES_INDEX_16BIT_TOP) {
--        resBottom=udata_readInt32(ds, inIndexes[URES_INDEX_16BIT_TOP]);
--    } else {
--        resBottom=keysTop;
--    }
--    top=udata_readInt32(ds, inIndexes[URES_INDEX_BUNDLE_TOP]);
--    maxTableLength=udata_readInt32(ds, inIndexes[URES_INDEX_MAX_TABLE_LENGTH]);
--
--    if(0<=bundleLength && bundleLength<top) {
--        udata_printError(ds, "ures_swap(): resource top %d exceeds bundle length %d\n",
--                         top, bundleLength);
--        *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
--        return 0;
--    }
--    if(keysTop>(1+indexLength)) {
--        tempTable.localKeyLimit=keysTop<<2;
--    } else {
--        tempTable.localKeyLimit=0;
--    }
--
--    if(length>=0) {
--        Resource *outBundle=(Resource *)((char *)outData+headerSize);
--
--        /* track which resources we have already swapped */
--        uint32_t stackResFlags[STACK_ROW_CAPACITY];
--        int32_t resFlagsLength;
--
--        /*
--         * We need one bit per 4 resource bundle bytes so that we can track
--         * every possible Resource for whether we have swapped it already.
--         * Multiple Resource words can refer to the same bundle offsets
--         * for sharing identical values.
--         * We could optimize this by allocating only for locations above
--         * where Resource values are stored (above keys & strings).
--         */
--        resFlagsLength=(length+31)>>5;          /* number of bytes needed */
--        resFlagsLength=(resFlagsLength+3)&~3;   /* multiple of 4 bytes for uint32_t */
--        if(resFlagsLength<=sizeof(stackResFlags)) {
--            tempTable.resFlags=stackResFlags;
--        } else {
--            tempTable.resFlags=(uint32_t *)uprv_malloc(resFlagsLength);
--            if(tempTable.resFlags==NULL) {
--                udata_printError(ds, "ures_swap(): unable to allocate memory for tracking resources\n");
--                *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
--                return 0;
--            }
--        }
--        uprv_memset(tempTable.resFlags, 0, resFlagsLength);
--
--        /* copy the bundle for binary and inaccessible data */
--        if(inData!=outData) {
--            uprv_memcpy(outBundle, inBundle, 4*top);
--        }
--
--        /* swap the key strings, but not the padding bytes (0xaa) after the last string and its NUL */
--        udata_swapInvStringBlock(ds, inBundle+keysBottom, 4*(keysTop-keysBottom),
--                                    outBundle+keysBottom, pErrorCode);
--        if(U_FAILURE(*pErrorCode)) {
--            udata_printError(ds, "ures_swap().udata_swapInvStringBlock(keys[%d]) failed\n", 4*(keysTop-keysBottom));
--            return 0;
--        }
--
--        /* swap the 16-bit units (strings, table16, array16) */
--        if(keysTop<resBottom) {
--            ds->swapArray16(ds, inBundle+keysTop, (resBottom-keysTop)*4, outBundle+keysTop, pErrorCode);
--            if(U_FAILURE(*pErrorCode)) {
--                udata_printError(ds, "ures_swap().swapArray16(16-bit units[%d]) failed\n", 2*(resBottom-keysTop));
--                return 0;
--            }
--        }
--
--        /* allocate the temporary table for sorting resource tables */
--        tempTable.keyChars=(const char *)outBundle; /* sort by outCharset */
--        if(tempTable.majorFormatVersion>1 || maxTableLength<=STACK_ROW_CAPACITY) {
--            tempTable.rows=rows;
--            tempTable.resort=resort;
--        } else {
--            tempTable.rows=(Row *)uprv_malloc(maxTableLength*sizeof(Row)+maxTableLength*4);
--            if(tempTable.rows==NULL) {
--                udata_printError(ds, "ures_swap(): unable to allocate memory for sorting tables (max length: %d)\n",
--                                 maxTableLength);
--                *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
--                if(tempTable.resFlags!=stackResFlags) {
--                    uprv_free(tempTable.resFlags);
--                }
--                return 0;
--            }
--            tempTable.resort=(int32_t *)(tempTable.rows+maxTableLength);
--        }
--
--        /* swap the resources */
--        ures_swapResource(ds, inBundle, outBundle, rootRes, NULL, &tempTable, pErrorCode);
--        if(U_FAILURE(*pErrorCode)) {
--            udata_printError(ds, "ures_swapResource(root res=%08x) failed\n",
--                             rootRes);
--        }
--
--        if(tempTable.rows!=rows) {
--            uprv_free(tempTable.rows);
--        }
--        if(tempTable.resFlags!=stackResFlags) {
--            uprv_free(tempTable.resFlags);
--        }
--
--        /* swap the root resource and indexes */
--        ds->swapArray32(ds, inBundle, keysBottom*4, outBundle, pErrorCode);
--    }
--
--    return headerSize+4*top;
--}
-diff --git a/source/common/uresdata.cpp b/source/common/uresdata.cpp
-new file mode 100644
-index 0000000..fbfb56d
---- /dev/null
-+++ b/source/common/uresdata.cpp
-@@ -0,0 +1,1466 @@
-+/*
-+*******************************************************************************
-+* Copyright (C) 1999-2015, International Business Machines Corporation
-+*               and others. All Rights Reserved.
-+*******************************************************************************
-+*   file name:  uresdata.cpp
-+*   encoding:   US-ASCII
-+*   tab size:   8 (not used)
-+*   indentation:4
-+*
-+*   created on: 1999dec08
-+*   created by: Markus W. Scherer
-+* Modification History:
-+*
-+*   Date        Name        Description
-+*   06/20/2000  helena      OS/400 port changes; mostly typecast.
-+*   06/24/02    weiv        Added support for resource sharing
-+*/
-+
-+#include "unicode/utypes.h"
-+#include "unicode/udata.h"
-+#include "unicode/ustring.h"
-+#include "unicode/utf16.h"
-+#include "cmemory.h"
-+#include "cstring.h"
-+#include "resource.h"
-+#include "uarrsort.h"
-+#include "uassert.h"
-+#include "ucol_swp.h"
-+#include "udataswp.h"
-+#include "uinvchar.h"
-+#include "uresdata.h"
-+#include "uresimp.h"
-+
-+/*
-+ * Resource access helpers
-+ */
-+
-+/* get a const char* pointer to the key with the keyOffset byte offset from pRoot */
-+#define RES_GET_KEY16(pResData, keyOffset) \
-+    ((keyOffset)<(pResData)->localKeyLimit ? \
-+        (const char *)(pResData)->pRoot+(keyOffset) : \
-+        (pResData)->poolBundleKeys+(keyOffset)-(pResData)->localKeyLimit)
-+
-+#define RES_GET_KEY32(pResData, keyOffset) \
-+    ((keyOffset)>=0 ? \
-+        (const char *)(pResData)->pRoot+(keyOffset) : \
-+        (pResData)->poolBundleKeys+((keyOffset)&0x7fffffff))
-+
-+#define URESDATA_ITEM_NOT_FOUND -1
-+
-+/* empty resources, returned when the resource offset is 0 */
-+static const uint16_t gEmpty16=0;
-+
-+static const struct {
-+    int32_t length;
-+    int32_t res;
-+} gEmpty32={ 0, 0 };
-+
-+static const struct {
-+    int32_t length;
-+    UChar nul;
-+    UChar pad;
-+} gEmptyString={ 0, 0, 0 };
-+
-+/*
-+ * All the type-access functions assume that
-+ * the resource is of the expected type.
-+ */
-+
-+static int32_t
-+_res_findTableItem(const ResourceData *pResData, const uint16_t *keyOffsets, int32_t length,
-+                   const char *key, const char **realKey) {
-+    const char *tableKey;
-+    int32_t mid, start, limit;
-+    int result;
-+
-+    /* do a binary search for the key */
-+    start=0;
-+    limit=length;
-+    while(start<limit) {
-+        mid = (start + limit) / 2;
-+        tableKey = RES_GET_KEY16(pResData, keyOffsets[mid]);
-+        if (pResData->useNativeStrcmp) {
-+            result = uprv_strcmp(key, tableKey);
-+        } else {
-+            result = uprv_compareInvCharsAsAscii(key, tableKey);
-+        }
-+        if (result < 0) {
-+            limit = mid;
-+        } else if (result > 0) {
-+            start = mid + 1;
-+        } else {
-+            /* We found it! */
-+            *realKey=tableKey;
-+            return mid;
-+        }
-+    }
-+    return URESDATA_ITEM_NOT_FOUND;  /* not found or table is empty. */
-+}
-+
-+static int32_t
-+_res_findTable32Item(const ResourceData *pResData, const int32_t *keyOffsets, int32_t length,
-+                     const char *key, const char **realKey) {
-+    const char *tableKey;
-+    int32_t mid, start, limit;
-+    int result;
-+
-+    /* do a binary search for the key */
-+    start=0;
-+    limit=length;
-+    while(start<limit) {
-+        mid = (start + limit) / 2;
-+        tableKey = RES_GET_KEY32(pResData, keyOffsets[mid]);
-+        if (pResData->useNativeStrcmp) {
-+            result = uprv_strcmp(key, tableKey);
-+        } else {
-+            result = uprv_compareInvCharsAsAscii(key, tableKey);
-+        }
-+        if (result < 0) {
-+            limit = mid;
-+        } else if (result > 0) {
-+            start = mid + 1;
-+        } else {
-+            /* We found it! */
-+            *realKey=tableKey;
-+            return mid;
-+        }
-+    }
-+    return URESDATA_ITEM_NOT_FOUND;  /* not found or table is empty. */
-+}
-+
-+/* helper for res_load() ---------------------------------------------------- */
-+
-+static UBool U_CALLCONV
-+isAcceptable(void *context,
-+             const char * /*type*/, const char * /*name*/,
-+             const UDataInfo *pInfo) {
-+    uprv_memcpy(context, pInfo->formatVersion, 4);
-+    return (UBool)(
-+        pInfo->size>=20 &&
-+        pInfo->isBigEndian==U_IS_BIG_ENDIAN &&
-+        pInfo->charsetFamily==U_CHARSET_FAMILY &&
-+        pInfo->sizeofUChar==U_SIZEOF_UCHAR &&
-+        pInfo->dataFormat[0]==0x52 &&   /* dataFormat="ResB" */
-+        pInfo->dataFormat[1]==0x65 &&
-+        pInfo->dataFormat[2]==0x73 &&
-+        pInfo->dataFormat[3]==0x42 &&
-+        (1<=pInfo->formatVersion[0] && pInfo->formatVersion[0]<=3));
-+}
-+
-+/* semi-public functions ---------------------------------------------------- */
-+
-+static void
-+res_init(ResourceData *pResData,
-+         UVersionInfo formatVersion, const void *inBytes, int32_t length,
-+         UErrorCode *errorCode) {
-+    UResType rootType;
-+
-+    /* get the root resource */
-+    pResData->pRoot=(const int32_t *)inBytes;
-+    pResData->rootRes=(Resource)*pResData->pRoot;
-+    pResData->p16BitUnits=&gEmpty16;
-+
-+    /* formatVersion 1.1 must have a root item and at least 5 indexes */
-+    if(length>=0 && (length/4)<((formatVersion[0]==1 && formatVersion[1]==0) ? 1 : 1+5)) {
-+        *errorCode=U_INVALID_FORMAT_ERROR;
-+        res_unload(pResData);
-+        return;
-+    }
-+
-+    /* currently, we accept only resources that have a Table as their roots */
-+    rootType=(UResType)RES_GET_TYPE(pResData->rootRes);
-+    if(!URES_IS_TABLE(rootType)) {
-+        *errorCode=U_INVALID_FORMAT_ERROR;
-+        res_unload(pResData);
-+        return;
-+    }
-+
-+    if(formatVersion[0]==1 && formatVersion[1]==0) {
-+        pResData->localKeyLimit=0x10000;  /* greater than any 16-bit key string offset */
-+    } else {
-+        /* bundles with formatVersion 1.1 and later contain an indexes[] array */
-+        const int32_t *indexes=pResData->pRoot+1;
-+        int32_t indexLength=indexes[URES_INDEX_LENGTH]&0xff;
-+        if(indexLength<=URES_INDEX_MAX_TABLE_LENGTH) {
-+            *errorCode=U_INVALID_FORMAT_ERROR;
-+            res_unload(pResData);
-+            return;
-+        }
-+        if( length>=0 &&
-+            (length<((1+indexLength)<<2) ||
-+             length<(indexes[URES_INDEX_BUNDLE_TOP]<<2))
-+        ) {
-+            *errorCode=U_INVALID_FORMAT_ERROR;
-+            res_unload(pResData);
-+            return;
-+        }
-+        if(indexes[URES_INDEX_KEYS_TOP]>(1+indexLength)) {
-+            pResData->localKeyLimit=indexes[URES_INDEX_KEYS_TOP]<<2;
-+        }
-+        if(formatVersion[0]>=3) {
-+            // In formatVersion 1, the indexLength took up this whole int.
-+            // In version 2, bits 31..8 were reserved and always 0.
-+            // In version 3, they contain bits 23..0 of the poolStringIndexLimit.
-+            // Bits 27..24 are in indexes[URES_INDEX_ATTRIBUTES] bits 15..12.
-+            pResData->poolStringIndexLimit=(int32_t)((uint32_t)indexes[URES_INDEX_LENGTH]>>8);
-+        }
-+        if(indexLength>URES_INDEX_ATTRIBUTES) {
-+            int32_t att=indexes[URES_INDEX_ATTRIBUTES];
-+            pResData->noFallback=(UBool)(att&URES_ATT_NO_FALLBACK);
-+            pResData->isPoolBundle=(UBool)((att&URES_ATT_IS_POOL_BUNDLE)!=0);
-+            pResData->usesPoolBundle=(UBool)((att&URES_ATT_USES_POOL_BUNDLE)!=0);
-+            pResData->poolStringIndexLimit|=(att&0xf000)<<12;  // bits 15..12 -> 27..24
-+            pResData->poolStringIndex16Limit=(int32_t)((uint32_t)att>>16);
-+        }
-+        if((pResData->isPoolBundle || pResData->usesPoolBundle) && indexLength<=URES_INDEX_POOL_CHECKSUM) {
-+            *errorCode=U_INVALID_FORMAT_ERROR;
-+            res_unload(pResData);
-+            return;
-+        }
-+        if( indexLength>URES_INDEX_16BIT_TOP &&
-+            indexes[URES_INDEX_16BIT_TOP]>indexes[URES_INDEX_KEYS_TOP]
-+        ) {
-+            pResData->p16BitUnits=(const uint16_t *)(pResData->pRoot+indexes[URES_INDEX_KEYS_TOP]);
-+        }
-+    }
-+
-+    if(formatVersion[0]==1 || U_CHARSET_FAMILY==U_ASCII_FAMILY) {
-+        /*
-+         * formatVersion 1: compare key strings in native-charset order
-+         * formatVersion 2 and up: compare key strings in ASCII order
-+         */
-+        pResData->useNativeStrcmp=TRUE;
-+    }
-+}
-+
-+U_CAPI void U_EXPORT2
-+res_read(ResourceData *pResData,
-+         const UDataInfo *pInfo, const void *inBytes, int32_t length,
-+         UErrorCode *errorCode) {
-+    UVersionInfo formatVersion;
-+
-+    uprv_memset(pResData, 0, sizeof(ResourceData));
-+    if(U_FAILURE(*errorCode)) {
-+        return;
-+    }
-+    if(!isAcceptable(formatVersion, NULL, NULL, pInfo)) {
-+        *errorCode=U_INVALID_FORMAT_ERROR;
-+        return;
-+    }
-+    res_init(pResData, formatVersion, inBytes, length, errorCode);
-+}
-+
-+U_CFUNC void
-+res_load(ResourceData *pResData,
-+         const char *path, const char *name, UErrorCode *errorCode) {
-+    UVersionInfo formatVersion;
-+
-+    uprv_memset(pResData, 0, sizeof(ResourceData));
-+
-+    /* load the ResourceBundle file */
-+    pResData->data=udata_openChoice(path, "res", name, isAcceptable, formatVersion, errorCode);
-+    if(U_FAILURE(*errorCode)) {
-+        return;
-+    }
-+
-+    /* get its memory and initialize *pResData */
-+    res_init(pResData, formatVersion, udata_getMemory(pResData->data), -1, errorCode);
-+}
-+
-+U_CFUNC void
-+res_unload(ResourceData *pResData) {
-+    if(pResData->data!=NULL) {
-+        udata_close(pResData->data);
-+        pResData->data=NULL;
-+    }
-+}
-+
-+static const int8_t gPublicTypes[URES_LIMIT] = {
-+    URES_STRING,
-+    URES_BINARY,
-+    URES_TABLE,
-+    URES_ALIAS,
-+
-+    URES_TABLE,     /* URES_TABLE32 */
-+    URES_TABLE,     /* URES_TABLE16 */
-+    URES_STRING,    /* URES_STRING_V2 */
-+    URES_INT,
-+
-+    URES_ARRAY,
-+    URES_ARRAY,     /* URES_ARRAY16 */
-+    URES_NONE,
-+    URES_NONE,
-+
-+    URES_NONE,
-+    URES_NONE,
-+    URES_INT_VECTOR,
-+    URES_NONE
-+};
-+
-+U_CAPI UResType U_EXPORT2
-+res_getPublicType(Resource res) {
-+    return (UResType)gPublicTypes[RES_GET_TYPE(res)];
-+}
-+
-+U_CAPI const UChar * U_EXPORT2
-+res_getString(const ResourceData *pResData, Resource res, int32_t *pLength) {
-+    const UChar *p;
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    int32_t length;
-+    if(RES_GET_TYPE(res)==URES_STRING_V2) {
-+        int32_t first;
-+        if((int32_t)offset<pResData->poolStringIndexLimit) {
-+            p=(const UChar *)pResData->poolBundleStrings+offset;
-+        } else {
-+            p=(const UChar *)pResData->p16BitUnits+(offset-pResData->poolStringIndexLimit);
-+        }
-+        first=*p;
-+        if(!U16_IS_TRAIL(first)) {
-+            length=u_strlen(p);
-+        } else if(first<0xdfef) {
-+            length=first&0x3ff;
-+            ++p;
-+        } else if(first<0xdfff) {
-+            length=((first-0xdfef)<<16)|p[1];
-+            p+=2;
-+        } else {
-+            length=((int32_t)p[1]<<16)|p[2];
-+            p+=3;
-+        }
-+    } else if(res==offset) /* RES_GET_TYPE(res)==URES_STRING */ {
-+        const int32_t *p32= res==0 ? &gEmptyString.length : pResData->pRoot+res;
-+        length=*p32++;
-+        p=(const UChar *)p32;
-+    } else {
-+        p=NULL;
-+        length=0;
-+    }
-+    if(pLength) {
-+        *pLength=length;
-+    }
-+    return p;
-+}
-+
-+namespace {
-+
-+/**
-+ * CLDR string value (three empty-set symbols)=={2205, 2205, 2205}
-+ * prevents fallback to the parent bundle.
-+ * TODO: combine with other code that handles this marker, use EMPTY_SET constant.
-+ * TODO: maybe move to uresbund.cpp?
-+ */
-+UBool isNoInheritanceMarker(const ResourceData *pResData, Resource res) {
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    if (offset == 0) {
-+        // empty string
-+    } else if (res == offset) {
-+        const int32_t *p32=pResData->pRoot+res;
-+        int32_t length=*p32;
-+        const UChar *p=(const UChar *)p32;
-+        return length == 3 && p[2] == 0x2205 && p[3] == 0x2205 && p[4] == 0x2205;
-+    } else if (RES_GET_TYPE(res) == URES_STRING_V2) {
-+        const UChar *p;
-+        if((int32_t)offset<pResData->poolStringIndexLimit) {
-+            p=(const UChar *)pResData->poolBundleStrings+offset;
-+        } else {
-+            p=(const UChar *)pResData->p16BitUnits+(offset-pResData->poolStringIndexLimit);
-+        }
-+        int32_t first=*p;
-+        if (first == 0x2205) {  // implicit length
-+            return p[1] == 0x2205 && p[2] == 0x2205 && p[3] == 0;
-+        } else if (first == 0xdc03) {  // explicit length 3 (should not occur)
-+            return p[1] == 0x2205 && p[2] == 0x2205 && p[3] == 0x2205;
-+        } else {
-+            // Assume that the string has not been stored with more length units than necessary.
-+            return FALSE;
-+        }
-+    }
-+    return FALSE;
-+}
-+
-+}  // namespace
-+
-+U_CAPI const UChar * U_EXPORT2
-+res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength) {
-+    const UChar *p;
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    int32_t length;
-+    if(RES_GET_TYPE(res)==URES_ALIAS) {
-+        const int32_t *p32= offset==0 ? &gEmptyString.length : pResData->pRoot+offset;
-+        length=*p32++;
-+        p=(const UChar *)p32;
-+    } else {
-+        p=NULL;
-+        length=0;
-+    }
-+    if(pLength) {
-+        *pLength=length;
-+    }
-+    return p;
-+}
-+
-+U_CAPI const uint8_t * U_EXPORT2
-+res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) {
-+    const uint8_t *p;
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    int32_t length;
-+    if(RES_GET_TYPE(res)==URES_BINARY) {
-+        const int32_t *p32= offset==0 ? (const int32_t*)&gEmpty32 : pResData->pRoot+offset;
-+        length=*p32++;
-+        p=(const uint8_t *)p32;
-+    } else {
-+        p=NULL;
-+        length=0;
-+    }
-+    if(pLength) {
-+        *pLength=length;
-+    }
-+    return p;
-+}
-+
-+
-+U_CAPI const int32_t * U_EXPORT2
-+res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength) {
-+    const int32_t *p;
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    int32_t length;
-+    if(RES_GET_TYPE(res)==URES_INT_VECTOR) {
-+        p= offset==0 ? (const int32_t *)&gEmpty32 : pResData->pRoot+offset;
-+        length=*p++;
-+    } else {
-+        p=NULL;
-+        length=0;
-+    }
-+    if(pLength) {
-+        *pLength=length;
-+    }
-+    return p;
-+}
-+
-+U_CAPI int32_t U_EXPORT2
-+res_countArrayItems(const ResourceData *pResData, Resource res) {
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    switch(RES_GET_TYPE(res)) {
-+    case URES_STRING:
-+    case URES_STRING_V2:
-+    case URES_BINARY:
-+    case URES_ALIAS:
-+    case URES_INT:
-+    case URES_INT_VECTOR:
-+        return 1;
-+    case URES_ARRAY:
-+    case URES_TABLE32:
-+        return offset==0 ? 0 : *(pResData->pRoot+offset);
-+    case URES_TABLE:
-+        return offset==0 ? 0 : *((const uint16_t *)(pResData->pRoot+offset));
-+    case URES_ARRAY16:
-+    case URES_TABLE16:
-+        return pResData->p16BitUnits[offset];
-+    default:
-+        return 0;
-+    }
-+}
-+
-+namespace {
-+
-+int32_t getArrayLength(const ResourceData *pResData, Resource res) {
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    if(offset == 0) {
-+        return 0;
-+    }
-+    int32_t type = RES_GET_TYPE(res);
-+    if(type == URES_ARRAY) {
-+        return *(pResData->pRoot+offset);
-+    } else if(type == URES_ARRAY16) {
-+        return pResData->p16BitUnits[offset];
-+    } else {
-+        return 0;
-+    }
-+}
-+
-+int32_t getTableLength(const ResourceData *pResData, Resource res) {
-+    uint32_t offset=RES_GET_OFFSET(res);
-+    if(offset == 0) {
-+        return 0;
-+    }
-+    int32_t type = RES_GET_TYPE(res);
-+    if(type == URES_TABLE) {
-+        return *((const uint16_t *)(pResData->pRoot+offset));
-+    } else if(type == URES_TABLE16) {
-+        return pResData->p16BitUnits[offset];
-+    } else if(type == URES_TABLE32) {
-+        return *(pResData->pRoot+offset);
-+    } else {
-+        return 0;
-+    }
-+}
-+
-+}  // namespace
-+
-+U_NAMESPACE_BEGIN
-+
-+ResourceDataValue::~ResourceDataValue() {}
-+
-+UResType ResourceDataValue::getType() const {
-+    return res_getPublicType(res);
-+}
-+
-+const UChar *ResourceDataValue::getString(int32_t &length, UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return NULL;
-+    }
-+    const UChar *s = res_getString(pResData, res, &length);
-+    if(s == NULL) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return s;
-+}
-+
-+const UChar *ResourceDataValue::getAliasString(int32_t &length, UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return NULL;
-+    }
-+    const UChar *s = res_getAlias(pResData, res, &length);
-+    if(s == NULL) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return s;
-+}
-+
-+int32_t ResourceDataValue::getInt(UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return 0;
-+    }
-+    if(RES_GET_TYPE(res) != URES_INT) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return RES_GET_INT(res);
-+}
-+
-+uint32_t ResourceDataValue::getUInt(UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return 0;
-+    }
-+    if(RES_GET_TYPE(res) != URES_INT) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return RES_GET_UINT(res);
-+}
-+
-+const int32_t *ResourceDataValue::getIntVector(int32_t &length, UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return NULL;
-+    }
-+    const int32_t *iv = res_getIntVector(pResData, res, &length);
-+    if(iv == NULL) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return iv;
-+}
-+
-+const uint8_t *ResourceDataValue::getBinary(int32_t &length, UErrorCode &errorCode) const {
-+    if(U_FAILURE(errorCode)) {
-+        return NULL;
-+    }
-+    const uint8_t *b = res_getBinary(pResData, res, &length);
-+    if(b == NULL) {
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+    }
-+    return b;
-+}
-+
-+U_NAMESPACE_END
-+
-+static Resource
-+makeResourceFrom16(const ResourceData *pResData, int32_t res16) {
-+    if(res16<pResData->poolStringIndex16Limit) {
-+        // Pool string, nothing to do.
-+    } else {
-+        // Local string, adjust the 16-bit offset to a regular one,
-+        // with a larger pool string index limit.
-+        res16=res16-pResData->poolStringIndex16Limit+pResData->poolStringIndexLimit;
-+    }
-+    return URES_MAKE_RESOURCE(URES_STRING_V2, res16);
-+}
-+
-+U_CAPI Resource U_EXPORT2
-+res_getTableItemByKey(const ResourceData *pResData, Resource table,
-+                      int32_t *indexR, const char **key) {
-+    uint32_t offset=RES_GET_OFFSET(table);
-+    int32_t length;
-+    int32_t idx;
-+    if(key == NULL || *key == NULL) {
-+        return RES_BOGUS;
-+    }
-+    switch(RES_GET_TYPE(table)) {
-+    case URES_TABLE: {
-+        if (offset!=0) { /* empty if offset==0 */
-+            const uint16_t *p= (const uint16_t *)(pResData->pRoot+offset);
-+            length=*p++;
-+            *indexR=idx=_res_findTableItem(pResData, p, length, *key, key);
-+            if(idx>=0) {
-+                const Resource *p32=(const Resource *)(p+length+(~length&1));
-+                return p32[idx];
-+            }
-+        }
-+        break;
-+    }
-+    case URES_TABLE16: {
-+        const uint16_t *p=pResData->p16BitUnits+offset;
-+        length=*p++;
-+        *indexR=idx=_res_findTableItem(pResData, p, length, *key, key);
-+        if(idx>=0) {
-+            return makeResourceFrom16(pResData, p[length+idx]);
-+        }
-+        break;
-+    }
-+    case URES_TABLE32: {
-+        if (offset!=0) { /* empty if offset==0 */
-+            const int32_t *p= pResData->pRoot+offset;
-+            length=*p++;
-+            *indexR=idx=_res_findTable32Item(pResData, p, length, *key, key);
-+            if(idx>=0) {
-+                return (Resource)p[length+idx];
-+            }
-+        }
-+        break;
-+    }
-+    default:
-+        break;
-+    }
-+    return RES_BOGUS;
-+}
-+
-+U_CAPI Resource U_EXPORT2
-+res_getTableItemByIndex(const ResourceData *pResData, Resource table,
-+                        int32_t indexR, const char **key) {
-+    uint32_t offset=RES_GET_OFFSET(table);
-+    int32_t length;
-+    U_ASSERT(indexR>=0); /* to ensure the index is not negative */
-+    switch(RES_GET_TYPE(table)) {
-+    case URES_TABLE: {
-+        if (offset != 0) { /* empty if offset==0 */
-+            const uint16_t *p= (const uint16_t *)(pResData->pRoot+offset);
-+            length=*p++;
-+            if(indexR<length) {
-+                const Resource *p32=(const Resource *)(p+length+(~length&1));
-+                if(key!=NULL) {
-+                    *key=RES_GET_KEY16(pResData, p[indexR]);
-+                }
-+                return p32[indexR];
-+            }
-+        }
-+        break;
-+    }
-+    case URES_TABLE16: {
-+        const uint16_t *p=pResData->p16BitUnits+offset;
-+        length=*p++;
-+        if(indexR<length) {
-+            if(key!=NULL) {
-+                *key=RES_GET_KEY16(pResData, p[indexR]);
-+            }
-+            return makeResourceFrom16(pResData, p[length+indexR]);
-+        }
-+        break;
-+    }
-+    case URES_TABLE32: {
-+        if (offset != 0) { /* empty if offset==0 */
-+            const int32_t *p= pResData->pRoot+offset;
-+            length=*p++;
-+            if(indexR<length) {
-+                if(key!=NULL) {
-+                    *key=RES_GET_KEY32(pResData, p[indexR]);
-+                }
-+                return (Resource)p[length+indexR];
-+            }
-+        }
-+        break;
-+    }
-+    default:
-+        break;
-+    }
-+    return RES_BOGUS;
-+}
-+
-+U_CAPI Resource U_EXPORT2
-+res_getResource(const ResourceData *pResData, const char *key) {
-+    const char *realKey=key;
-+    int32_t idx;
-+    return res_getTableItemByKey(pResData, pResData->rootRes, &idx, &realKey);
-+}
-+
-+// TODO: Ported from Java, but enumerating at this low level may prevent us
-+// from doing necessary things, like resolving aliases,
-+// which need access to higher-level UResourceBundle code.
-+// Consider porting the low-level Container/Array/Table classes from Java,
-+// with getters for keys and values,
-+// and doing the enumeration in the higher-level code on top of those accessors.
-+U_CFUNC void
-+ures_getAllTableItems(const ResourceData *pResData, Resource table,
-+                      icu::ResourceDataValue &value, icu::ResourceTableSink &sink,
-+                      UErrorCode &errorCode) {
-+    if(U_FAILURE(errorCode)) { return; }
-+    const uint16_t *keys16 = NULL;
-+    const int32_t *keys32 = NULL;
-+    const uint16_t *items16 = NULL;
-+    const Resource *items32 = NULL;
-+    uint32_t offset = RES_GET_OFFSET(table);
-+    int32_t length = 0;
-+    switch(RES_GET_TYPE(table)) {
-+    case URES_TABLE: {
-+        if (offset != 0) { /* empty if offset==0 */
-+            keys16 = (const uint16_t *)(pResData->pRoot+offset);
-+            length = *keys16++;
-+            items32 = (const Resource *)(keys16+length+(~length&1));
-+        }
-+        break;
-+    }
-+    case URES_TABLE16: {
-+        keys16 = pResData->p16BitUnits+offset;
-+        length = *keys16++;
-+        items16 = keys16 + length;
-+        break;
-+    }
-+    case URES_TABLE32: {
-+        if (offset != 0) { /* empty if offset==0 */
-+            keys32 = pResData->pRoot+offset;
-+            length = *keys32++;
-+            items32 = (const Resource *)keys32 + length;
-+        }
-+        break;
-+    }
-+    default:
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+        return;
-+    }
-+
-+    for (int32_t i = 0; i < length; ++i) {
-+        const char *key;
-+        if (keys16 != NULL) {
-+            key=RES_GET_KEY16(pResData, keys16[i]);
-+        } else {
-+            key=RES_GET_KEY32(pResData, keys32[i]);
-+        }
-+        Resource res;
-+        if (items16 != NULL) {
-+            res = makeResourceFrom16(pResData, items16[i]);
-+        } else {
-+            res = items32[i];
-+        }
-+        int32_t type = RES_GET_TYPE(res);
-+        if (URES_IS_ARRAY(type)) {
-+            int32_t numItems = getArrayLength(pResData, res);
-+            icu::ResourceArraySink *subSink = sink.getOrCreateArraySink(key, numItems, errorCode);
-+            if (subSink != NULL) {
-+                ures_getAllArrayItems(pResData, res, value, *subSink, errorCode);
-+            }
-+        } else if (URES_IS_TABLE(type)) {
-+            int32_t numItems = getTableLength(pResData, res);
-+            icu::ResourceTableSink *subSink = sink.getOrCreateTableSink(key, numItems, errorCode);
-+            if (subSink != NULL) {
-+                ures_getAllTableItems(pResData, res, value, *subSink, errorCode);
-+            }
-+        /* TODO: settle on how to deal with aliases, port to Java
-+        } else if (type == URES_ALIAS) {
-+            // aliases not handled in resource enumeration
-+            errorCode = U_UNSUPPORTED_ERROR;
-+            return; */
-+        } else if (isNoInheritanceMarker(pResData, res)) {
-+            sink.putNoFallback(key, errorCode);
-+        } else {
-+            value.setResource(res);
-+            sink.put(key, value, errorCode);
-+        }
-+        if(U_FAILURE(errorCode)) { return; }
-+    }
-+    sink.leave(errorCode);
-+}
-+
-+U_CAPI Resource U_EXPORT2
-+res_getArrayItem(const ResourceData *pResData, Resource array, int32_t indexR) {
-+    uint32_t offset=RES_GET_OFFSET(array);
-+    U_ASSERT(indexR>=0); /* to ensure the index is not negative */
-+    switch(RES_GET_TYPE(array)) {
-+    case URES_ARRAY: {
-+        if (offset!=0) { /* empty if offset==0 */
-+            const int32_t *p= pResData->pRoot+offset;
-+            if(indexR<*p) {
-+                return (Resource)p[1+indexR];
-+            }
-+        }
-+        break;
-+    }
-+    case URES_ARRAY16: {
-+        const uint16_t *p=pResData->p16BitUnits+offset;
-+        if(indexR<*p) {
-+            return makeResourceFrom16(pResData, p[1+indexR]);
-+        }
-+        break;
-+    }
-+    default:
-+        break;
-+    }
-+    return RES_BOGUS;
-+}
-+
-+U_CFUNC void
-+ures_getAllArrayItems(const ResourceData *pResData, Resource array,
-+                      icu::ResourceDataValue &value, icu::ResourceArraySink &sink,
-+                      UErrorCode &errorCode) {
-+    if(U_FAILURE(errorCode)) { return; }
-+    const uint16_t *items16 = NULL;
-+    const Resource *items32 = NULL;
-+    uint32_t offset=RES_GET_OFFSET(array);
-+    int32_t length = 0;
-+    switch(RES_GET_TYPE(array)) {
-+    case URES_ARRAY: {
-+        if (offset!=0) { /* empty if offset==0 */
-+            items32 = (const Resource *)pResData->pRoot+offset;
-+            length = *items32++;
-+        }
-+        break;
-+    }
-+    case URES_ARRAY16: {
-+        items16 = pResData->p16BitUnits+offset;
-+        length = *items16++;
-+        break;
-+    }
-+    default:
-+        errorCode = U_RESOURCE_TYPE_MISMATCH;
-+        return;
-+    }
-+
-+    for (int32_t i = 0; i < length; ++i) {
-+        Resource res;
-+        if (items16 != NULL) {
-+            res = makeResourceFrom16(pResData, items16[i]);
-+        } else {
-+            res = items32[i];
-+        }
-+        int32_t type = RES_GET_TYPE(res);
-+        if (URES_IS_ARRAY(type)) {
-+            int32_t numItems = getArrayLength(pResData, res);
-+            icu::ResourceArraySink *subSink = sink.getOrCreateArraySink(i, numItems, errorCode);
-+            if (subSink != NULL) {
-+                ures_getAllArrayItems(pResData, res, value, *subSink, errorCode);
-+            }
-+        } else if (URES_IS_TABLE(type)) {
-+            int32_t numItems = getTableLength(pResData, res);
-+            icu::ResourceTableSink *subSink = sink.getOrCreateTableSink(i, numItems, errorCode);
-+            if (subSink != NULL) {
-+                ures_getAllTableItems(pResData, res, value, *subSink, errorCode);
-+            }
-+        /* TODO: settle on how to deal with aliases, port to Java
-+        } else if (type == URES_ALIAS) {
-+            // aliases not handled in resource enumeration
-+            errorCode = U_UNSUPPORTED_ERROR;
-+            return; */
-+        } else {
-+            value.setResource(res);
-+            sink.put(i, value, errorCode);
-+        }
-+        if(U_FAILURE(errorCode)) { return; }
-+    }
-+    sink.leave(errorCode);
-+}
-+
-+U_CFUNC Resource
-+res_findResource(const ResourceData *pResData, Resource r, char** path, const char** key) {
-+  char *pathP = *path, *nextSepP = *path;
-+  char *closeIndex = NULL;
-+  Resource t1 = r;
-+  Resource t2;
-+  int32_t indexR = 0;
-+  UResType type = (UResType)RES_GET_TYPE(t1);
-+
-+  /* if you come in with an empty path, you'll be getting back the same resource */
-+  if(!uprv_strlen(pathP)) {
-+      return r;
-+  }
-+
-+  /* one needs to have an aggregate resource in order to search in it */
-+  if(!URES_IS_CONTAINER(type)) {
-+      return RES_BOGUS;
-+  }
-+  
-+  while(nextSepP && *pathP && t1 != RES_BOGUS && URES_IS_CONTAINER(type)) {
-+    /* Iteration stops if: the path has been consumed, we found a non-existing
-+     * resource (t1 == RES_BOGUS) or we found a scalar resource (including alias)
-+     */
-+    nextSepP = uprv_strchr(pathP, RES_PATH_SEPARATOR);
-+    /* if there are more separators, terminate string 
-+     * and set path to the remaining part of the string
-+     */
-+    if(nextSepP != NULL) {
-+      if(nextSepP == pathP) {
-+        // Empty key string.
-+        return RES_BOGUS;
-+      }
-+      *nextSepP = 0; /* overwrite the separator with a NUL to terminate the key */
-+      *path = nextSepP+1;
-+    } else {
-+      *path = uprv_strchr(pathP, 0);
-+    }
-+
-+    /* if the resource is a table */
-+    /* try the key based access */
-+    if(URES_IS_TABLE(type)) {
-+      *key = pathP;
-+      t2 = res_getTableItemByKey(pResData, t1, &indexR, key);
-+      if(t2 == RES_BOGUS) { 
-+        /* if we fail to get the resource by key, maybe we got an index */
-+        indexR = uprv_strtol(pathP, &closeIndex, 10);
-+        if(*closeIndex == 0) {
-+          /* if we indeed have an index, try to get the item by index */
-+          t2 = res_getTableItemByIndex(pResData, t1, indexR, key);
-+        }
-+      }
-+    } else if(URES_IS_ARRAY(type)) {
-+      indexR = uprv_strtol(pathP, &closeIndex, 10);
-+      if(*closeIndex == 0) {
-+        t2 = res_getArrayItem(pResData, t1, indexR);
-+      } else {
-+        t2 = RES_BOGUS; /* have an array, but don't have a valid index */
-+      }
-+      *key = NULL;
-+    } else { /* can't do much here, except setting t2 to bogus */
-+      t2 = RES_BOGUS;
-+    }
-+    t1 = t2;
-+    type = (UResType)RES_GET_TYPE(t1);
-+    /* position pathP to next resource key/index */
-+    pathP = *path;
-+  }
-+
-+  return t1;
-+}
-+
-+/* resource bundle swapping ------------------------------------------------- */
-+
-+/*
-+ * Need to always enumerate the entire item tree,
-+ * track the lowest address of any item to use as the limit for char keys[],
-+ * track the highest address of any item to return the size of the data.
-+ *
-+ * We should have thought of storing those in the data...
-+ * It is possible to extend the data structure by putting additional values
-+ * in places that are inaccessible by ordinary enumeration of the item tree.
-+ * For example, additional integers could be stored at the beginning or
-+ * end of the key strings; this could be indicated by a minor version number,
-+ * and the data swapping would have to know about these values.
-+ *
-+ * The data structure does not forbid keys to be shared, so we must swap
-+ * all keys once instead of each key when it is referenced.
-+ *
-+ * These swapping functions assume that a resource bundle always has a length
-+ * that is a multiple of 4 bytes.
-+ * Currently, this is trivially true because genrb writes bundle tree leaves
-+ * physically first, before their branches, so that the root table with its
-+ * array of resource items (uint32_t values) is always last.
-+ */
-+
-+/* definitions for table sorting ------------------------ */
-+
-+/*
-+ * row of a temporary array
-+ *
-+ * gets platform-endian key string indexes and sorting indexes;
-+ * after sorting this array by keys, the actual key/value arrays are permutated
-+ * according to the sorting indexes
-+ */
-+typedef struct Row {
-+    int32_t keyIndex, sortIndex;
-+} Row;
-+
-+static int32_t
-+ures_compareRows(const void *context, const void *left, const void *right) {
-+    const char *keyChars=(const char *)context;
-+    return (int32_t)uprv_strcmp(keyChars+((const Row *)left)->keyIndex,
-+                                keyChars+((const Row *)right)->keyIndex);
-+}
-+
-+typedef struct TempTable {
-+    const char *keyChars;
-+    Row *rows;
-+    int32_t *resort;
-+    uint32_t *resFlags;
-+    int32_t localKeyLimit;
-+    uint8_t majorFormatVersion;
-+} TempTable;
-+
-+enum {
-+    STACK_ROW_CAPACITY=200
-+};
-+
-+/* The table item key string is not locally available. */
-+static const char *const gUnknownKey="";
-+
-+/* resource table key for collation binaries: "%%CollationBin" */
-+static const UChar gCollationBinKey[]={
-+    0x25, 0x25,
-+    0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-+    0x42, 0x69, 0x6e,
-+    0
-+};
-+
-+/*
-+ * swap one resource item
-+ */
-+static void
-+ures_swapResource(const UDataSwapper *ds,
-+                  const Resource *inBundle, Resource *outBundle,
-+                  Resource res, /* caller swaps res itself */
-+                  const char *key,
-+                  TempTable *pTempTable,
-+                  UErrorCode *pErrorCode) {
-+    const Resource *p;
-+    Resource *q;
-+    int32_t offset, count;
-+
-+    switch(RES_GET_TYPE(res)) {
-+    case URES_TABLE16:
-+    case URES_STRING_V2:
-+    case URES_INT:
-+    case URES_ARRAY16:
-+        /* integer, or points to 16-bit units, nothing to do here */
-+        return;
-+    default:
-+        break;
-+    }
-+
-+    /* all other types use an offset to point to their data */
-+    offset=(int32_t)RES_GET_OFFSET(res);
-+    if(offset==0) {
-+        /* special offset indicating an empty item */
-+        return;
-+    }
-+    if(pTempTable->resFlags[offset>>5]&((uint32_t)1<<(offset&0x1f))) {
-+        /* we already swapped this resource item */
-+        return;
-+    } else {
-+        /* mark it as swapped now */
-+        pTempTable->resFlags[offset>>5]|=((uint32_t)1<<(offset&0x1f));
-+    }
-+
-+    p=inBundle+offset;
-+    q=outBundle+offset;
-+
-+    switch(RES_GET_TYPE(res)) {
-+    case URES_ALIAS:
-+        /* physically same value layout as string, fall through */
-+    case URES_STRING:
-+        count=udata_readInt32(ds, (int32_t)*p);
-+        /* swap length */
-+        ds->swapArray32(ds, p, 4, q, pErrorCode);
-+        /* swap each UChar (the terminating NUL would not change) */
-+        ds->swapArray16(ds, p+1, 2*count, q+1, pErrorCode);
-+        break;
-+    case URES_BINARY:
-+        count=udata_readInt32(ds, (int32_t)*p);
-+        /* swap length */
-+        ds->swapArray32(ds, p, 4, q, pErrorCode);
-+        /* no need to swap or copy bytes - ures_swap() copied them all */
-+
-+        /* swap known formats */
-+#if !UCONFIG_NO_COLLATION
-+        if( key!=NULL &&  /* the binary is in a table */
-+            (key!=gUnknownKey ?
-+                /* its table key string is "%%CollationBin" */
-+                0==ds->compareInvChars(ds, key, -1,
-+                                       gCollationBinKey, UPRV_LENGTHOF(gCollationBinKey)-1) :
-+                /* its table key string is unknown but it looks like a collation binary */
-+                ucol_looksLikeCollationBinary(ds, p+1, count))
-+        ) {
-+            ucol_swap(ds, p+1, count, q+1, pErrorCode);
-+        }
-+#endif
-+        break;
-+    case URES_TABLE:
-+    case URES_TABLE32:
-+        {
-+            const uint16_t *pKey16;
-+            uint16_t *qKey16;
-+
-+            const int32_t *pKey32;
-+            int32_t *qKey32;
-+
-+            Resource item;
-+            int32_t i, oldIndex;
-+
-+            if(RES_GET_TYPE(res)==URES_TABLE) {
-+                /* get table item count */
-+                pKey16=(const uint16_t *)p;
-+                qKey16=(uint16_t *)q;
-+                count=ds->readUInt16(*pKey16);
-+
-+                pKey32=qKey32=NULL;
-+
-+                /* swap count */
-+                ds->swapArray16(ds, pKey16++, 2, qKey16++, pErrorCode);
-+
-+                offset+=((1+count)+1)/2;
-+            } else {
-+                /* get table item count */
-+                pKey32=(const int32_t *)p;
-+                qKey32=(int32_t *)q;
-+                count=udata_readInt32(ds, *pKey32);
-+
-+                pKey16=qKey16=NULL;
-+
-+                /* swap count */
-+                ds->swapArray32(ds, pKey32++, 4, qKey32++, pErrorCode);
-+
-+                offset+=1+count;
-+            }
-+
-+            if(count==0) {
-+                break;
-+            }
-+
-+            p=inBundle+offset; /* pointer to table resources */
-+            q=outBundle+offset;
-+
-+            /* recurse */
-+            for(i=0; i<count; ++i) {
-+                const char *itemKey=gUnknownKey;
-+                if(pKey16!=NULL) {
-+                    int32_t keyOffset=ds->readUInt16(pKey16[i]);
-+                    if(keyOffset<pTempTable->localKeyLimit) {
-+                        itemKey=(const char *)outBundle+keyOffset;
-+                    }
-+                } else {
-+                    int32_t keyOffset=udata_readInt32(ds, pKey32[i]);
-+                    if(keyOffset>=0) {
-+                        itemKey=(const char *)outBundle+keyOffset;
-+                    }
-+                }
-+                item=ds->readUInt32(p[i]);
-+                ures_swapResource(ds, inBundle, outBundle, item, itemKey, pTempTable, pErrorCode);
-+                if(U_FAILURE(*pErrorCode)) {
-+                    udata_printError(ds, "ures_swapResource(table res=%08x)[%d].recurse(%08x) failed\n",
-+                                     res, i, item);
-+                    return;
-+                }
-+            }
-+
-+            if(pTempTable->majorFormatVersion>1 || ds->inCharset==ds->outCharset) {
-+                /* no need to sort, just swap the offset/value arrays */
-+                if(pKey16!=NULL) {
-+                    ds->swapArray16(ds, pKey16, count*2, qKey16, pErrorCode);
-+                    ds->swapArray32(ds, p, count*4, q, pErrorCode);
-+                } else {
-+                    /* swap key offsets and items as one array */
-+                    ds->swapArray32(ds, pKey32, count*2*4, qKey32, pErrorCode);
-+                }
-+                break;
-+            }
-+
-+            /*
-+             * We need to sort tables by outCharset key strings because they
-+             * sort differently for different charset families.
-+             * ures_swap() already set pTempTable->keyChars appropriately.
-+             * First we set up a temporary table with the key indexes and
-+             * sorting indexes and sort that.
-+             * Then we permutate and copy/swap the actual values.
-+             */
-+            if(pKey16!=NULL) {
-+                for(i=0; i<count; ++i) {
-+                    pTempTable->rows[i].keyIndex=ds->readUInt16(pKey16[i]);
-+                    pTempTable->rows[i].sortIndex=i;
-+                }
-+            } else {
-+                for(i=0; i<count; ++i) {
-+                    pTempTable->rows[i].keyIndex=udata_readInt32(ds, pKey32[i]);
-+                    pTempTable->rows[i].sortIndex=i;
-+                }
-+            }
-+            uprv_sortArray(pTempTable->rows, count, sizeof(Row),
-+                           ures_compareRows, pTempTable->keyChars,
-+                           FALSE, pErrorCode);
-+            if(U_FAILURE(*pErrorCode)) {
-+                udata_printError(ds, "ures_swapResource(table res=%08x).uprv_sortArray(%d items) failed\n",
-+                                 res, count);
-+                return;
-+            }
-+
-+            /*
-+             * copy/swap/permutate items
-+             *
-+             * If we swap in-place, then the permutation must use another
-+             * temporary array (pTempTable->resort)
-+             * before the results are copied to the outBundle.
-+             */
-+            /* keys */
-+            if(pKey16!=NULL) {
-+                uint16_t *rKey16;
-+
-+                if(pKey16!=qKey16) {
-+                    rKey16=qKey16;
-+                } else {
-+                    rKey16=(uint16_t *)pTempTable->resort;
-+                }
-+                for(i=0; i<count; ++i) {
-+                    oldIndex=pTempTable->rows[i].sortIndex;
-+                    ds->swapArray16(ds, pKey16+oldIndex, 2, rKey16+i, pErrorCode);
-+                }
-+                if(qKey16!=rKey16) {
-+                    uprv_memcpy(qKey16, rKey16, 2*count);
-+                }
-+            } else {
-+                int32_t *rKey32;
-+
-+                if(pKey32!=qKey32) {
-+                    rKey32=qKey32;
-+                } else {
-+                    rKey32=pTempTable->resort;
-+                }
-+                for(i=0; i<count; ++i) {
-+                    oldIndex=pTempTable->rows[i].sortIndex;
-+                    ds->swapArray32(ds, pKey32+oldIndex, 4, rKey32+i, pErrorCode);
-+                }
-+                if(qKey32!=rKey32) {
-+                    uprv_memcpy(qKey32, rKey32, 4*count);
-+                }
-+            }
-+
-+            /* resources */
-+            {
-+                Resource *r;
-+
-+
-+                if(p!=q) {
-+                    r=q;
-+                } else {
-+                    r=(Resource *)pTempTable->resort;
-+                }
-+                for(i=0; i<count; ++i) {
-+                    oldIndex=pTempTable->rows[i].sortIndex;
-+                    ds->swapArray32(ds, p+oldIndex, 4, r+i, pErrorCode);
-+                }
-+                if(q!=r) {
-+                    uprv_memcpy(q, r, 4*count);
-+                }
-+            }
-+        }
-+        break;
-+    case URES_ARRAY:
-+        {
-+            Resource item;
-+            int32_t i;
-+
-+            count=udata_readInt32(ds, (int32_t)*p);
-+            /* swap length */
-+            ds->swapArray32(ds, p++, 4, q++, pErrorCode);
-+
-+            /* recurse */
-+            for(i=0; i<count; ++i) {
-+                item=ds->readUInt32(p[i]);
-+                ures_swapResource(ds, inBundle, outBundle, item, NULL, pTempTable, pErrorCode);
-+                if(U_FAILURE(*pErrorCode)) {
-+                    udata_printError(ds, "ures_swapResource(array res=%08x)[%d].recurse(%08x) failed\n",
-+                                     res, i, item);
-+                    return;
-+                }
-+            }
-+
-+            /* swap items */
-+            ds->swapArray32(ds, p, 4*count, q, pErrorCode);
-+        }
-+        break;
-+    case URES_INT_VECTOR:
-+        count=udata_readInt32(ds, (int32_t)*p);
-+        /* swap length and each integer */
-+        ds->swapArray32(ds, p, 4*(1+count), q, pErrorCode);
-+        break;
-+    default:
-+        /* also catches RES_BOGUS */
-+        *pErrorCode=U_UNSUPPORTED_ERROR;
-+        break;
-+    }
-+}
-+
-+U_CAPI int32_t U_EXPORT2
-+ures_swap(const UDataSwapper *ds,
-+          const void *inData, int32_t length, void *outData,
-+          UErrorCode *pErrorCode) {
-+    const UDataInfo *pInfo;
-+    const Resource *inBundle;
-+    Resource rootRes;
-+    int32_t headerSize, maxTableLength;
-+
-+    Row rows[STACK_ROW_CAPACITY];
-+    int32_t resort[STACK_ROW_CAPACITY];
-+    TempTable tempTable;
-+
-+    const int32_t *inIndexes;
-+
-+    /* the following integers count Resource item offsets (4 bytes each), not bytes */
-+    int32_t bundleLength, indexLength, keysBottom, keysTop, resBottom, top;
-+
-+    /* udata_swapDataHeader checks the arguments */
-+    headerSize=udata_swapDataHeader(ds, inData, length, outData, pErrorCode);
-+    if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) {
-+        return 0;
-+    }
-+
-+    /* check data format and format version */
-+    pInfo=(const UDataInfo *)((const char *)inData+4);
-+    if(!(
-+        pInfo->dataFormat[0]==0x52 &&   /* dataFormat="ResB" */
-+        pInfo->dataFormat[1]==0x65 &&
-+        pInfo->dataFormat[2]==0x73 &&
-+        pInfo->dataFormat[3]==0x42 &&
-+        /* formatVersion 1.1+ or 2.x or 3.x */
-+        ((pInfo->formatVersion[0]==1 && pInfo->formatVersion[1]>=1) ||
-+            pInfo->formatVersion[0]==2 || pInfo->formatVersion[0]==3)
-+    )) {
-+        udata_printError(ds, "ures_swap(): data format %02x.%02x.%02x.%02x (format version %02x.%02x) is not a resource bundle\n",
-+                         pInfo->dataFormat[0], pInfo->dataFormat[1],
-+                         pInfo->dataFormat[2], pInfo->dataFormat[3],
-+                         pInfo->formatVersion[0], pInfo->formatVersion[1]);
-+        *pErrorCode=U_UNSUPPORTED_ERROR;
-+        return 0;
-+    }
-+    tempTable.majorFormatVersion=pInfo->formatVersion[0];
-+
-+    /* a resource bundle must contain at least one resource item */
-+    if(length<0) {
-+        bundleLength=-1;
-+    } else {
-+        bundleLength=(length-headerSize)/4;
-+
-+        /* formatVersion 1.1 must have a root item and at least 5 indexes */
-+        if(bundleLength<(1+5)) {
-+            udata_printError(ds, "ures_swap(): too few bytes (%d after header) for a resource bundle\n",
-+                             length-headerSize);
-+            *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
-+            return 0;
-+        }
-+    }
-+
-+    inBundle=(const Resource *)((const char *)inData+headerSize);
-+    rootRes=ds->readUInt32(*inBundle);
-+
-+    /* formatVersion 1.1 adds the indexes[] array */
-+    inIndexes=(const int32_t *)(inBundle+1);
-+
-+    indexLength=udata_readInt32(ds, inIndexes[URES_INDEX_LENGTH])&0xff;
-+    if(indexLength<=URES_INDEX_MAX_TABLE_LENGTH) {
-+        udata_printError(ds, "ures_swap(): too few indexes for a 1.1+ resource bundle\n");
-+        *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
-+        return 0;
-+    }
-+    keysBottom=1+indexLength;
-+    keysTop=udata_readInt32(ds, inIndexes[URES_INDEX_KEYS_TOP]);
-+    if(indexLength>URES_INDEX_16BIT_TOP) {
-+        resBottom=udata_readInt32(ds, inIndexes[URES_INDEX_16BIT_TOP]);
-+    } else {
-+        resBottom=keysTop;
-+    }
-+    top=udata_readInt32(ds, inIndexes[URES_INDEX_BUNDLE_TOP]);
-+    maxTableLength=udata_readInt32(ds, inIndexes[URES_INDEX_MAX_TABLE_LENGTH]);
-+
-+    if(0<=bundleLength && bundleLength<top) {
-+        udata_printError(ds, "ures_swap(): resource top %d exceeds bundle length %d\n",
-+                         top, bundleLength);
-+        *pErrorCode=U_INDEX_OUTOFBOUNDS_ERROR;
-+        return 0;
-+    }
-+    if(keysTop>(1+indexLength)) {
-+        tempTable.localKeyLimit=keysTop<<2;
-+    } else {
-+        tempTable.localKeyLimit=0;
-+    }
-+
-+    if(length>=0) {
-+        Resource *outBundle=(Resource *)((char *)outData+headerSize);
-+
-+        /* track which resources we have already swapped */
-+        uint32_t stackResFlags[STACK_ROW_CAPACITY];
-+        int32_t resFlagsLength;
-+
-+        /*
-+         * We need one bit per 4 resource bundle bytes so that we can track
-+         * every possible Resource for whether we have swapped it already.
-+         * Multiple Resource words can refer to the same bundle offsets
-+         * for sharing identical values.
-+         * We could optimize this by allocating only for locations above
-+         * where Resource values are stored (above keys & strings).
-+         */
-+        resFlagsLength=(length+31)>>5;          /* number of bytes needed */
-+        resFlagsLength=(resFlagsLength+3)&~3;   /* multiple of 4 bytes for uint32_t */
-+        if(resFlagsLength<=(int32_t)sizeof(stackResFlags)) {
-+            tempTable.resFlags=stackResFlags;
-+        } else {
-+            tempTable.resFlags=(uint32_t *)uprv_malloc(resFlagsLength);
-+            if(tempTable.resFlags==NULL) {
-+                udata_printError(ds, "ures_swap(): unable to allocate memory for tracking resources\n");
-+                *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
-+                return 0;
-+            }
-+        }
-+        uprv_memset(tempTable.resFlags, 0, resFlagsLength);
-+
-+        /* copy the bundle for binary and inaccessible data */
-+        if(inData!=outData) {
-+            uprv_memcpy(outBundle, inBundle, 4*top);
-+        }
-+
-+        /* swap the key strings, but not the padding bytes (0xaa) after the last string and its NUL */
-+        udata_swapInvStringBlock(ds, inBundle+keysBottom, 4*(keysTop-keysBottom),
-+                                    outBundle+keysBottom, pErrorCode);
-+        if(U_FAILURE(*pErrorCode)) {
-+            udata_printError(ds, "ures_swap().udata_swapInvStringBlock(keys[%d]) failed\n", 4*(keysTop-keysBottom));
-+            return 0;
-+        }
-+
-+        /* swap the 16-bit units (strings, table16, array16) */
-+        if(keysTop<resBottom) {
-+            ds->swapArray16(ds, inBundle+keysTop, (resBottom-keysTop)*4, outBundle+keysTop, pErrorCode);
-+            if(U_FAILURE(*pErrorCode)) {
-+                udata_printError(ds, "ures_swap().swapArray16(16-bit units[%d]) failed\n", 2*(resBottom-keysTop));
-+                return 0;
-+            }
-+        }
-+
-+        /* allocate the temporary table for sorting resource tables */
-+        tempTable.keyChars=(const char *)outBundle; /* sort by outCharset */
-+        if(tempTable.majorFormatVersion>1 || maxTableLength<=STACK_ROW_CAPACITY) {
-+            tempTable.rows=rows;
-+            tempTable.resort=resort;
-+        } else {
-+            tempTable.rows=(Row *)uprv_malloc(maxTableLength*sizeof(Row)+maxTableLength*4);
-+            if(tempTable.rows==NULL) {
-+                udata_printError(ds, "ures_swap(): unable to allocate memory for sorting tables (max length: %d)\n",
-+                                 maxTableLength);
-+                *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
-+                if(tempTable.resFlags!=stackResFlags) {
-+                    uprv_free(tempTable.resFlags);
-+                }
-+                return 0;
-+            }
-+            tempTable.resort=(int32_t *)(tempTable.rows+maxTableLength);
-+        }
-+
-+        /* swap the resources */
-+        ures_swapResource(ds, inBundle, outBundle, rootRes, NULL, &tempTable, pErrorCode);
-+        if(U_FAILURE(*pErrorCode)) {
-+            udata_printError(ds, "ures_swapResource(root res=%08x) failed\n",
-+                             rootRes);
-+        }
-+
-+        if(tempTable.rows!=rows) {
-+            uprv_free(tempTable.rows);
-+        }
-+        if(tempTable.resFlags!=stackResFlags) {
-+            uprv_free(tempTable.resFlags);
-+        }
-+
-+        /* swap the root resource and indexes */
-+        ds->swapArray32(ds, inBundle, keysBottom*4, outBundle, pErrorCode);
-+    }
-+
-+    return headerSize+4*top;
-+}
-diff --git a/source/common/uresdata.h b/source/common/uresdata.h
-index ff69dd4..1afa77c 100644
---- a/source/common/uresdata.h
-+++ b/source/common/uresdata.h
-@@ -453,11 +453,67 @@ res_getTableItemByIndex(const ResourceData *pResData, Resource table, int32_t in
- U_INTERNAL Resource U_EXPORT2
- res_getTableItemByKey(const ResourceData *pResData, Resource table, int32_t *indexS, const char* * key);
- 
--/*
-+/**
-+ * Iterates over the path and stops when a scalar resource is found.
-+ * Follows aliases.
-  * Modifies the contents of *path (replacing separators with NULs),
-  * and also moves *path forward while it finds items.
-+ *
-+ * @param path input: "CollationElements/Sequence" or "zoneStrings/3/2" etc.;
-+ *             output: points to the part that has not yet been processed
-+ */
-+U_CFUNC Resource res_findResource(const ResourceData *pResData, Resource r,
-+                                  char** path, const char** key);
-+
-+#ifdef __cplusplus
-+
-+#include "resource.h"
-+
-+U_NAMESPACE_BEGIN
-+
-+class ResourceDataValue : public ResourceValue {
-+public:
-+    ResourceDataValue() : pResData(NULL), res(URES_NONE) {}
-+    virtual ~ResourceDataValue();
-+
-+    void setData(const ResourceData *data) { pResData = data; }
-+    void setResource(Resource r) { res = r; }
-+
-+    virtual UResType getType() const;
-+    virtual const UChar *getString(int32_t &length, UErrorCode &errorCode) const;
-+    virtual const UChar *getAliasString(int32_t &length, UErrorCode &errorCode) const;
-+    virtual int32_t getInt(UErrorCode &errorCode) const;
-+    virtual uint32_t getUInt(UErrorCode &errorCode) const;
-+    virtual const int32_t *getIntVector(int32_t &length, UErrorCode &errorCode) const;
-+    virtual const uint8_t *getBinary(int32_t &length, UErrorCode &errorCode) const;
-+
-+    const ResourceData *pResData;
-+
-+private:
-+    Resource res;
-+};
-+
-+U_NAMESPACE_END
-+
-+/**
-+ * @param value will be set during enumeration; input contents is ignored
-+ * @param sink receives all table item key-value pairs
-  */
--U_CFUNC Resource res_findResource(const ResourceData *pResData, Resource r, char** path, const char** key);
-+U_CFUNC void
-+ures_getAllTableItems(const ResourceData *pResData, Resource table,
-+                      icu::ResourceDataValue &value, icu::ResourceTableSink &sink,
-+                      UErrorCode &errorCode);
-+
-+/**
-+ * @param value will be set during enumeration; input contents is ignored
-+ * @param sink receives all array item values
-+ */
-+U_CFUNC void
-+ures_getAllArrayItems(const ResourceData *pResData, Resource array,
-+                      icu::ResourceDataValue &value, icu::ResourceArraySink &sink,
-+                      UErrorCode &errorCode);
-+
-+#endif  /* __cplusplus */
- 
- /**
-  * Swap an ICU resource bundle. See udataswp.h.
-diff --git a/source/common/uresimp.h b/source/common/uresimp.h
-index b8ec5a6..6b264db 100644
---- a/source/common/uresimp.h
-+++ b/source/common/uresimp.h
-@@ -1,6 +1,6 @@
- /*
- **********************************************************************
--*   Copyright (C) 2000-2014, International Business Machines
-+*   Copyright (C) 2000-2015, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- **********************************************************************
- */
-@@ -222,6 +222,18 @@ ures_getStringByKeyWithFallback(const UResourceBundle *resB,
-                           int32_t* len,
-                           UErrorCode *status);
- 
-+#ifdef __cplusplus
-+
-+U_CAPI void U_EXPORT2
-+ures_getAllArrayItemsWithFallback(const UResourceBundle *bundle, const char *path,
-+                                  icu::ResourceArraySink &sink, UErrorCode &errorCode);
-+
-+U_CAPI void U_EXPORT2
-+ures_getAllTableItemsWithFallback(const UResourceBundle *bundle, const char *path,
-+                                  icu::ResourceTableSink &sink, UErrorCode &errorCode);
-+
-+#endif  /* __cplusplus */
-+
- /**
-  * Get a version number by key
-  * @param resB bundle containing version number
-diff --git a/source/common/uresource.cpp b/source/common/uresource.cpp
-new file mode 100644
-index 0000000..e69de29
-diff --git a/source/common/uresource.h b/source/common/uresource.h
-new file mode 100644
-index 0000000..e69de29
-diff --git a/source/data/unit/ar.txt b/source/data/unit/ar.txt
-index 883e97c..d6a1d3f 100755
---- a/source/data/unit/ar.txt
-+++ b/source/data/unit/ar.txt
-@@ -400,7 +400,7 @@ ar{
-                 many{"{0} سنة"}
-                 one{"سنة"}
-                 other{"{0} سنة"}
--                per{"في السنة"}
-+                per{"{0} في السنة"}
-                 two{"سنتان"}
-                 zero{"{0} سنة"}
-             }
-diff --git a/source/data/unit/de.txt b/source/data/unit/de.txt
-index 9ec6e5d..eab9dc1 100755
---- a/source/data/unit/de.txt
-+++ b/source/data/unit/de.txt
-@@ -467,7 +467,7 @@ de{
-                 dnam{"Unzen"}
-                 one{"{0} Unze"}
-                 other{"{0} Unzen"}
--                per{"pro Unze"}
-+                per{"{0} pro Unze"}
-             }
-             ounce-troy{
-                 dnam{"Feinunzen"}
-diff --git a/source/data/unit/dsb.txt b/source/data/unit/dsb.txt
-index fbdfc9f..d972a0d 100755
---- a/source/data/unit/dsb.txt
-+++ b/source/data/unit/dsb.txt
-@@ -226,7 +226,7 @@ dsb{
-                 few{"{0} góźiny"}
-                 one{"{0} góźina"}
-                 other{"{0} góźinow"}
--                per{"na góźinu"}
-+                per{"{0} na góźinu"}
-                 two{"{0} góźinje"}
-             }
-             microsecond{
-@@ -269,7 +269,7 @@ dsb{
-                 few{"{0} sekundy"}
-                 one{"{0} sekunda"}
-                 other{"{0} sekundow"}
--                per{"na sekundu"}
-+                per{"{0} na sekundu"}
-                 two{"{0} sekunźe"}
-             }
-             week{
-diff --git a/source/data/unit/hsb.txt b/source/data/unit/hsb.txt
-index 747481e..bdf5112 100755
---- a/source/data/unit/hsb.txt
-+++ b/source/data/unit/hsb.txt
-@@ -226,7 +226,7 @@ hsb{
-                 few{"{0} hodźiny"}
-                 one{"{0} hodźina"}
-                 other{"{0} hodźinow"}
--                per{"na hodźinu"}
-+                per{"{0} na hodźinu"}
-                 two{"{0} hodźinje"}
-             }
-             microsecond{
-@@ -269,7 +269,7 @@ hsb{
-                 few{"{0} sekundy"}
-                 one{"{0} sekunda"}
-                 other{"{0} sekundow"}
--                per{"na sekundu"}
-+                per{"{0} na sekundu"}
-                 two{"{0} sekundźe"}
-             }
-             week{
-diff --git a/source/data/unit/lv.txt b/source/data/unit/lv.txt
-index 81e8a23..1536fca 100755
---- a/source/data/unit/lv.txt
-+++ b/source/data/unit/lv.txt
-@@ -77,7 +77,7 @@ lv{
-                 dnam{"kvadrātcentimetri"}
-                 one{"{0} kvadrātcentimetrs"}
-                 other{"{0} kvadrātcentimetri"}
--                per{"uz kvadrātcentimetru"}
-+                per{"{0} uz kvadrātcentimetru"}
-                 zero{"{0} kvadrātcentimetri"}
-             }
-             square-foot{
-@@ -103,7 +103,7 @@ lv{
-                 dnam{"kvadrātmetri"}
-                 one{"{0} kvadrātmetrs"}
-                 other{"{0} kvadrātmetri"}
--                per{"uz kvadrātmetru"}
-+                per{"{0} uz kvadrātmetru"}
-                 zero{"{0} kvadrātmetri"}
-             }
-             square-mile{
-@@ -704,7 +704,7 @@ lv{
-                 dnam{"kubikcentimetri"}
-                 one{"{0} kubikcentimetrs"}
-                 other{"{0} kubikcentimetri"}
--                per{"uz kubikcentimetru"}
-+                per{"{0} uz kubikcentimetru"}
-                 zero{"{0} kubikcentimetri"}
-             }
-             cubic-foot{
-@@ -729,7 +729,7 @@ lv{
-                 dnam{"kubikmetri"}
-                 one{"{0} kubikmetrs"}
-                 other{"{0} kubikmetri"}
--                per{"uz kubikmetru"}
-+                per{"{0} uz kubikmetru"}
-                 zero{"{0} kubikmetri"}
-             }
-             cubic-mile{
-@@ -779,7 +779,7 @@ lv{
-                 dnam{"litri"}
-                 one{"{0} litrs"}
-                 other{"{0} litri"}
--                per{"uz litru"}
-+                per{"{0} uz litru"}
-                 zero{"{0} litri"}
-             }
-             megaliter{
-diff --git a/source/data/unit/my.txt b/source/data/unit/my.txt
-index 0a24ab4..07b5dcc 100755
---- a/source/data/unit/my.txt
-+++ b/source/data/unit/my.txt
-@@ -386,7 +386,7 @@ my{
-             pound{
-                 dnam{"ပေါင်"}
-                 other{"{0}ပေါင်"}
--                per{"တစ်ပေါင်လျှင်"}
-+                per{"{0}တစ်ပေါင်လျှင်"}
-             }
-             ton{
-                 dnam{"တန်"}
-@@ -512,7 +512,7 @@ my{
-             cubic-meter{
-                 dnam{"ကုဗမီတာ"}
-                 other{"{0}ကုဗမီတာ"}
--                per{"တစ်ကုဗစင်တီမီတာလျှင်"}
-+                per{"{0}တစ်ကုဗမီတာလျှင်"}
-             }
-             cubic-mile{
-                 dnam{"ကုဗမိုင်"}
-diff --git a/source/data/unit/pt_PT.txt b/source/data/unit/pt_PT.txt
-index a3b82c7..3108255 100755
---- a/source/data/unit/pt_PT.txt
-+++ b/source/data/unit/pt_PT.txt
-@@ -110,7 +110,7 @@ pt_PT{
-         }
-         volume{
-             cubic-centimeter{
--                per{"por centímetro cúbico"}
-+                per{"{0} por centímetro cúbico"}
-             }
-             cubic-kilometer{
-                 dnam{"quilómetros cúbicos"}
-diff --git a/source/data/unit/ro.txt b/source/data/unit/ro.txt
-index a31e161..e74eaa8 100755
---- a/source/data/unit/ro.txt
-+++ b/source/data/unit/ro.txt
-@@ -504,7 +504,7 @@ ro{
-                 few{"{0} grame"}
-                 one{"{0} gram"}
-                 other{"{0} de grame"}
--                per{"per gram"}
-+                per{"{0} per gram"}
-             }
-             kilogram{
-                 dnam{"kilograme"}
-diff --git a/source/data/unit/si.txt b/source/data/unit/si.txt
-index 1f4da6b..47fae31 100755
---- a/source/data/unit/si.txt
-+++ b/source/data/unit/si.txt
-@@ -230,7 +230,7 @@ si{
-                 dnam{"තත්පර"}
-                 one{"තත්පර {0}"}
-                 other{"තත්පර {0}"}
--                per{"තත්පරයට"}
-+                per{"තත්පරයට {0}"}
-             }
-             week{
-                 dnam{"සති"}
-diff --git a/source/data/unit/sr.txt b/source/data/unit/sr.txt
-index a00f8aa..2d09960 100755
---- a/source/data/unit/sr.txt
-+++ b/source/data/unit/sr.txt
-@@ -772,7 +772,7 @@ sr{
-                 few{"{0} литра"}
-                 one{"{0} литар"}
-                 other{"{0} литара"}
--                per{"по литри"}
-+                per{"{0} по литри"}
-             }
-             megaliter{
-                 dnam{"мегалитри"}
-diff --git a/source/data/unit/sr_Latn.txt b/source/data/unit/sr_Latn.txt
-index 82830ae..0fe7b9e 100755
---- a/source/data/unit/sr_Latn.txt
-+++ b/source/data/unit/sr_Latn.txt
-@@ -773,7 +773,7 @@ sr_Latn{
-                 few{"{0} litra"}
-                 one{"{0} litar"}
-                 other{"{0} litara"}
--                per{"po litri"}
-+                per{"{0} po litri"}
-             }
-             megaliter{
-                 dnam{"megalitri"}
-diff --git a/source/data/unit/tr.txt b/source/data/unit/tr.txt
-index 8f5c1f0..39411a9 100755
---- a/source/data/unit/tr.txt
-+++ b/source/data/unit/tr.txt
-@@ -68,7 +68,7 @@ tr{
-                 dnam{"santimetrekare"}
-                 one{"{0} santimetrekare"}
-                 other{"{0} santimetrekare"}
--                per{"/santimetrekare"}
-+                per{"{0}/santimetrekare"}
-             }
-             square-foot{
-                 dnam{"fit kare"}
-@@ -90,7 +90,7 @@ tr{
-                 dnam{"metrekare"}
-                 one{"{0} metrekare"}
-                 other{"{0} metrekare"}
--                per{"/metrekare"}
-+                per{"{0}/metrekare"}
-             }
-             square-mile{
-                 dnam{"mil kare"}
-@@ -642,7 +642,7 @@ tr{
-                 dnam{"metreküp"}
-                 one{"{0} metreküp"}
-                 other{"{0} metreküp"}
--                per{"/metreküp"}
-+                per{"{0}/metreküp"}
-             }
-             cubic-mile{
-                 dnam{"mil küp"}
-diff --git a/source/i18n/Makefile.in b/source/i18n/Makefile.in
-index 53dd5fd..b59b2ce 100644
---- a/source/i18n/Makefile.in
-+++ b/source/i18n/Makefile.in
-@@ -88,7 +88,7 @@ regexcmp.o rematch.o repattrn.o regexst.o regextxt.o regeximp.o uregex.o uregexc
- ulocdata.o measfmt.o currfmt.o curramt.o currunit.o measure.o utmscale.o \
- csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o csrsbcs.o csrucode.o csrutf8.o inputext.o \
- wintzimpl.o windtfmt.o winnmfmt.o basictz.o dtrule.o rbtz.o tzrule.o tztrans.o vtzone.o zonemeta.o \
--upluralrules.o plurrule.o plurfmt.o selfmt.o dtitvfmt.o dtitvinf.o udateintervalformat.o \
-+standardplural.o upluralrules.o plurrule.o plurfmt.o selfmt.o dtitvfmt.o dtitvinf.o udateintervalformat.o \
- tmunit.o tmutamt.o tmutfmt.o currpinf.o \
- uspoof.o uspoof_impl.o uspoof_build.o uspoof_conf.o uspoof_wsconf.o decfmtst.o smpdtfst.o \
- ztrans.o zrule.o vzone.o fphdlimp.o fpositer.o ufieldpositer.o locdspnm.o \
-diff --git a/source/i18n/i18n.vcxproj b/source/i18n/i18n.vcxproj
-index 8c586a9..b036d95 100644
---- a/source/i18n/i18n.vcxproj
-+++ b/source/i18n/i18n.vcxproj
-@@ -364,6 +364,7 @@
-     <ClCompile Include="scriptset.cpp" />
-     <ClCompile Include="smpdtfmt.cpp" />
-     <ClCompile Include="smpdtfst.cpp" />
-+    <ClCompile Include="standardplural.cpp" />
-     <ClCompile Include="taiwncal.cpp" />
-     <ClCompile Include="timezone.cpp" />
-     <ClCompile Include="tmunit.cpp" />
-@@ -1278,6 +1279,7 @@
-       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
-     </CustomBuild>
-     <ClInclude Include="smpdtfst.h" />
-+    <ClInclude Include="standardplural.h" />
-     <ClInclude Include="taiwncal.h" />
-     <CustomBuild Include="unicode\timezone.h">
-       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy "%(FullPath)" ..\..\include\unicode
-diff --git a/source/i18n/i18n.vcxproj.filters b/source/i18n/i18n.vcxproj.filters
-index 35c3fe2..9164f5a 100644
---- a/source/i18n/i18n.vcxproj.filters
-+++ b/source/i18n/i18n.vcxproj.filters
-@@ -282,6 +282,9 @@
-     <ClCompile Include="smpdtfst.cpp">
-       <Filter>formatting</Filter>
-     </ClCompile>
-+    <ClCompile Include="standardplural.cpp">
-+      <Filter>formatting</Filter>
-+    </ClCompile>
-     <ClCompile Include="taiwncal.cpp">
-       <Filter>formatting</Filter>
-     </ClCompile>
-@@ -787,6 +790,9 @@
-     <ClInclude Include="smpdtfst.h">
-       <Filter>formatting</Filter>
-     </ClInclude>
-+    <ClInclude Include="standardplural.h">
-+      <Filter>formatting</Filter>
-+    </ClInclude>
-     <ClInclude Include="taiwncal.h">
-       <Filter>formatting</Filter>
-     </ClInclude>
-diff --git a/source/i18n/measfmt.cpp b/source/i18n/measfmt.cpp
-index 6f8851c..1af72e9 100644
---- a/source/i18n/measfmt.cpp
-+++ b/source/i18n/measfmt.cpp
-@@ -17,6 +17,7 @@
- #include "unicode/numfmt.h"
- #include "currfmt.h"
- #include "unicode/localpointer.h"
-+#include "resource.h"
- #include "simplepatternformatter.h"
- #include "quantityformatter.h"
- #include "unicode/plurrule.h"
-@@ -35,6 +36,7 @@
- 
- #include "sharednumberformat.h"
- #include "sharedpluralrules.h"
-+#include "standardplural.h"
- #include "unifiedcache.h"
- 
- #define MEAS_UNIT_COUNT 129
-@@ -76,20 +78,53 @@ private:
-     NumericDateFormatters &operator=(const NumericDateFormatters &other);
- };
- 
--// Instances contain all MeasureFormat specific data for a particular locale.
--// This data is cached. It is never copied, but is shared via shared pointers.
-+static UMeasureFormatWidth getRegularWidth(UMeasureFormatWidth width) {
-+    if (width >= WIDTH_INDEX_COUNT) {
-+        return UMEASFMT_WIDTH_NARROW;
-+    }
-+    return width;
-+}
-+
-+/**
-+ * Instances contain all MeasureFormat specific data for a particular locale.
-+ * This data is cached. It is never copied, but is shared via shared pointers.
-+ *
-+ * Note: We might change the cache data to have an array[WIDTH_INDEX_COUNT] of
-+ * complete sets of unit & per patterns,
-+ * to correspond to the resource data and its aliases.
-+ *
-+ * TODO: Maybe store more sparsely in general, with pointers rather than potentially-empty objects.
-+ */
- class MeasureFormatCacheData : public SharedObject {
- public:
--    QuantityFormatter formatters[MEAS_UNIT_COUNT][WIDTH_INDEX_COUNT];
-+    static const int32_t PER_UNIT_INDEX = StandardPlural::COUNT;
-+    static const int32_t PATTERN_COUNT = PER_UNIT_INDEX + 1;
-+
-+    /**
-+     * Redirection data from root-bundle, top-level sideways aliases.
-+     * - UMEASFMT_WIDTH_COUNT: initial value, just fall back to root
-+     * - UMEASFMT_WIDTH_WIDE/SHORT/NARROW: sideways alias for missing data
-+     */
-+    UMeasureFormatWidth widthFallback[WIDTH_INDEX_COUNT];
-+    /** Measure unit -> format width -> array of patterns ("{0} meters") (plurals + PER_UNIT_INDEX) */
-+    SimplePatternFormatter *patterns[MEAS_UNIT_COUNT][WIDTH_INDEX_COUNT][PATTERN_COUNT];
-     SimplePatternFormatter perFormatters[WIDTH_INDEX_COUNT];
- 
-     MeasureFormatCacheData();
-+    virtual ~MeasureFormatCacheData();
-+
-+    UBool hasPerFormatter(int32_t width) const {
-+        // TODO: Create a more obvious way to test if the per-formatter has been set?
-+        // Use pointers, check for NULL? Or add an isValid() method?
-+        return perFormatters[width].getPlaceholderCount() == 2;
-+    }
-+
-     void adoptCurrencyFormat(int32_t widthIndex, NumberFormat *nfToAdopt) {
-         delete currencyFormats[widthIndex];
-         currencyFormats[widthIndex] = nfToAdopt;
-     }
--    const NumberFormat *getCurrencyFormat(int32_t widthIndex) const {
--        return currencyFormats[widthIndex];
-+    const NumberFormat *getCurrencyFormat(UMeasureFormatWidth width) const {
-+        return currencyFormats[getRegularWidth(width)];
-     }
-     void adoptIntegerFormat(NumberFormat *nfToAdopt) {
-         delete integerFormat;
-@@ -105,36 +140,23 @@ public:
-     const NumericDateFormatters *getNumericDateFormatters() const {
-         return numericDateFormatters;
-     }
--    void adoptPerUnitFormatter(
--            int32_t index,
--            int32_t widthIndex,
--            SimplePatternFormatter *formatterToAdopt) {
--        delete perUnitFormatters[index][widthIndex];
--        perUnitFormatters[index][widthIndex] = formatterToAdopt;
--    }
--    const SimplePatternFormatter * const * getPerUnitFormattersByIndex(
--            int32_t index) const {
--        return perUnitFormatters[index];
--    }
--    virtual ~MeasureFormatCacheData();
-+
- private:
-     NumberFormat *currencyFormats[WIDTH_INDEX_COUNT];
-     NumberFormat *integerFormat;
-     NumericDateFormatters *numericDateFormatters;
--    SimplePatternFormatter *perUnitFormatters[MEAS_UNIT_COUNT][WIDTH_INDEX_COUNT];
-     MeasureFormatCacheData(const MeasureFormatCacheData &other);
-     MeasureFormatCacheData &operator=(const MeasureFormatCacheData &other);
- };
- 
- MeasureFormatCacheData::MeasureFormatCacheData() {
-+    for (int32_t i = 0; i < WIDTH_INDEX_COUNT; ++i) {
-+        widthFallback[i] = UMEASFMT_WIDTH_COUNT;
-+    }
-     for (int32_t i = 0; i < UPRV_LENGTHOF(currencyFormats); ++i) {
-         currencyFormats[i] = NULL;
-     }
--    for (int32_t i = 0; i < MEAS_UNIT_COUNT; ++i) {
--        for (int32_t j = 0; j < WIDTH_INDEX_COUNT; ++j) {
--            perUnitFormatters[i][j] = NULL;
--        }
--    }
-+    uprv_memset(patterns, 0, sizeof(patterns));
-     integerFormat = NULL;
-     numericDateFormatters = NULL;
- }
-@@ -145,20 +167,15 @@ MeasureFormatCacheData::~MeasureFormatCacheData() {
-     }
-     for (int32_t i = 0; i < MEAS_UNIT_COUNT; ++i) {
-         for (int32_t j = 0; j < WIDTH_INDEX_COUNT; ++j) {
--            delete perUnitFormatters[i][j];
-+            for (int32_t k = 0; k < PATTERN_COUNT; ++k) {
-+                delete patterns[i][j][k];
-+            }
-         }
-     }
-     delete integerFormat;
-     delete numericDateFormatters;
- }
- 
--static int32_t widthToIndex(UMeasureFormatWidth width) {
--    if (width >= WIDTH_INDEX_COUNT) {
--        return WIDTH_INDEX_COUNT - 1;
--    }
--    return width;
--}
--
- static UBool isCurrency(const MeasureUnit &unit) {
-     return (uprv_strcmp(unit.getType(), "currency") == 0);
- }
-@@ -176,118 +193,219 @@ static UBool getString(
-     return TRUE;
- }
- 
-+namespace {
- 
--static UBool loadMeasureUnitData(
--        const UResourceBundle *resource,
--        MeasureFormatCacheData &cacheData,
--        UErrorCode &status) {
--    if (U_FAILURE(status)) {
--        return FALSE;
--    }
--    static const char *widthPath[] = {"units", "unitsShort", "unitsNarrow"};
--    MeasureUnit *units = NULL;
--    int32_t unitCount = MeasureUnit::getAvailable(units, 0, status);
--    while (status == U_BUFFER_OVERFLOW_ERROR) {
--        status = U_ZERO_ERROR;
--        delete [] units;
--        units = new MeasureUnit[unitCount];
--        if (units == NULL) {
--            status = U_MEMORY_ALLOCATION_ERROR;
--            return FALSE;
--        }
--        unitCount = MeasureUnit::getAvailable(units, unitCount, status);
--    }
--    for (int32_t currentWidth = 0; currentWidth < WIDTH_INDEX_COUNT; ++currentWidth) {
--        // Be sure status is clear since next resource bundle lookup may fail.
--        if (U_FAILURE(status)) {
--            delete [] units;
--            return FALSE;
--        }
--        LocalUResourceBundlePointer widthBundle(
--                ures_getByKeyWithFallback(
--                        resource, widthPath[currentWidth], NULL, &status));
--        // We may not have data for all widths in all locales.
--        if (status == U_MISSING_RESOURCE_ERROR) {
--            status = U_ZERO_ERROR;
--            continue;
-+static const UChar g_LOCALE_units[] = {
-+    0x2F, 0x4C, 0x4F, 0x43, 0x41, 0x4C, 0x45, 0x2F,
-+    0x75, 0x6E, 0x69, 0x74, 0x73
-+};
-+static const UChar gShort[] = { 0x53, 0x68, 0x6F, 0x72, 0x74 };
-+static const UChar gNarrow[] = { 0x4E, 0x61, 0x72, 0x72, 0x6F, 0x77 };
-+
-+/**
-+ * Sink for enumerating all of the measurement unit display names.
-+ * Contains inner sink classes, each one corresponding to a type of resource table.
-+ * The outer sink handles the top-level units, unitsNarrow, and unitsShort tables.
-+ *
-+ * More specific bundles (en_GB) are enumerated before their parents (en_001, en, root):
-+ * Only store a value if it is still missing, that is, it has not been overridden.
-+ *
-+ * C++: Each inner sink class has a reference to the main outer sink.
-+ * Java: Use non-static inner classes instead.
-+ */
-+struct UnitDataSink : public ResourceTableSink {
-+    /**
-+     * Sink for a table of display patterns. For example,
-+     * unitsShort/duration/hour contains other{"{0} hrs"}.
-+     */
-+    struct UnitPatternSink : public ResourceTableSink {
-+        UnitPatternSink(UnitDataSink &sink) : outer(sink) {}
-+        ~UnitPatternSink();
-+
-+        void setFormatterIfAbsent(int32_t index, const ResourceValue &value,
-+                                  int32_t minPlaceholders, UErrorCode &errorCode) {
-+            SimplePatternFormatter **patterns =
-+                &outer.cacheData.patterns[outer.unitIndex][outer.width][0];
-+            if (U_SUCCESS(errorCode) && patterns[index] == NULL) {
-+                patterns[index] = new SimplePatternFormatter(
-+                       value.getUnicodeString(errorCode), minPlaceholders, 1, errorCode);
-+                if (U_SUCCESS(errorCode) && patterns[index] == NULL) {
-+                    errorCode = U_MEMORY_ALLOCATION_ERROR;
-+                }
-+            }
-         }
--        {
--            // compound per
--            LocalUResourceBundlePointer compoundPerBundle(
--                    ures_getByKeyWithFallback(
--                            widthBundle.getAlias(),
--                            "compound/per",
--                            NULL,
--                            &status));
--            if (U_FAILURE(status)) {
--                status = U_ZERO_ERROR;
-+
-+        virtual void put(const char *key, const ResourceValue &value, UErrorCode &errorCode) {
-+            if (U_FAILURE(errorCode)) { return; }
-+            if (uprv_strcmp(key, "dnam") == 0) {
-+                // Skip the unit display name for now.
-+            } else if (uprv_strcmp(key, "per") == 0) {
-+                // For example, "{0}/h".
-+                setFormatterIfAbsent(MeasureFormatCacheData::PER_UNIT_INDEX, value, 1, errorCode);
-             } else {
--                UnicodeString perPattern;
--                getString(compoundPerBundle.getAlias(), perPattern, status);
--                cacheData.perFormatters[currentWidth].compile(perPattern, status);
-+                // The key must be one of the plural form strings. For example:
-+                // one{"{0} hr"}
-+                // other{"{0} hrs"}
-+                setFormatterIfAbsent(StandardPlural::indexFromString(key, errorCode), value, 0,
-+                                     errorCode);
-             }
-         }
--        for (int32_t currentUnit = 0; currentUnit < unitCount; ++currentUnit) {
--            // Be sure status is clear next lookup may fail.
--            if (U_FAILURE(status)) {
--                delete [] units;
--                return FALSE;
-+        UnitDataSink &outer;
-+    } patternSink;
-+
-+    /**
-+     * Sink for a table of per-unit tables. For example,
-+     * unitsShort/duration contains tables for duration-unit subtypes day & hour.
-+     */
-+    struct UnitSubtypeSink : public ResourceTableSink {
-+        UnitSubtypeSink(UnitDataSink &sink) : outer(sink) {}
-+        ~UnitSubtypeSink();
-+        virtual ResourceTableSink *getOrCreateTableSink(
-+                const char *key, int32_t /* initialSize */, UErrorCode &errorCode) {
-+            if (U_FAILURE(errorCode)) { return NULL; }
-+            outer.unitIndex = MeasureUnit::internalGetIndexForTypeAndSubtype(outer.type, key);
-+            if (outer.unitIndex >= 0) {
-+                return &outer.patternSink;
-             }
--            if (isCurrency(units[currentUnit])) {
--                continue;
-+            return NULL;
-+        }
-+        UnitDataSink &outer;
-+    } subtypeSink;
-+
-+    /**
-+     * Sink for compound x-per-y display pattern. For example,
-+     * unitsShort/compound/per may be "{0}/{1}".
-+     */
-+    struct UnitCompoundSink : public ResourceTableSink {
-+        UnitCompoundSink(UnitDataSink &sink) : outer(sink) {}
-+        ~UnitCompoundSink();
-+        virtual void put(const char *key, const ResourceValue &value, UErrorCode &errorCode) {
-+            if (U_SUCCESS(errorCode) && uprv_strcmp(key, "per") == 0) {
-+                outer.cacheData.perFormatters[outer.width].
-+                        compileMinMaxPlaceholders(value.getUnicodeString(errorCode), 2, 2, errorCode);
-             }
--            CharString pathBuffer;
--            pathBuffer.append(units[currentUnit].getType(), status)
--                    .append("/", status)
--                    .append(units[currentUnit].getSubtype(), status);
--            LocalUResourceBundlePointer unitBundle(
--                    ures_getByKeyWithFallback(
--                            widthBundle.getAlias(),
--                            pathBuffer.data(),
--                            NULL,
--                            &status));
--            // We may not have data for all units in all widths
--            if (status == U_MISSING_RESOURCE_ERROR) {
--                status = U_ZERO_ERROR;
--                continue;
-+        }
-+        UnitDataSink &outer;
-+    } compoundSink;
-+
-+    /**
-+     * Sink for a table of unit type tables. For example,
-+     * unitsShort contains tables for area & duration.
-+     * It also contains a table for the compound/per pattern.
-+     */
-+    struct UnitTypeSink : public ResourceTableSink {
-+        UnitTypeSink(UnitDataSink &sink) : outer(sink) {}
-+        ~UnitTypeSink();
-+        virtual ResourceTableSink *getOrCreateTableSink(
-+                const char *key, int32_t /* initialSize */, UErrorCode &errorCode) {
-+            if (U_FAILURE(errorCode)) { return NULL; }
-+            if (uprv_strcmp(key, "currency") == 0) {
-+                // Skip.
-+            } else if (uprv_strcmp(key, "compound") == 0) {
-+                if (!outer.cacheData.hasPerFormatter(outer.width)) {
-+                    return &outer.compoundSink;
-+                }
-+            } else {
-+                outer.type = key;
-+                return &outer.subtypeSink;
-             }
--            // We must have the unit bundle to proceed
--            if (U_FAILURE(status)) {
--                delete [] units;
--                return FALSE;
-+            return NULL;
-+        }
-+        UnitDataSink &outer;
-+    } typeSink;
-+
-+    UnitDataSink(MeasureFormatCacheData &outputData)
-+            : patternSink(*this), subtypeSink(*this), compoundSink(*this), typeSink(*this),
-+              cacheData(outputData),
-+              width(UMEASFMT_WIDTH_COUNT), type(NULL), unitIndex(0) {}
-+    ~UnitDataSink();
-+    virtual void put(const char *key, const ResourceValue &value, UErrorCode &errorCode) {
-+        // Handle aliases like
-+        // units:alias{"/LOCALE/unitsShort"}
-+        // which should only occur in the root bundle.
-+        if (U_FAILURE(errorCode) || value.getType() != URES_ALIAS) { return; }
-+        UMeasureFormatWidth sourceWidth = widthFromKey(key);
-+        if (sourceWidth == UMEASFMT_WIDTH_COUNT) {
-+            // Alias from something we don't care about.
-+            return;
-+        }
-+        UMeasureFormatWidth targetWidth = widthFromAlias(value, errorCode);
-+        if (targetWidth == UMEASFMT_WIDTH_COUNT) {
-+            // We do not recognize what to fall back to.
-+            errorCode = U_INVALID_FORMAT_ERROR;
-+            return;
-+        }
-+        // Check that we do not fall back to another fallback.
-+        if (cacheData.widthFallback[targetWidth] != UMEASFMT_WIDTH_COUNT) {
-+            errorCode = U_INVALID_FORMAT_ERROR;
-+            return;
-+        }
-+        cacheData.widthFallback[sourceWidth] = targetWidth;
-+    }
-+    virtual ResourceTableSink *getOrCreateTableSink(
-+            const char *key, int32_t /* initialSize */, UErrorCode &errorCode) {
-+        if (U_SUCCESS(errorCode) && (width = widthFromKey(key)) != UMEASFMT_WIDTH_COUNT) {
-+            return &typeSink;
-+        }
-+        return NULL;
-+    }
-+
-+    static UMeasureFormatWidth widthFromKey(const char *key) {
-+        if (uprv_strncmp(key, "units", 5) == 0) {
-+            key += 5;
-+            if (*key == 0) {
-+                return UMEASFMT_WIDTH_WIDE;
-+            } else if (uprv_strcmp(key, "Short") == 0) {
-+                return UMEASFMT_WIDTH_SHORT;
-+            } else if (uprv_strcmp(key, "Narrow") == 0) {
-+                return UMEASFMT_WIDTH_NARROW;
-             }
--            int32_t size = ures_getSize(unitBundle.getAlias());
--            for (int32_t plIndex = 0; plIndex < size; ++plIndex) {
--                LocalUResourceBundlePointer pluralBundle(
--                        ures_getByIndex(
--                                unitBundle.getAlias(), plIndex, NULL, &status));
--                if (U_FAILURE(status)) {
--                    delete [] units;
--                    return FALSE;
--                }
--                const char * resKey = ures_getKey(pluralBundle.getAlias());
--                if (uprv_strcmp(resKey, "dnam") == 0) {
--                    continue; // skip display name & per pattern (new in CLDR 26 / ICU 54) for now, not part of plurals
--                }
--                if (uprv_strcmp(resKey, "per") == 0) {
--                    UnicodeString perPattern;
--                    getString(pluralBundle.getAlias(), perPattern, status);
--                    cacheData.adoptPerUnitFormatter(
--                            units[currentUnit].getIndex(),
--                            currentWidth, 
--                            new SimplePatternFormatter(perPattern));
--                    continue;
--                }
--                UnicodeString rawPattern;
--                getString(pluralBundle.getAlias(), rawPattern, status);
--                cacheData.formatters[units[currentUnit].getIndex()][currentWidth].add(
--                        resKey,
--                        rawPattern,
--                        status);
-+        }
-+        return UMEASFMT_WIDTH_COUNT;
-+    }
-+
-+    static UMeasureFormatWidth widthFromAlias(const ResourceValue &value, UErrorCode &errorCode) {
-+        int32_t length;
-+        const UChar *s = value.getAliasString(length, errorCode);
-+        // For example: "/LOCALE/unitsShort"
-+        if (U_SUCCESS(errorCode) && length >= 13 && u_memcmp(s, g_LOCALE_units, 13) == 0) {
-+            s += 13;
-+            length -= 13;
-+            if (*s == 0) {
-+                return UMEASFMT_WIDTH_WIDE;
-+            } else if (u_strCompare(s, length, gShort, 5, FALSE) == 0) {
-+                return UMEASFMT_WIDTH_SHORT;
-+            } else if (u_strCompare(s, length, gNarrow, 6, FALSE) == 0) {
-+                return UMEASFMT_WIDTH_NARROW;
-             }
-         }
-+        return UMEASFMT_WIDTH_COUNT;
-     }
--    delete [] units;
-+
-+    // Output data.
-+    MeasureFormatCacheData &cacheData;
-+
-+    // Path to current data.
-+    UMeasureFormatWidth width;
-+    const char *type;
-+    int32_t unitIndex;
-+};
-+
-+// Virtual destructors must be defined out of line.
-+UnitDataSink::UnitPatternSink::~UnitPatternSink() {}
-+UnitDataSink::UnitSubtypeSink::~UnitSubtypeSink() {}
-+UnitDataSink::UnitCompoundSink::~UnitCompoundSink() {}
-+UnitDataSink::UnitTypeSink::~UnitTypeSink() {}
-+UnitDataSink::~UnitDataSink() {}
-+
-+}  // namespace
-+
-+static UBool loadMeasureUnitData(
-+        const UResourceBundle *resource,
-+        MeasureFormatCacheData &cacheData,
-+        UErrorCode &status) {
-+    UnitDataSink sink(cacheData);
-+    ures_getAllTableItemsWithFallback(resource, "", sink, status);
-     return U_SUCCESS(status);
- }
- 
-@@ -486,7 +604,9 @@ MeasureFormat::MeasureFormat(const MeasureFormat &other) :
-     cache->addRef();
-     numberFormat->addRef();
-     pluralRules->addRef();
--    listFormatter = new ListFormatter(*other.listFormatter);
-+    if (other.listFormatter != NULL) {
-+        listFormatter = new ListFormatter(*other.listFormatter);
-+    }
- }
- 
- MeasureFormat &MeasureFormat::operator=(const MeasureFormat &other) {
-@@ -499,7 +619,11 @@ MeasureFormat &MeasureFormat::operator=(const MeasureFormat &other) {
-     SharedObject::copyPtr(other.pluralRules, pluralRules);
-     width = other.width;
-     delete listFormatter;
--    listFormatter = new ListFormatter(*other.listFormatter);
-+    if (other.listFormatter != NULL) {
-+        listFormatter = new ListFormatter(*other.listFormatter);
-+    } else {
-+        listFormatter = NULL;
-+    }
-     return *this;
- }
- 
-@@ -714,7 +838,7 @@ void MeasureFormat::initMeasureFormat(
-     delete listFormatter;
-     listFormatter = ListFormatter::createInstance(
-             locale,
--            listStyles[widthToIndex(width)],
-+            listStyles[getRegularWidth(width)],
-             status);
- }
- 
-@@ -771,24 +895,17 @@ UnicodeString &MeasureFormat::formatMeasure(
-     if (isCurrency(amtUnit)) {
-         UChar isoCode[4];
-         u_charsToUChars(amtUnit.getSubtype(), isoCode, 4);
--        return cache->getCurrencyFormat(widthToIndex(width))->format(
-+        return cache->getCurrencyFormat(width)->format(
-                 new CurrencyAmount(amtNumber, isoCode, status),
-                 appendTo,
-                 pos,
-                 status);
-     }
--    const QuantityFormatter *quantityFormatter = getQuantityFormatter(
--            amtUnit.getIndex(), widthToIndex(width), status);
--    if (U_FAILURE(status)) {
--        return appendTo;
--    }
--    return quantityFormatter->format(
--            amtNumber,
--            nf,
--            **pluralRules,
--            appendTo,
--            pos,
--            status);
-+    UnicodeString formattedNumber;
-+    StandardPlural::Form pluralForm = QuantityFormatter::selectPlural(
-+            amtNumber, nf, **pluralRules, formattedNumber, pos, status);
-+    const SimplePatternFormatter *formatter = getPluralFormatter(amtUnit, width, pluralForm, status);
-+    return QuantityFormatter::format(*formatter, formattedNumber, appendTo, pos, status);
- }
- 
- // Formats hours-minutes-seconds as 5:37:23 or similar.
-@@ -920,64 +1037,69 @@ UnicodeString &MeasureFormat::formatNumeric(
-     return appendTo;
- }
- 
--const QuantityFormatter *MeasureFormat::getQuantityFormatter(
--        int32_t index,
--        int32_t widthIndex,
--        UErrorCode &status) const {
--    if (U_FAILURE(status)) {
--        return NULL;
-+const SimplePatternFormatter *MeasureFormat::getFormatterOrNull(
-+        const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index) const {
-+    width = getRegularWidth(width);
-+    SimplePatternFormatter *const (*unitPatterns)[MeasureFormatCacheData::PATTERN_COUNT] =
-+            &cache->patterns[unit.getIndex()][0];
-+    if (unitPatterns[width][index] != NULL) {
-+        return unitPatterns[width][index];
-     }
--    const QuantityFormatter *formatters =
--            cache->formatters[index];
--    if (formatters[widthIndex].isValid()) {
--        return &formatters[widthIndex];
-+    int32_t fallbackWidth = cache->widthFallback[width];
-+    if (fallbackWidth != UMEASFMT_WIDTH_COUNT && unitPatterns[fallbackWidth][index] != NULL) {
-+        return unitPatterns[fallbackWidth][index];
-     }
--    if (formatters[UMEASFMT_WIDTH_SHORT].isValid()) {
--        return &formatters[UMEASFMT_WIDTH_SHORT];
--    }
--    status = U_MISSING_RESOURCE_ERROR;
-     return NULL;
- }
- 
--const SimplePatternFormatter *MeasureFormat::getPerUnitFormatter(
--        int32_t index,
--        int32_t widthIndex) const {
--    const SimplePatternFormatter * const * perUnitFormatters =
--            cache->getPerUnitFormattersByIndex(index);
--    if (perUnitFormatters[widthIndex] != NULL) {
--        return perUnitFormatters[widthIndex];
-+const SimplePatternFormatter *MeasureFormat::getFormatter(
-+        const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index,
-+        UErrorCode &errorCode) const {
-+    if (U_FAILURE(errorCode)) {
-+        return NULL;
-     }
--    if (perUnitFormatters[UMEASFMT_WIDTH_SHORT] != NULL) {
--        return perUnitFormatters[UMEASFMT_WIDTH_SHORT];
-+    const SimplePatternFormatter *pattern = getFormatterOrNull(unit, width, index);
-+    if (pattern == NULL) {
-+        errorCode = U_MISSING_RESOURCE_ERROR;
-     }
--    return NULL;
-+    return pattern;
-+}
-+
-+const SimplePatternFormatter *MeasureFormat::getPluralFormatter(
-+        const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index,
-+        UErrorCode &errorCode) const {
-+    if (U_FAILURE(errorCode)) {
-+        return NULL;
-+    }
-+    if (index != StandardPlural::OTHER) {
-+        const SimplePatternFormatter *pattern = getFormatterOrNull(unit, width, index);
-+        if (pattern != NULL) {
-+            return pattern;
-+        }
-+    }
-+    return getFormatter(unit, width, StandardPlural::OTHER, errorCode);
- }
- 
- const SimplePatternFormatter *MeasureFormat::getPerFormatter(
--        int32_t widthIndex,
-+        UMeasureFormatWidth width,
-         UErrorCode &status) const {
-     if (U_FAILURE(status)) {
-         return NULL;
-     }
-+    width = getRegularWidth(width);
-     const SimplePatternFormatter * perFormatters = cache->perFormatters;
--    
--    if (perFormatters[widthIndex].getPlaceholderCount() == 2) {
--        return &perFormatters[widthIndex];
-+    if (perFormatters[width].getPlaceholderCount() == 2) {
-+        return &perFormatters[width];
-     }
--    if (perFormatters[UMEASFMT_WIDTH_SHORT].getPlaceholderCount() == 2) {
--        return &perFormatters[UMEASFMT_WIDTH_SHORT];
-+    int32_t fallbackWidth = cache->widthFallback[width];
-+    if (fallbackWidth != UMEASFMT_WIDTH_COUNT &&
-+            perFormatters[fallbackWidth].getPlaceholderCount() == 2) {
-+        return &perFormatters[fallbackWidth];
-     }
-     status = U_MISSING_RESOURCE_ERROR;
-     return NULL;
- }
- 
--static void getPerUnitString(
--        const QuantityFormatter &formatter,
--        UnicodeString &result) {
--    result = formatter.getByVariant("one")->getPatternWithNoPlaceholders();
--    result.trim();
--}
--
- int32_t MeasureFormat::withPerUnitAndAppend(
-         const UnicodeString &formatted,
-         const MeasureUnit &perUnit,
-@@ -987,8 +1109,8 @@ int32_t MeasureFormat::withPerUnitAndAppend(
-     if (U_FAILURE(status)) {
-         return offset;
-     }
--    const SimplePatternFormatter *perUnitFormatter = getPerUnitFormatter(
--            perUnit.getIndex(), widthToIndex(width));
-+    const SimplePatternFormatter *perUnitFormatter =
-+            getFormatterOrNull(perUnit, width, MeasureFormatCacheData::PER_UNIT_INDEX);
-     if (perUnitFormatter != NULL) {
-         const UnicodeString *params[] = {&formatted};
-         perUnitFormatter->formatAndAppend(
-@@ -1000,15 +1122,14 @@ int32_t MeasureFormat::withPerUnitAndAppend(
-                 status);
-         return offset;
-     }
--    const SimplePatternFormatter *perFormatter = getPerFormatter(
--            widthToIndex(width), status);
--    const QuantityFormatter *qf = getQuantityFormatter(
--            perUnit.getIndex(), widthToIndex(width), status);
-+    const SimplePatternFormatter *perFormatter = getPerFormatter(width, status);
-+    const SimplePatternFormatter *pattern =
-+            getPluralFormatter(perUnit, width, StandardPlural::ONE, status);
-     if (U_FAILURE(status)) {
-         return offset;
-     }
--    UnicodeString perUnitString;
--    getPerUnitString(*qf, perUnitString);
-+    UnicodeString perUnitString = pattern->getPatternWithNoPlaceholders();
-+    perUnitString.trim();
-     const UnicodeString *params[] = {&formatted, &perUnitString};
-     perFormatter->formatAndAppend(
-             params,
-diff --git a/source/i18n/measunit.cpp b/source/i18n/measunit.cpp
-index 35a56df..40b9547 100644
---- a/source/i18n/measunit.cpp
-+++ b/source/i18n/measunit.cpp
-@@ -1152,6 +1152,18 @@ int32_t MeasureUnit::getIndexCount() {
-     return gIndexes[UPRV_LENGTHOF(gIndexes) - 1];
- }
- 
-+int32_t MeasureUnit::internalGetIndexForTypeAndSubtype(const char *type, const char *subtype) {
-+    int32_t t = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), type);
-+    if (t < 0) {
-+        return t;
-+    }
-+    int32_t st = binarySearch(gSubTypes, gOffsets[t], gOffsets[t + 1], subtype);
-+    if (st < 0) {
-+        return st;
-+    }
-+    return gIndexes[t] + st - gOffsets[t];
-+}
-+
- MeasureUnit *MeasureUnit::resolveUnitPerUnit(
-         const MeasureUnit &unit, const MeasureUnit &perUnit) {
-     int32_t unitOffset = unit.getOffset();
-diff --git a/source/i18n/plurrule_impl.h b/source/i18n/plurrule_impl.h
-index 7416fa7..785600b 100644
---- a/source/i18n/plurrule_impl.h
-+++ b/source/i18n/plurrule_impl.h
-@@ -10,18 +10,19 @@
- */
- 
- 
--#ifndef PLURRULE_IMPLE
--#define PLURRULE_IMPLE
-+#ifndef PLURRULE_IMPL
-+#define PLURRULE_IMPL
- 
- // Internal definitions for the PluralRules implementation.
- 
-+#include "unicode/utypes.h"
-+
- #if !UCONFIG_NO_FORMATTING
- 
- #include "unicode/format.h"
- #include "unicode/locid.h"
- #include "unicode/parseerr.h"
- #include "unicode/ures.h"
--#include "unicode/utypes.h"
- #include "uvector.h"
- #include "hash.h"
- 
-diff --git a/source/i18n/quantityformatter.cpp b/source/i18n/quantityformatter.cpp
-index ed80b38..97c4c80 100644
---- a/source/i18n/quantityformatter.cpp
-+++ b/source/i18n/quantityformatter.cpp
-@@ -5,6 +5,11 @@
- ******************************************************************************
- * quantityformatter.cpp
- */
-+
-+#include "unicode/utypes.h"
-+
-+#if !UCONFIG_NO_FORMATTING
-+
- #include "quantityformatter.h"
- #include "simplepatternformatter.h"
- #include "uassert.h"
-@@ -15,26 +20,12 @@
- #include "charstr.h"
- #include "unicode/fmtable.h"
- #include "unicode/fieldpos.h"
-+#include "standardplural.h"
- #include "visibledigits.h"
--
--#if !UCONFIG_NO_FORMATTING
-+#include "uassert.h"
- 
- U_NAMESPACE_BEGIN
- 
--// other must always be first.
--static const char * const gPluralForms[] = {
--        "other", "zero", "one", "two", "few", "many"};
--
--static int32_t getPluralIndex(const char *pluralForm) {
--    int32_t len = UPRV_LENGTHOF(gPluralForms);
--    for (int32_t i = 0; i < len; ++i) {
--        if (uprv_strcmp(pluralForm, gPluralForms[i]) == 0) {
--            return i;
--        }
--    }
--    return -1;
--}
--
- QuantityFormatter::QuantityFormatter() {
-     for (int32_t i = 0; i < UPRV_LENGTHOF(formatters); ++i) {
-         formatters[i] = NULL;
-@@ -80,112 +71,126 @@ void QuantityFormatter::reset() {
-     }
- }
- 
--UBool QuantityFormatter::add(
-+UBool QuantityFormatter::addIfAbsent(
-         const char *variant,
-         const UnicodeString &rawPattern,
-         UErrorCode &status) {
-+    int32_t pluralIndex = StandardPlural::indexFromString(variant, status);
-     if (U_FAILURE(status)) {
-         return FALSE;
-     }
--    int32_t pluralIndex = getPluralIndex(variant);
--    if (pluralIndex == -1) {
--        status = U_ILLEGAL_ARGUMENT_ERROR;
--        return FALSE;
-+    if (formatters[pluralIndex] != NULL) {
-+        return TRUE;
-     }
--    SimplePatternFormatter *newFmt =
--            new SimplePatternFormatter(rawPattern);
-+    SimplePatternFormatter *newFmt = new SimplePatternFormatter(rawPattern, 0, 1, status);
-     if (newFmt == NULL) {
-         status = U_MEMORY_ALLOCATION_ERROR;
-         return FALSE;
-     }
--    if (newFmt->getPlaceholderCount() > 1) {
-+    if (U_FAILURE(status)) {
-         delete newFmt;
--        status = U_ILLEGAL_ARGUMENT_ERROR;
-         return FALSE;
-     }
--    delete formatters[pluralIndex];
-     formatters[pluralIndex] = newFmt;
-     return TRUE;
- }
- 
- UBool QuantityFormatter::isValid() const {
--    return formatters[0] != NULL;
-+    return formatters[StandardPlural::OTHER] != NULL;
- }
- 
- const SimplePatternFormatter *QuantityFormatter::getByVariant(
-         const char *variant) const {
--    int32_t pluralIndex = getPluralIndex(variant);
--    if (pluralIndex == -1) {
--        pluralIndex = 0;
--    }
-+    U_ASSERT(isValid());
-+    int32_t pluralIndex = StandardPlural::indexOrOtherIndexFromString(variant);
-     const SimplePatternFormatter *pattern = formatters[pluralIndex];
-     if (pattern == NULL) {
--        pattern = formatters[0];
-+        pattern = formatters[StandardPlural::OTHER];
-     }
-     return pattern;
- }
- 
- UnicodeString &QuantityFormatter::format(
--            const Formattable& quantity,
-+            const Formattable &number,
-             const NumberFormat &fmt,
-             const PluralRules &rules,
-             UnicodeString &appendTo,
-             FieldPosition &pos,
-             UErrorCode &status) const {
-+    UnicodeString formattedNumber;
-+    StandardPlural::Form p = selectPlural(number, fmt, rules, formattedNumber, pos, status);
-     if (U_FAILURE(status)) {
-         return appendTo;
-     }
--    UnicodeString count;
-+    const SimplePatternFormatter *pattern = formatters[p];
-+    if (pattern == NULL) {
-+        pattern = formatters[StandardPlural::OTHER];
-+        if (pattern == NULL) {
-+            status = U_INVALID_STATE_ERROR;
-+            return appendTo;
-+        }
-+    }
-+    return format(*pattern, formattedNumber, appendTo, pos, status);
-+}
-+
-+// The following methods live here so that class PluralRules does not depend on number formatting,
-+// and the SimplePatternFormatter does not depend on FieldPosition.
-+
-+StandardPlural::Form QuantityFormatter::selectPlural(
-+            const Formattable &number,
-+            const NumberFormat &fmt,
-+            const PluralRules &rules,
-+            UnicodeString &formattedNumber,
-+            FieldPosition &pos,
-+            UErrorCode &status) {
-+    if (U_FAILURE(status)) {
-+        return StandardPlural::OTHER;
-+    }
-+    UnicodeString pluralKeyword;
-     VisibleDigitsWithExponent digits;
-     const DecimalFormat *decFmt = dynamic_cast<const DecimalFormat *>(&fmt);
-     if (decFmt != NULL) {
--        decFmt->initVisibleDigitsWithExponent(quantity, digits, status);
-+        decFmt->initVisibleDigitsWithExponent(number, digits, status);
-         if (U_FAILURE(status)) {
--            return appendTo;
-+            return StandardPlural::OTHER;
-         }
--        count = rules.select(digits);
-+        pluralKeyword = rules.select(digits);
-+        decFmt->format(digits, formattedNumber, pos, status);
-     } else {
--        if (quantity.getType() == Formattable::kDouble) {
--            count = rules.select(quantity.getDouble());
--        } else if (quantity.getType() == Formattable::kLong) {
--            count = rules.select(quantity.getLong());
--        } else if (quantity.getType() == Formattable::kInt64) {
--            count = rules.select((double) quantity.getInt64());
-+        if (number.getType() == Formattable::kDouble) {
-+            pluralKeyword = rules.select(number.getDouble());
-+        } else if (number.getType() == Formattable::kLong) {
-+            pluralKeyword = rules.select(number.getLong());
-+        } else if (number.getType() == Formattable::kInt64) {
-+            pluralKeyword = rules.select((double) number.getInt64());
-         } else {
-             status = U_ILLEGAL_ARGUMENT_ERROR;
--            return appendTo;
-+            return StandardPlural::OTHER;
-         }
-+        fmt.format(number, formattedNumber, pos, status);
-     }
--    CharString buffer;
--    buffer.appendInvariantChars(count, status);
-+    return StandardPlural::orOtherFromString(pluralKeyword);
-+}
-+
-+UnicodeString &QuantityFormatter::format(
-+            const SimplePatternFormatter &pattern,
-+            const UnicodeString &value,
-+            UnicodeString &appendTo,
-+            FieldPosition &pos,
-+            UErrorCode &status) {
-     if (U_FAILURE(status)) {
-         return appendTo;
-     }
--    const SimplePatternFormatter *pattern = getByVariant(buffer.data());
--    if (pattern == NULL) {
--        status = U_INVALID_STATE_ERROR;
--        return appendTo;
--    }
--    UnicodeString formattedNumber;
--    FieldPosition fpos(pos.getField());
--    if (decFmt != NULL) {
--        decFmt->format(digits, formattedNumber, fpos, status);
--    } else {
--        fmt.format(quantity, formattedNumber, fpos, status);
--    }
--    const UnicodeString *params[1] = {&formattedNumber};
--    int32_t offsets[1];
--    pattern->formatAndAppend(
--            params,
--            UPRV_LENGTHOF(params),
--            appendTo,
--            offsets,
--            UPRV_LENGTHOF(offsets),
--            status);
--    if (offsets[0] != -1) {
--        if (fpos.getBeginIndex() != 0 || fpos.getEndIndex() != 0) {
--            pos.setBeginIndex(fpos.getBeginIndex() + offsets[0]);
--            pos.setEndIndex(fpos.getEndIndex() + offsets[0]);
-+    const UnicodeString *param = &value;
-+    int32_t offset;
-+    pattern.formatAndAppend(&param, 1, appendTo, &offset, 1, status);
-+    if (pos.getBeginIndex() != 0 || pos.getEndIndex() != 0) {
-+        if (offset >= 0) {
-+            pos.setBeginIndex(pos.getBeginIndex() + offset);
-+            pos.setEndIndex(pos.getEndIndex() + offset);
-+        } else {
-+            pos.setBeginIndex(0);
-+            pos.setEndIndex(0);
-         }
-     }
-     return appendTo;
-diff --git a/source/i18n/quantityformatter.h b/source/i18n/quantityformatter.h
-index 4e19085..6052d33 100644
---- a/source/i18n/quantityformatter.h
-+++ b/source/i18n/quantityformatter.h
-@@ -1,6 +1,6 @@
- /*
- ******************************************************************************
--* Copyright (C) 2014, International Business Machines
-+* Copyright (C) 2014-2015, International Business Machines
- * Corporation and others.  All Rights Reserved.
- ******************************************************************************
- * quantityformatter.h
-@@ -14,6 +14,8 @@
- 
- #if !UCONFIG_NO_FORMATTING
- 
-+#include "standardplural.h"
-+
- U_NAMESPACE_BEGIN
- 
- class SimplePatternFormatter;
-@@ -64,17 +66,14 @@ public:
-     void reset();
- 
-     /**
--      * Adds a plural variant.
--      *
--      * @param variant "zero", "one", "two", "few", "many", "other"
--      * @param rawPattern the pattern for the variant e.g "{0} meters"
--      * @param status any error returned here.
--      * @return TRUE on success; FALSE if status was set to a non zero error.
--      */
--    UBool add(
--            const char *variant,
--            const UnicodeString &rawPattern,
--            UErrorCode &status);
-+     * Adds a plural variant if there is none yet for the plural form.
-+     *
-+     * @param variant "zero", "one", "two", "few", "many", "other"
-+     * @param rawPattern the pattern for the variant e.g "{0} meters"
-+     * @param status any error returned here.
-+     * @return TRUE on success; FALSE if status was set to a non zero error.
-+     */
-+    UBool addIfAbsent(const char *variant, const UnicodeString &rawPattern, UErrorCode &status);
- 
-     /**
-      * returns TRUE if this object has at least the "other" variant.
-@@ -89,27 +88,48 @@ public:
-     const SimplePatternFormatter *getByVariant(const char *variant) const;
- 
-     /**
--     * Formats a quantity with this object appending the result to appendTo.
-+     * Formats a number with this object appending the result to appendTo.
-      * At least the "other" variant must be added to this object for this
-      * method to work.
-      * 
--     * @param quantity the single quantity.
--     * @param fmt formats the quantity
-+     * @param number the single number.
-+     * @param fmt formats the number
-      * @param rules computes the plural variant to use.
-      * @param appendTo result appended here.
-      * @param status any error returned here.
-      * @return appendTo
-      */
-     UnicodeString &format(
--            const Formattable &quantity,
-+            const Formattable &number,
-             const NumberFormat &fmt,
-             const PluralRules &rules,
-             UnicodeString &appendTo,
-             FieldPosition &pos,
-             UErrorCode &status) const;
- 
-+    /**
-+     * Selects the standard plural form for the number/formatter/rules.
-+     */
-+    static StandardPlural::Form selectPlural(
-+            const Formattable &number,
-+            const NumberFormat &fmt,
-+            const PluralRules &rules,
-+            UnicodeString &formattedNumber,
-+            FieldPosition &pos,
-+            UErrorCode &status);
-+
-+    /**
-+     * Formats the pattern with the value and adjusts the FieldPosition.
-+     */
-+    static UnicodeString &format(
-+            const SimplePatternFormatter &pattern,
-+            const UnicodeString &value,
-+            UnicodeString &appendTo,
-+            FieldPosition &pos,
-+            UErrorCode &status);
-+
- private:
--    SimplePatternFormatter *formatters[6];
-+    SimplePatternFormatter *formatters[StandardPlural::COUNT];
- };
- 
- U_NAMESPACE_END
-diff --git a/source/i18n/reldatefmt.cpp b/source/i18n/reldatefmt.cpp
-index b4bfe42..4d8ca06 100644
---- a/source/i18n/reldatefmt.cpp
-+++ b/source/i18n/reldatefmt.cpp
-@@ -1,10 +1,10 @@
- /*
- ******************************************************************************
--* Copyright (C) 2014, International Business Machines Corporation and         
--* others. All Rights Reserved.                                                
-+* Copyright (C) 2014-2015, International Business Machines Corporation and
-+* others. All Rights Reserved.
- ******************************************************************************
--*                                                                             
--* File RELDATEFMT.CPP                                                             
-+*
-+* File reldatefmt.cpp
- ******************************************************************************
- */
- 
-@@ -186,7 +186,7 @@ static void initQuantityFormatter(
-         if (!getString(pluralBundle.getAlias(), rawPattern, status)) {
-             return;
-         }
--        if (!formatter.add(
-+        if (!formatter.addIfAbsent(
-                 ures_getKey(pluralBundle.getAlias()),
-                 rawPattern,
-                 status)) {
-diff --git a/source/i18n/standardplural.cpp b/source/i18n/standardplural.cpp
-new file mode 100644
-index 0000000..456e939
---- /dev/null
-+++ b/source/i18n/standardplural.cpp
-@@ -0,0 +1,127 @@
-+/*
-+ *******************************************************************************
-+ * Copyright (C) 2015, International Business Machines Corporation
-+ * and others. All Rights Reserved.
-+ *******************************************************************************
-+ * standardplural.cpp
-+ *
-+ * created on: 2015dec14
-+ * created by: Markus W. Scherer
-+ */
-+
-+#include "unicode/utypes.h"
-+
-+#if !UCONFIG_NO_FORMATTING
-+
-+#include "unicode/unistr.h"
-+#include "cstring.h"
-+#include "standardplural.h"
-+#include "uassert.h"
-+
-+U_NAMESPACE_BEGIN
-+
-+static const char *gKeywords[StandardPlural::COUNT] = {
-+    "zero", "one", "two", "few", "many", "other"
-+};
-+
-+const char *StandardPlural::getKeyword(Form p) {
-+    U_ASSERT(ZERO <= p && p < COUNT);
-+    return gKeywords[p];
-+}
-+
-+int32_t StandardPlural::indexOrNegativeFromString(const char *keyword) {
-+    switch (*keyword++) {
-+    case 'f':
-+        if (uprv_strcmp(keyword, "ew") == 0) {
-+            return FEW;
-+        }
-+        break;
-+    case 'm':
-+        if (uprv_strcmp(keyword, "any") == 0) {
-+            return MANY;
-+        }
-+        break;
-+    case 'o':
-+        if (uprv_strcmp(keyword, "ther") == 0) {
-+            return OTHER;
-+        } else if (uprv_strcmp(keyword, "ne") == 0) {
-+            return ONE;
-+        }
-+        break;
-+    case 't':
-+        if (uprv_strcmp(keyword, "wo") == 0) {
-+            return TWO;
-+        }
-+        break;
-+    case 'z':
-+        if (uprv_strcmp(keyword, "ero") == 0) {
-+            return ZERO;
-+        }
-+        break;
-+    default:
-+        break;
-+    }
-+    return -1;
-+}
-+
-+static const UChar gZero[] = { 0x7A, 0x65, 0x72, 0x6F };
-+static const UChar gOne[] = { 0x6F, 0x6E, 0x65 };
-+static const UChar gTwo[] = { 0x74, 0x77, 0x6F };
-+static const UChar gFew[] = { 0x66, 0x65, 0x77 };
-+static const UChar gMany[] = { 0x6D, 0x61, 0x6E, 0x79 };
-+static const UChar gOther[] = { 0x6F, 0x74, 0x68, 0x65, 0x72 };
-+
-+int32_t StandardPlural::indexOrNegativeFromString(const UnicodeString &keyword) {
-+    switch (keyword.length()) {
-+    case 3:
-+        if (keyword.compare(gOne, 3) == 0) {
-+            return ONE;
-+        } else if (keyword.compare(gTwo, 3) == 0) {
-+            return TWO;
-+        } else if (keyword.compare(gFew, 3) == 0) {
-+            return FEW;
-+        }
-+        break;
-+    case 4:
-+        if (keyword.compare(gMany, 4) == 0) {
-+            return MANY;
-+        } else if (keyword.compare(gZero, 4) == 0) {
-+            return ZERO;
-+        }
-+        break;
-+    case 5:
-+        if (keyword.compare(gOther, 5) == 0) {
-+            return OTHER;
-+        }
-+        break;
-+    default:
-+        break;
-+    }
-+    return -1;
-+}
-+
-+int32_t StandardPlural::indexFromString(const char *keyword, UErrorCode &errorCode) {
-+    if (U_FAILURE(errorCode)) { return OTHER; }
-+    int32_t i = indexOrNegativeFromString(keyword);
-+    if (i >= 0) {
-+        return i;
-+    } else {
-+        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
-+        return OTHER;
-+    }
-+}
-+
-+int32_t StandardPlural::indexFromString(const UnicodeString &keyword, UErrorCode &errorCode) {
-+    if (U_FAILURE(errorCode)) { return OTHER; }
-+    int32_t i = indexOrNegativeFromString(keyword);
-+    if (i >= 0) {
-+        return i;
-+    } else {
-+        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
-+        return OTHER;
-+    }
-+}
-+
-+U_NAMESPACE_END
-+
-+#endif  // !UCONFIG_NO_FORMATTING
-diff --git a/source/i18n/standardplural.h b/source/i18n/standardplural.h
-new file mode 100644
-index 0000000..8a8de21
---- /dev/null
-+++ b/source/i18n/standardplural.h
-@@ -0,0 +1,130 @@
-+/*
-+ *******************************************************************************
-+ * Copyright (C) 2015, International Business Machines Corporation
-+ * and others. All Rights Reserved.
-+ *******************************************************************************
-+ * standardplural.h
-+ *
-+ * created on: 2015dec14
-+ * created by: Markus W. Scherer
-+ */
-+
-+#ifndef __STANDARDPLURAL_H__
-+#define __STANDARDPLURAL_H__
-+
-+#include "unicode/utypes.h"
-+
-+#if !UCONFIG_NO_FORMATTING
-+
-+U_NAMESPACE_BEGIN
-+
-+class UnicodeString;
-+
-+/**
-+ * Standard CLDR plural form/category constants.
-+ * See http://www.unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules
-+ */
-+class U_I18N_API StandardPlural {
-+public:
-+    enum Form {
-+        ZERO,
-+        ONE,
-+        TWO,
-+        FEW,
-+        MANY,
-+        OTHER,
-+        COUNT
-+    };
-+
-+    /**
-+     * @return the lowercase CLDR keyword string for the plural form
-+     */
-+    static const char *getKeyword(Form p);
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the plural form corresponding to the keyword, or OTHER
-+     */
-+    static Form orOtherFromString(const char *keyword) {
-+        return static_cast<Form>(indexOrOtherIndexFromString(keyword));
-+    }
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the plural form corresponding to the keyword, or OTHER
-+     */
-+    static Form orOtherFromString(const UnicodeString &keyword) {
-+        return static_cast<Form>(indexOrOtherIndexFromString(keyword));
-+    }
-+
-+    /**
-+     * Sets U_ILLEGAL_ARGUMENT_ERROR if the keyword is not a plural form.
-+     *
-+     * @param keyword for example "few" or "other"
-+     * @return the plural form corresponding to the keyword
-+     */
-+    static Form fromString(const char *keyword, UErrorCode &errorCode) {
-+        return static_cast<Form>(indexFromString(keyword, errorCode));
-+    }
-+
-+    /**
-+     * Sets U_ILLEGAL_ARGUMENT_ERROR if the keyword is not a plural form.
-+     *
-+     * @param keyword for example "few" or "other"
-+     * @return the plural form corresponding to the keyword
-+     */
-+    static Form fromString(const UnicodeString &keyword, UErrorCode &errorCode) {
-+        return static_cast<Form>(indexFromString(keyword, errorCode));
-+    }
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword, or a negative value
-+     */
-+    static int32_t indexOrNegativeFromString(const char *keyword);
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword, or a negative value
-+     */
-+    static int32_t indexOrNegativeFromString(const UnicodeString &keyword);
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword, or OTHER
-+     */
-+    static int32_t indexOrOtherIndexFromString(const char *keyword) {
-+        int32_t i = indexOrNegativeFromString(keyword);
-+        return i >= 0 ? i : OTHER;
-+    }
-+
-+    /**
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword, or OTHER
-+     */
-+    static int32_t indexOrOtherIndexFromString(const UnicodeString &keyword) {
-+        int32_t i = indexOrNegativeFromString(keyword);
-+        return i >= 0 ? i : OTHER;
-+    }
-+
-+    /**
-+     * Sets U_ILLEGAL_ARGUMENT_ERROR if the keyword is not a plural form.
-+     *
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword
-+     */
-+    static int32_t indexFromString(const char *keyword, UErrorCode &errorCode);
-+
-+    /**
-+     * Sets U_ILLEGAL_ARGUMENT_ERROR if the keyword is not a plural form.
-+     *
-+     * @param keyword for example "few" or "other"
-+     * @return the index of the plural form corresponding to the keyword
-+     */
-+    static int32_t indexFromString(const UnicodeString &keyword, UErrorCode &errorCode);
-+};
-+
-+U_NAMESPACE_END
-+
-+#endif  // !UCONFIG_NO_FORMATTING
-+#endif  // __STANDARDPLURAL_H__
-diff --git a/source/i18n/unicode/measfmt.h b/source/i18n/unicode/measfmt.h
-index 61a1e86..ee05427 100644
---- a/source/i18n/unicode/measfmt.h
-+++ b/source/i18n/unicode/measfmt.h
-@@ -327,17 +327,19 @@ class U_I18N_API MeasureFormat : public Format {
-     // shared across instances.
-     ListFormatter *listFormatter;
- 
--    const QuantityFormatter *getQuantityFormatter(
--            int32_t index,
--            int32_t widthIndex,
--            UErrorCode &status) const;
-+    const SimplePatternFormatter *getFormatterOrNull(
-+            const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index) const;
-+
-+    const SimplePatternFormatter *getFormatter(
-+            const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index,
-+            UErrorCode &errorCode) const;
- 
--    const SimplePatternFormatter *getPerUnitFormatter(
--            int32_t index,
--            int32_t widthIndex) const;
-+    const SimplePatternFormatter *getPluralFormatter(
-+            const MeasureUnit &unit, UMeasureFormatWidth width, int32_t index,
-+            UErrorCode &errorCode) const;
- 
-     const SimplePatternFormatter *getPerFormatter(
--            int32_t widthIndex,
-+            UMeasureFormatWidth width,
-             UErrorCode &status) const;
- 
-     int32_t withPerUnitAndAppend(
-diff --git a/source/i18n/unicode/measunit.h b/source/i18n/unicode/measunit.h
-index 196832f..dc7c970 100644
---- a/source/i18n/unicode/measunit.h
-+++ b/source/i18n/unicode/measunit.h
-@@ -185,6 +185,14 @@ class U_I18N_API MeasureUnit: public UObject {
- 
-     /**
-      * ICU use only.
-+     * @return the unit.getIndex() of the unit which has this unit.getType() and unit.getSubtype(),
-+     *         or a negative value if there is no such unit
-+     * @internal
-+     */
-+    static int32_t internalGetIndexForTypeAndSubtype(const char *type, const char *subtype);
-+
-+    /**
-+     * ICU use only.
-      * @internal
-      */
-     static MeasureUnit *resolveUnitPerUnit(
-diff --git a/source/test/depstest/dependencies.txt b/source/test/depstest/dependencies.txt
-index d77c828..89ad39c 100644
---- a/source/test/depstest/dependencies.txt
-+++ b/source/test/depstest/dependencies.txt
-@@ -559,7 +559,7 @@ group: ures_cnv  # ures_openU, path is a Unicode string
-     conversion resourcebundle
- 
- group: resourcebundle
--    resbund.o uresbund.o uresdata.o
-+    resource.o resbund.o uresbund.o uresdata.o
-     locavailable.o
-     # uloc_tag.c and uloc_keytype.cpp convert between
-     # old ICU/LDML/CLDR locale IDs and newer BCP 47 IDs.
-@@ -893,7 +893,7 @@ group: format
-     resourcebundle parsepos uvector32
- 
- group: pluralrules
--    plurrule.o upluralrules.o
-+    standardplural.o plurrule.o upluralrules.o
-   deps
-     digitlist  # plurals depend on decimals
-     patternprops resourcebundle uvector uvector32 unifiedcache
-diff --git a/source/test/intltest/itformat.cpp b/source/test/intltest/itformat.cpp
-index f9f815d..deae7ba 100644
---- a/source/test/intltest/itformat.cpp
-+++ b/source/test/intltest/itformat.cpp
-@@ -53,7 +53,6 @@
- #include "plurfmts.h"       // PluralFormatTest
- #include "selfmts.h"       // PluralFormatTest
- #include "dtifmtts.h"       // DateIntervalFormatTest
--#include "tufmtts.h"        // TimeUnitTest
- #include "locnmtst.h"       // LocaleDisplayNamesTest
- #include "dcfmtest.h"       // DecimalFormatTest
- #include "listformattertest.h"  // ListFormatterTest
-@@ -64,6 +63,7 @@ extern IntlTest *createGenderInfoTest();
- #if !UCONFIG_NO_BREAK_ITERATION
- extern IntlTest *createRelativeDateTimeFormatterTest();
- #endif
-+extern IntlTest *createTimeUnitTest();
- extern IntlTest *createMeasureFormatTest();
- extern IntlTest *createNumberFormatSpecificationTest();
- extern IntlTest *createScientificNumberFormatterTest();
-@@ -139,7 +139,15 @@ void IntlTestFormat::runIndexedTest( int32_t index, UBool exec, const char* &nam
-         TESTCLASS(35,PluralRulesTest);
-         TESTCLASS(36,PluralFormatTest);
-         TESTCLASS(37,DateIntervalFormatTest);
--        TESTCLASS(38,TimeUnitTest);
-+        case 38:
-+          name = "TimeUnitTest";
-+          if (exec) {
-+            logln("TimeUnitTest test---");
-+            logln((UnicodeString)"");
-+            LocalPointer<IntlTest> test(createTimeUnitTest());
-+            callTest(*test, par);
-+          }
-+          break;
-         TESTCLASS(39,SelectFormatTest);
-         TESTCLASS(40,LocaleDisplayNamesTest);
- #if !UCONFIG_NO_REGULAR_EXPRESSIONS
-diff --git a/source/test/intltest/itutil.cpp b/source/test/intltest/itutil.cpp
-index 49655fa..4c4f604 100644
---- a/source/test/intltest/itutil.cpp
-+++ b/source/test/intltest/itutil.cpp
-@@ -124,6 +124,7 @@ void IntlTestUtilities::runIndexedTest( int32_t index, UBool exec, const char* &
-                 LocalPointer<IntlTest> test(createQuantityFormatterTest());
-                 callTest(*test, par);
-             }
-+            break;
-         case 23: 
-             name = "PluralMapTest"; 
-             if (exec) { 
-diff --git a/source/test/intltest/measfmttest.cpp b/source/test/intltest/measfmttest.cpp
-index f2f2d09..4732f61 100644
---- a/source/test/intltest/measfmttest.cpp
-+++ b/source/test/intltest/measfmttest.cpp
-@@ -61,6 +61,7 @@ private:
-     void TestGroupingSeparator();
-     void TestDoubleZero();
-     void TestUnitPerUnitResolution();
-+    void TestIndividualPluralFallback();
-     void verifyFormat(
-         const char *description,
-         const MeasureFormat &fmt,
-@@ -141,6 +142,7 @@ void MeasureFormatTest::runIndexedTest(
-     TESTCASE_AUTO(TestGroupingSeparator);
-     TESTCASE_AUTO(TestDoubleZero);
-     TESTCASE_AUTO(TestUnitPerUnitResolution);
-+    TESTCASE_AUTO(TestIndividualPluralFallback);
-     TESTCASE_AUTO_END;
- }
- 
-@@ -1588,6 +1590,19 @@ void MeasureFormatTest::TestUnitPerUnitResolution() {
-     assertEquals("", "50 psi", actual);
- }
- 
-+void MeasureFormatTest::TestIndividualPluralFallback() {
-+    // See ticket #11986 "incomplete fallback in MeasureFormat".
-+    // In CLDR 28, fr_CA temperature-generic/short has only the "one" form,
-+    // and falls back to fr for the "other" form.
-+    IcuTestErrorCode errorCode(*this, "TestIndividualPluralFallback");
-+    MeasureFormat mf("fr_CA", UMEASFMT_WIDTH_SHORT, errorCode);
-+    LocalPointer<Measure> twoDeg(
-+        new Measure(2, MeasureUnit::createGenericTemperature(errorCode), errorCode), errorCode);
-+    UnicodeString expected = UNICODE_STRING_SIMPLE("2\\u00B0").unescape();
-+    UnicodeString actual;
-+    assertEquals("2 deg temp in fr_CA", expected, mf.format(twoDeg.orphan(), actual, errorCode));
-+}
-+
- void MeasureFormatTest::verifyFieldPosition(
-         const char *description,
-         const MeasureFormat &fmt,
-diff --git a/source/test/intltest/quantityformattertest.cpp b/source/test/intltest/quantityformattertest.cpp
-index 0167075..c641de2 100644
---- a/source/test/intltest/quantityformattertest.cpp
-+++ b/source/test/intltest/quantityformattertest.cpp
-@@ -1,7 +1,7 @@
- /*
- *******************************************************************************
--* Copyright (C) 2014, International Business Machines Corporation and         *
--* others. All Rights Reserved.                                                *
-+* Copyright (C) 2014-2015, International Business Machines Corporation and
-+* others. All Rights Reserved.
- *******************************************************************************
- *
- * File QUANTITYFORMATTERTEST.CPP
-@@ -37,25 +37,25 @@ void QuantityFormatterTest::TestBasic() {
-     QuantityFormatter fmt;
-     assertFalse(
-             "adding bad variant",
--            fmt.add("a bad variant", "{0} pounds", status));
-+            fmt.addIfAbsent("a bad variant", "{0} pounds", status));
-     assertEquals("adding bad variant status", U_ILLEGAL_ARGUMENT_ERROR, status);
-     status = U_ZERO_ERROR;
-     assertFalse(
-             "Adding bad pattern",
--            fmt.add("other", "{0} {1} too many placeholders", status));
-+            fmt.addIfAbsent("other", "{0} {1} too many placeholders", status));
-     assertEquals("adding bad pattern status", U_ILLEGAL_ARGUMENT_ERROR, status);
-     status = U_ZERO_ERROR;
-     assertFalse("isValid with no patterns", fmt.isValid());
-     assertTrue(
-             "Adding good pattern with no placeholders",
--            fmt.add("other", "no placeholder", status));
-+            fmt.addIfAbsent("zero", "no placeholder", status));
-     assertTrue(
-             "Adding good pattern",
--            fmt.add("other", "{0} pounds", status));
-+            fmt.addIfAbsent("other", "{0} pounds", status));
-     assertTrue("isValid with other", fmt.isValid());
-     assertTrue(
-             "Adding good pattern",
--            fmt.add("one", "{0} pound", status));
-+            fmt.addIfAbsent("one", "{0} pound", status));
- 
-     assertEquals(
-             "getByVariant",
-diff --git a/source/test/intltest/reldatefmttest.cpp b/source/test/intltest/reldatefmttest.cpp
-index 91f5483..f11adb6 100644
---- a/source/test/intltest/reldatefmttest.cpp
-+++ b/source/test/intltest/reldatefmttest.cpp
-@@ -231,9 +231,9 @@ static WithQuantityExpected kSerbian[] = {
- };
- 
- static WithQuantityExpected kSerbianNarrow[] = {
--        {0.0, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 0 \\u043c\\u0435\\u0441."},
--        {1.2, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 1,2 \\u043c\\u0435\\u0441."},
--        {21.0, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 21 \\u043c\\u0435\\u0441."}
-+        {0.0, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 0 \\u043c."},
-+        {1.2, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 1,2 \\u043c."},
-+        {21.0, UDAT_DIRECTION_NEXT, UDAT_RELATIVE_MONTHS, "\\u0437\\u0430 21 \\u043c."}
- };
- 
- static WithoutQuantityExpected kEnglishNoQuantity[] = {
-diff --git a/source/test/intltest/tufmtts.cpp b/source/test/intltest/tufmtts.cpp
-index 8ed9b9f..6b1ed5a 100644
---- a/source/test/intltest/tufmtts.cpp
-+++ b/source/test/intltest/tufmtts.cpp
-@@ -1,5 +1,5 @@
- /********************************************************************
-- * Copyright (c) 2008-2014, International Business Machines Corporation and
-+ * Copyright (c) 2008-2015, International Business Machines Corporation and
-  * others. All Rights Reserved.
-  ********************************************************************/
- 
-@@ -11,9 +11,9 @@
- #include "unicode/tmunit.h"
- #include "unicode/tmutamt.h"
- #include "unicode/tmutfmt.h"
--#include "tufmtts.h"
--#include "cmemory.h"
- #include "unicode/ustring.h"
-+#include "cmemory.h"
-+#include "intltest.h"
- 
- //TODO: put as compilation flag
- //#define TUFMTTS_DEBUG 1
-@@ -22,16 +22,60 @@
- #include <iostream>
- #endif
- 
--void TimeUnitTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ ) {
--    if (exec) logln("TestSuite TimeUnitTest");
--    switch (index) {
--        TESTCASE(0, testBasic);
--        TESTCASE(1, testAPI);
--        TESTCASE(2, testGreekWithFallback);
--        TESTCASE(3, testGreekWithSanitization);
--        TESTCASE(4, test10219Plurals);
--        default: name = ""; break;
-+class TimeUnitTest : public IntlTest {
-+    void runIndexedTest(int32_t index, UBool exec, const char* &name, char* /*par*/ ) {
-+        if (exec) logln("TestSuite TimeUnitTest");
-+        TESTCASE_AUTO_BEGIN;
-+        TESTCASE_AUTO(testBasic);
-+        TESTCASE_AUTO(testAPI);
-+        TESTCASE_AUTO(testGreekWithFallback);
-+        TESTCASE_AUTO(testGreekWithSanitization);
-+        TESTCASE_AUTO(test10219Plurals);
-+        TESTCASE_AUTO(TestBritishShortHourFallback);
-+        TESTCASE_AUTO_END;
-     }
-+
-+public:
-+    /**
-+     * Performs basic tests
-+     **/
-+    void testBasic();
-+
-+    /**
-+     * Performs API tests
-+     **/
-+    void testAPI();
-+
-+    /**
-+     * Performs tests for Greek
-+     * This tests that requests for short unit names correctly fall back 
-+     * to long unit names for a locale where the locale data does not 
-+     * provide short unit names. As of CLDR 1.9, Greek is one such language.
-+     **/
-+    void testGreekWithFallback();
-+
-+    /**
-+     * Performs tests for Greek
-+     * This tests that if the plural count listed in time unit format does not
-+     * match those in the plural rules for the locale, those plural count in
-+     * time unit format will be ingored and subsequently, fall back will kick in
-+     * which is tested above.
-+     * Without data sanitization, setNumberFormat() would crash.
-+     * As of CLDR shiped in ICU4.8, Greek is one such language.
-+     */
-+    void testGreekWithSanitization();
-+
-+    /**
-+     * Performs unit test for ticket 10219 making sure that plurals work
-+     * correctly with rounding.
-+     */
-+    void test10219Plurals();
-+
-+    void TestBritishShortHourFallback();
-+};
-+
-+extern IntlTest *createTimeUnitTest() {
-+    return new TimeUnitTest();
- }
- 
- // This function is more lenient than equals operator as it considers integer 3 hours and
-@@ -469,4 +513,16 @@ void TimeUnitTest::test10219Plurals() {
-     }
- }
- 
-+void TimeUnitTest::TestBritishShortHourFallback() {
-+    // See ticket #11986 "incomplete fallback in MeasureFormat".
-+    UErrorCode status = U_ZERO_ERROR;
-+    Formattable oneHour(new TimeUnitAmount(1, TimeUnit::UTIMEUNIT_HOUR, status));
-+    Locale en_GB("en_GB");
-+    TimeUnitFormat formatter(en_GB, UTMUTFMT_ABBREVIATED_STYLE, status);
-+    UnicodeString result;
-+    formatter.format(oneHour, result, status);
-+    assertSuccess("TestBritishShortHourFallback()", status);
-+    assertEquals("TestBritishShortHourFallback()", UNICODE_STRING_SIMPLE("1 hr"), result);
-+}
-+
- #endif
-diff --git a/source/test/intltest/tufmtts.h b/source/test/intltest/tufmtts.h
-index cd4a485..e69de29 100644
---- a/source/test/intltest/tufmtts.h
-+++ b/source/test/intltest/tufmtts.h
-@@ -1,63 +0,0 @@
--/********************************************************************
-- * COPYRIGHT: 
-- * Copyright (c) 2008-2013, International Business Machines Corporation
-- * and others. All Rights Reserved.
-- ********************************************************************/
--
--#ifndef __INTLTESTTIMEUNITTEST__
--#define __INTLTESTTIMEUNITTEST__ 
--
--
--#if !UCONFIG_NO_FORMATTING
--
--#include "unicode/utypes.h"
--#include "unicode/locid.h"
--#include "intltest.h"
--
--/**
-- * Test basic functionality of various API functions
-- **/
--class TimeUnitTest: public IntlTest {
--    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );  
--
--public:
--    /**
--     * Performs basic tests
--     **/
--    void testBasic();
--
--    /**
--     * Performs API tests
--     **/
--    void testAPI();
--
--    /**
--     * Performs tests for Greek
--     * This tests that requests for short unit names correctly fall back 
--     * to long unit names for a locale where the locale data does not 
--     * provide short unit names. As of CLDR 1.9, Greek is one such language.
--     **/
--    void testGreekWithFallback();
--
--    /**
--     * Performs tests for Greek
--     * This tests that if the plural count listed in time unit format does not
--     * match those in the plural rules for the locale, those plural count in
--     * time unit format will be ingored and subsequently, fall back will kick in
--     * which is tested above.
--     * Without data sanitization, setNumberFormat() would crash.
--     * As of CLDR shiped in ICU4.8, Greek is one such language.
--     */
--    void testGreekWithSanitization();
--
--    /**
--     * Performs unit test for ticket 10219 making sure that plurals work
--     * correctly with rounding.
--     */
--    void test10219Plurals();
--
--};
--
--#endif /* #if !UCONFIG_NO_FORMATTING */
--
--#endif
diff --git a/patches/regexcmp.patch b/patches/regexcmp.patch
deleted file mode 100644
index 5f72732..0000000
--- a/patches/regexcmp.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/source/i18n/regexcmp.cpp b/source/i18n/regexcmp.cpp
-index e518e84..d56dce3 100644
---- a/source/i18n/regexcmp.cpp
-+++ b/source/i18n/regexcmp.cpp
-@@ -71,6 +71,7 @@ RegexCompile::RegexCompile(RegexPattern *rxp, UErrorCode &status) :
-     fMatchOpenParen   = -1;
-     fMatchCloseParen  = -1;
-     fCaptureName      = NULL;
-+    fLastSetLiteral   = U_SENTINEL;
- 
-     if (U_SUCCESS(status) && U_FAILURE(rxp->fDeferredStatus)) {
-         status = rxp->fDeferredStatus;
-@@ -1752,12 +1753,14 @@ UBool RegexCompile::doParseActions(int32_t action)
-     case doSetNamedRange:
-         // We have scanned literal-\N{CHAR NAME}.  Add the range to the set.
-         // The left character is already in the set, and is saved in fLastSetLiteral.
-+        // Nonetheless, check if |fLastSetLiteral| is indeed set because it's
-+        // not set in some edge cases.
-         // The right side needs to be picked up, the scan is at the 'N'.
-         // Lower Limit > Upper limit being an error matches both Java
-         //        and ICU UnicodeSet behavior.
-         {
-             UChar32  c = scanNamedChar();
--            if (U_SUCCESS(*fStatus) && fLastSetLiteral > c) {
-+            if (U_SUCCESS(*fStatus) && (fLastSetLiteral == U_SENTINEL || fLastSetLiteral > c)) {
-                 error(U_REGEX_INVALID_RANGE);
-             }
-             UnicodeSet *s = (UnicodeSet *)fSetStack.peek();
-@@ -1822,11 +1825,13 @@ UBool RegexCompile::doParseActions(int32_t action)
-     case doSetRange:
-         // We have scanned literal-literal.  Add the range to the set.
-         // The left character is already in the set, and is saved in fLastSetLiteral.
-+        // Nonetheless, check if |fLastSetLiteral| is indeed set because it's
-+        // not set in some edge cases.
-         // The right side is the current character.
-         // Lower Limit > Upper limit being an error matches both Java
-         //        and ICU UnicodeSet behavior.
-         {
--        if (fLastSetLiteral > fC.fChar) {
-+        if (fLastSetLiteral == U_SENTINEL || fLastSetLiteral > fC.fChar) {
-             error(U_REGEX_INVALID_RANGE);
-         }
-         UnicodeSet *s = (UnicodeSet *)fSetStack.peek();
diff --git a/patches/relative_date.patch b/patches/relative_date.patch
deleted file mode 100644
index 56dcb85..0000000
--- a/patches/relative_date.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/source/data/locales/en_GB.txt b/source/data/locales/en_GB.txt
-index a4f64fa..29e8f2a 100644
---- a/source/data/locales/en_GB.txt
-+++ b/source/data/locales/en_GB.txt
-@@ -119,9 +119,11 @@ en_GB{
-             relativeTime{
-                 future{
-                     one{"in {0} mo"}
-+                    other{"in {0} mo"}
-                 }
-                 past{
-                     one{"{0} mo ago"}
-+                    other{"{0} mo ago"}
-                 }
-             }
-         }
-@@ -143,9 +145,11 @@ en_GB{
-             relativeTime{
-                 future{
-                     one{"in {0} qtr"}
-+                    other{"in {0} qtr"}
-                 }
-                 past{
-                     one{"{0} qtr ago"}
-+                    other{"{0} qtr ago"}
-                 }
-             }
-         }
-@@ -192,6 +196,7 @@ en_GB{
-             relativeTime{
-                 future{
-                     one{"in {0} wk"}
-+                    other{"in {0} wk"}
-                 }
-                 past{
-                     one{"{0} wk ago"}
-@@ -216,9 +221,11 @@ en_GB{
-             relativeTime{
-                 future{
-                     one{"in {0} yr"}
-+                    other{"in {0} yr"}
-                 }
-                 past{
-                     one{"{0} yr ago"}
-+                    other{"{0} yr ago"}
-                 }
-             }
-         }
diff --git a/patches/utext.patch b/patches/utext.patch
deleted file mode 100644
index 7f53e6b..0000000
--- a/patches/utext.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/source/common/utext.cpp b/source/common/utext.cpp
-index 6dc31a0..0c7dd1e 100644
---- a/source/common/utext.cpp
-+++ b/source/common/utext.cpp
-@@ -1,7 +1,7 @@
- /*
- *******************************************************************************
- *
--*   Copyright (C) 2005-2015, International Business Machines
-+*   Copyright (C) 2005-2016, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- *
- *******************************************************************************
-@@ -2524,6 +2524,7 @@ ucstrTextExtract(UText *ut,
-             ut->chunkLength         = si;
-             ut->nativeIndexingLimit = si;
-             strLength               = si;
-+            limit32                 = si;
-             break;
-         }
-         U_ASSERT(di>=0); /* to ensure di never exceeds INT32_MAX, which must not happen logically */
-@@ -2545,16 +2546,21 @@ ucstrTextExtract(UText *ut,
-     // If the limit index points to a lead surrogate of a pair,
-     //   add the corresponding trail surrogate to the destination.
-     if (si>0 && U16_IS_LEAD(s[si-1]) &&
--        ((si<strLength || strLength<0)  && U16_IS_TRAIL(s[si])))
-+            ((si<strLength || strLength<0)  && U16_IS_TRAIL(s[si])))
-     {
-         if (di<destCapacity) {
-             // store only if there is space in the output buffer.
--            dest[di++] = s[si++];
-+            dest[di++] = s[si];
-         }
-+        si++;
-     }
- 
-     // Put iteration position at the point just following the extracted text
--    ut->chunkOffset = uprv_min(strLength, start32 + destCapacity);
-+    if (si <= ut->chunkNativeLimit) {
-+        ut->chunkOffset = si;
-+    } else {
-+        ucstrTextAccess(ut, si, TRUE);
-+    }
- 
-     // Add a terminating NUL if space in the buffer permits,
-     // and set the error status as required.
-diff --git a/source/test/intltest/utxttest.cpp b/source/test/intltest/utxttest.cpp
-index d8bedb6..801337c 100644
---- a/source/test/intltest/utxttest.cpp
-+++ b/source/test/intltest/utxttest.cpp
-@@ -1,6 +1,6 @@
- /********************************************************************
-  * COPYRIGHT:
-- * Copyright (c) 2005-2014, International Business Machines Corporation and
-+ * Copyright (c) 2005-2016, International Business Machines Corporation and
-  * others. All Rights Reserved.
-  ********************************************************************/
- /************************************************************************
-@@ -16,6 +16,8 @@
- #include "unicode/utf8.h"
- #include "unicode/ustring.h"
- #include "unicode/uchriter.h"
-+#include "cmemory.h"
-+#include "cstr.h"
- #include "utxttest.h"
- 
- static UBool  gFailed = FALSE;
-@@ -61,6 +63,8 @@ UTextTest::runIndexedTest(int32_t index, UBool exec,
-             if (exec) Ticket10562();  break;
-         case 6: name = "Ticket10983";
-             if (exec) Ticket10983();  break;
-+        case 7: name = "Ticket12130";
-+            if (exec) Ticket12130(); break;
-         default: name = "";          break;
-     }
- }
-@@ -1501,3 +1505,79 @@ void UTextTest::Ticket10983() {
- 
-     utext_close(ut);
- }
-+
-+// Ticket 12130 - extract on a UText wrapping a null terminated UChar * string
-+//                leaves the iteration position set incorrectly when the
-+//                actual string length is not yet known.
-+//
-+//                The test text needs to be long enough that UText defers getting the length.
-+
-+void UTextTest::Ticket12130() {
-+    UErrorCode status = U_ZERO_ERROR;
-+    
-+    const char *text8 =
-+        "Fundamentally, computers just deal with numbers. They store letters and other characters "
-+        "by assigning a number for each one. Before Unicode was invented, there were hundreds "
-+        "of different encoding systems for assigning these numbers. No single encoding could "
-+        "contain enough characters: for example, the European Union alone requires several "
-+        "different encodings to cover all its languages. Even for a single language like "
-+        "English no single encoding was adequate for all the letters, punctuation, and technical "
-+        "symbols in common use.";
-+
-+    UnicodeString str(text8);
-+    const UChar *ustr = str.getTerminatedBuffer();
-+    UText ut = UTEXT_INITIALIZER;
-+    utext_openUChars(&ut, ustr, -1, &status);
-+    UChar extractBuffer[50];
-+
-+    for (int32_t startIdx = 0; startIdx<str.length(); ++startIdx) {
-+        int32_t endIdx = startIdx + 20;
-+
-+        u_memset(extractBuffer, 0, UPRV_LENGTHOF(extractBuffer));
-+        utext_extract(&ut, startIdx, endIdx, extractBuffer, UPRV_LENGTHOF(extractBuffer), &status);
-+        if (U_FAILURE(status)) {
-+            errln("%s:%d %s", __FILE__, __LINE__, u_errorName(status));
-+            return;
-+        }
-+        int64_t ni  = utext_getNativeIndex(&ut);
-+        int64_t expectedni = startIdx + 20;
-+        if (expectedni > str.length()) {
-+            expectedni = str.length();
-+        }
-+        if (expectedni != ni) {
-+            errln("%s:%d utext_getNativeIndex() expected %d, got %d", __FILE__, __LINE__, expectedni, ni);
-+        }
-+        if (0 != str.tempSubString(startIdx, 20).compare(extractBuffer)) { 
-+            errln("%s:%d utext_extract() failed. expected \"%s\", got \"%s\"",
-+                    __FILE__, __LINE__, CStr(str.tempSubString(startIdx, 20))(), CStr(UnicodeString(extractBuffer))());
-+        }
-+    }
-+    utext_close(&ut);
-+
-+    // Similar utext extract, this time with the string length provided to the UText in advance,
-+    // and a buffer of larger than required capacity.
-+   
-+    utext_openUChars(&ut, ustr, str.length(), &status);
-+    for (int32_t startIdx = 0; startIdx<str.length(); ++startIdx) {
-+        int32_t endIdx = startIdx + 20;
-+        u_memset(extractBuffer, 0, UPRV_LENGTHOF(extractBuffer));
-+        utext_extract(&ut, startIdx, endIdx, extractBuffer, UPRV_LENGTHOF(extractBuffer), &status);
-+        if (U_FAILURE(status)) {
-+            errln("%s:%d %s", __FILE__, __LINE__, u_errorName(status));
-+            return;
-+        }
-+        int64_t ni  = utext_getNativeIndex(&ut);
-+        int64_t expectedni = startIdx + 20;
-+        if (expectedni > str.length()) {
-+            expectedni = str.length();
-+        }
-+        if (expectedni != ni) {
-+            errln("%s:%d utext_getNativeIndex() expected %d, got %d", __FILE__, __LINE__, expectedni, ni);
-+        }
-+        if (0 != str.tempSubString(startIdx, 20).compare(extractBuffer)) { 
-+            errln("%s:%d utext_extract() failed. expected \"%s\", got \"%s\"",
-+                    __FILE__, __LINE__, CStr(str.tempSubString(startIdx, 20))(), CStr(UnicodeString(extractBuffer))());
-+        }
-+    }
-+    utext_close(&ut);
-+}
-diff --git a/source/test/intltest/utxttest.h b/source/test/intltest/utxttest.h
-index 7091655..346563d 100644
---- a/source/test/intltest/utxttest.h
-+++ b/source/test/intltest/utxttest.h
-@@ -1,6 +1,6 @@
- /********************************************************************
-  * COPYRIGHT: 
-- * Copyright (c) 2005-2014, International Business Machines Corporation and
-+ * Copyright (c) 2005-2016, International Business Machines Corporation and
-  * others. All Rights Reserved.
-  ********************************************************************/
- /************************************************************************
-@@ -35,6 +35,7 @@ public:
-     void Ticket6847();
-     void Ticket10562();
-     void Ticket10983();
-+    void Ticket12130();
- 
- private:
-     struct m {                              // Map between native indices & code points.
diff --git a/patches/wordbrk.patch b/patches/wordbrk.patch
index bf1cadf..99d0b8f 100644
--- a/patches/wordbrk.patch
+++ b/patches/wordbrk.patch
@@ -1,7 +1,7 @@
-diff --git a/source/data/brkitr/word.txt b/source/data/brkitr/word.txt
+diff --git a/source/data/brkitr/rules/word.txt b/source/data/brkitr/rules/word.txt
 index f89a2fe..c74da4c 100644
---- a/source/data/brkitr/word.txt
-+++ b/source/data/brkitr/word.txt
+--- a/source/data/brkitr/rules/word.txt
++++ b/source/data/brkitr/rules/word.txt
 @@ -35,10 +35,16 @@ $Hebrew_Letter      = [\p{Word_Break = Hebrew_Letter}];
  $ALetter            = [\p{Word_Break = ALetter}];
  $Single_Quote       = [\p{Word_Break = Single_Quote}];
diff --git a/patches/xlit_badcast.patch b/patches/xlit_badcast.patch
deleted file mode 100644
index 932f728..0000000
--- a/patches/xlit_badcast.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/source/i18n/rbt_pars.cpp b/source/i18n/rbt_pars.cpp
-index 7e3678b..4cc0a6e 100644
---- a/source/i18n/rbt_pars.cpp
-+++ b/source/i18n/rbt_pars.cpp
-@@ -1102,7 +1102,7 @@ void TransliteratorParser::parseRules(const UnicodeString& rule,
- 
-             for (int32_t j = 0; j < data->variablesLength; j++) {
-                 data->variables[j] =
--                    ((UnicodeSet*)variablesVector.elementAt(j));
-+                    ((UnicodeFunctor*)variablesVector.elementAt(j));
-             }
-             
-             data->variableNames.removeAll();
diff --git a/source/common/dictbe.cpp b/source/common/dictbe.cpp
index 9395ca7..4c2ca8b 100644
--- a/source/common/dictbe.cpp
+++ b/source/common/dictbe.cpp
@@ -832,11 +832,11 @@
 static const int32_t KHMER_LOOKAHEAD = 3;
 
 // Will not combine a non-word with a preceding dictionary word longer than this
-static const int32_t KHMER_ROOT_COMBINE_THRESHOLD = 3;
+static const int32_t KHMER_ROOT_COMBINE_THRESHOLD = 10;
 
 // Will not combine a non-word that shares at least this much prefix with a
 // dictionary word, with a preceding word
-static const int32_t KHMER_PREFIX_COMBINE_THRESHOLD = 3;
+static const int32_t KHMER_PREFIX_COMBINE_THRESHOLD = 5;
 
 // Minimum word size
 static const int32_t KHMER_MIN_WORD = 2;
diff --git a/source/common/propsvec.c b/source/common/propsvec.c
index f91a155..1173e27 100644
--- a/source/common/propsvec.c
+++ b/source/common/propsvec.c
@@ -477,7 +477,7 @@
 
 U_CAPI UTrie2 * U_EXPORT2
 upvec_compactToUTrie2WithRowIndexes(UPropsVectors *pv, UErrorCode *pErrorCode) {
-    UPVecToUTrie2Context toUTrie2={ NULL };
+    UPVecToUTrie2Context toUTrie2={ NULL, 0, 0, 0};
     upvec_compact(pv, upvec_compactToUTrie2Handler, &toUTrie2, pErrorCode);
     utrie2_freeze(toUTrie2.trie, UTRIE2_16_VALUE_BITS, pErrorCode);
     if(U_FAILURE(*pErrorCode)) {
diff --git a/source/common/putil.cpp b/source/common/putil.cpp
index 58a1bb3..7418b2b 100644
--- a/source/common/putil.cpp
+++ b/source/common/putil.cpp
@@ -970,6 +970,15 @@
     return result;
 }
 #endif
+
+U_CAPI void U_EXPORT2
+uprv_tzname_clear_cache()
+{
+#if defined(CHECK_LOCALTIME_LINK) && !defined(DEBUG_SKIP_LOCALTIME_LINK)
+    gTimeZoneBufferPtr = NULL;
+#endif
+}
+
 U_CAPI const char* U_EXPORT2
 uprv_tzname(int n)
 {
diff --git a/source/common/putilimp.h b/source/common/putilimp.h
index 5de801f..55ec0ae 100644
--- a/source/common/putilimp.h
+++ b/source/common/putilimp.h
@@ -479,6 +479,12 @@
 U_INTERNAL const char* U_EXPORT2 uprv_tzname(int n);
 
 /**
+ * Reset the global tzname cache.
+ * @internal
+ */
+U_INTERNAL void uprv_tzname_clear_cache();
+
+/**
  * Get UTC (GMT) time measured in milliseconds since 0:00 on 1/1/1970.
  * This function is affected by 'faketime' and should be the bottleneck for all user-visible ICU time functions.
  * @return the UTC time measured in milliseconds
diff --git a/source/common/ucmndata.h b/source/common/ucmndata.h
index 36163c5..413a2f8 100644
--- a/source/common/ucmndata.h
+++ b/source/common/ucmndata.h
@@ -44,6 +44,20 @@
 } DataHeader;
 
 typedef struct {
+    DataHeader hdr;
+    char padding[8];
+    uint32_t count, reserved;
+    /*
+    const struct {
+    const char *const name;
+    const void *const data;
+    } toc[1];
+    */
+   int   fakeNameAndData[4];       /* TODO:  Change this header type from */
+                                   /*        pointerTOC to OffsetTOC.     */
+} ICU_Data_Header;
+
+typedef struct {
     uint32_t nameOffset;
     uint32_t dataOffset;
 } UDataOffsetTOCEntry;
diff --git a/source/common/ucnv_bld.cpp b/source/common/ucnv_bld.cpp
index fe9684d..bc00d45 100644
--- a/source/common/ucnv_bld.cpp
+++ b/source/common/ucnv_bld.cpp
@@ -65,11 +65,7 @@
 
     &_Latin1Data,
     &_UTF8Data, &_UTF16BEData, &_UTF16LEData,
-#if UCONFIG_ONLY_HTML_CONVERSION
-    NULL, NULL,
-#else
     &_UTF32BEData, &_UTF32LEData,
-#endif
     NULL,
 
 #if UCONFIG_NO_LEGACY_CONVERSION
@@ -103,7 +99,7 @@
 
     &_ASCIIData,
 #if UCONFIG_ONLY_HTML_CONVERSION
-    NULL, NULL, &_UTF16Data, NULL, NULL, NULL,
+    NULL, NULL, &_UTF16Data, &_UTF32Data, NULL, NULL,
 #else
     &_UTF7Data, &_Bocu1Data, &_UTF16Data, &_UTF32Data, &_CESU8Data, &_IMAPData,
 #endif
@@ -168,7 +164,6 @@
   { "utf16oppositeendian", UCNV_UTF16_BigEndian},
   { "utf16platformendian", UCNV_UTF16_LittleEndian },
 #endif
-#if !UCONFIG_ONLY_HTML_CONVERSION
   { "utf32", UCNV_UTF32 },
   { "utf32be", UCNV_UTF32_BigEndian },
   { "utf32le", UCNV_UTF32_LittleEndian },
@@ -179,7 +174,6 @@
   { "utf32oppositeendian", UCNV_UTF32_BigEndian },
   { "utf32platformendian", UCNV_UTF32_LittleEndian },
 #endif
-#endif
 #if !UCONFIG_ONLY_HTML_CONVERSION
   { "utf7", UCNV_UTF7 },
 #endif
diff --git a/source/common/ucnv_u16.c b/source/common/ucnv_u16.c
index f4f902a..c2d0005 100644
--- a/source/common/ucnv_u16.c
+++ b/source/common/ucnv_u16.c
@@ -621,7 +621,9 @@
     _UTF16BEGetName,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL
 };
 
 static const UConverterStaticData _UTF16BEStaticData={
@@ -1217,7 +1219,9 @@
     _UTF16LEGetName,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL
 };
 
 
@@ -1486,7 +1490,9 @@
     _UTF16GetName,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL
 };
 
 static const UConverterStaticData _UTF16StaticData = {
@@ -1528,7 +1534,9 @@
     _UTF16GetName,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL
 };
 
 static const UConverterStaticData _UTF16v2StaticData = {
diff --git a/source/common/ucnv_u32.c b/source/common/ucnv_u32.c
index b6804ca..1a0dbaf 100644
--- a/source/common/ucnv_u32.c
+++ b/source/common/ucnv_u32.c
@@ -16,7 +16,7 @@
 
 #include "unicode/utypes.h"
 
-#if !UCONFIG_NO_CONVERSION && !UCONFIG_ONLY_HTML_CONVERSION
+#if !UCONFIG_NO_CONVERSION
 
 #include "unicode/ucnv.h"
 #include "unicode/utf.h"
@@ -480,7 +480,9 @@
     NULL,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL,
 };
 
 /* The 1232 CCSID refers to any version of Unicode with any endianess of UTF-32 */
@@ -972,7 +974,9 @@
     NULL,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL,
 };
 
 /* The 1232 CCSID refers to any version of Unicode with any endianess of UTF-32 */
@@ -1214,7 +1218,9 @@
     NULL,
     NULL,
     NULL,
-    ucnv_getNonSurrogateUnicodeSet
+    ucnv_getNonSurrogateUnicodeSet,
+    NULL,
+    NULL
 };
 
 /* The 1236 CCSID refers to any version of Unicode with a BOM sensitive endianess of UTF-32 */
diff --git a/source/common/ucnv_u8.c b/source/common/ucnv_u8.c
index 499288c..f269d1b 100644
--- a/source/common/ucnv_u8.c
+++ b/source/common/ucnv_u8.c
@@ -1072,7 +1072,9 @@
     NULL,
     NULL,
     NULL,
-    ucnv_getCompleteUnicodeSet
+    ucnv_getCompleteUnicodeSet,
+    NULL,
+    NULL
 };
 
 static const UConverterStaticData _CESU8StaticData={
diff --git a/source/common/udata.cpp b/source/common/udata.cpp
index d32023b..80bea06 100644
--- a/source/common/udata.cpp
+++ b/source/common/udata.cpp
@@ -624,7 +624,7 @@
  *      our common data.                                                *
  *                                                                      *
  *----------------------------------------------------------------------*/
-extern "C" const DataHeader U_DATA_API U_ICUDATA_ENTRY_POINT;
+extern "C" const ICU_Data_Header U_DATA_API U_ICUDATA_ENTRY_POINT;
 
 /*
  * This would be a good place for weak-linkage declarations of
@@ -674,7 +674,7 @@
             }
             int32_t i;
             for(i = 0; i < commonDataIndex; ++i) {
-                if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT) {
+                if(gCommonICUDataArray[i]->pHeader == &U_ICUDATA_ENTRY_POINT.hdr) {
                     /* The linked-in data is already in the list. */
                     return NULL;
                 }
@@ -694,7 +694,7 @@
             setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pErrorCode);
         }
         */
-        setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode);
+        setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT.hdr, FALSE, pErrorCode);
         {
             Mutex lock;
             return gCommonICUDataArray[commonDataIndex];
diff --git a/source/common/unicode/utypes.h b/source/common/unicode/utypes.h
index f755628..36315ea 100644
--- a/source/common/unicode/utypes.h
+++ b/source/common/unicode/utypes.h
@@ -305,7 +305,11 @@
 #define U_IO_API
 #define U_TOOLUTIL_API
 #elif defined(U_COMMON_IMPLEMENTATION)
+#if defined(U_ICUDATAENTRY_IN_COMMON)
+#define U_DATA_API     U_EXPORT
+#else
 #define U_DATA_API     U_IMPORT
+#endif
 #define U_COMMON_API   U_EXPORT
 #define U_I18N_API     U_IMPORT
 #define U_LAYOUT_API   U_IMPORT
diff --git a/source/common/ustr_wcs.cpp b/source/common/ustr_wcs.cpp
index 2ca5119..cfe4296 100644
--- a/source/common/ustr_wcs.cpp
+++ b/source/common/ustr_wcs.cpp
@@ -340,7 +340,7 @@
         pSrcLimit = src + srcLength;
 
         for(;;){
-            register int32_t nulLen = 0;
+            int32_t nulLen = 0;
 
             /* find nulls in the string */
             while(nulLen<srcLength && pSrc[nulLen++]!=0){
diff --git a/source/data/Makefile.in b/source/data/Makefile.in
index e007b87..3998838 100644
--- a/source/data/Makefile.in
+++ b/source/data/Makefile.in
@@ -248,7 +248,8 @@
 #  2010-dec Removed pnames.icu.
 # These are now hardcoded in ICU4C and only loaded in ICU4J.
 #
-DAT_FILES_SHORT=unames.icu cnvalias.icu coll/ucadata.icu nfkc.nrm nfkc_cf.nrm uts46.nrm
+# Chromium: Drop unames.icu because we don't need Unicode character names.
+DAT_FILES_SHORT=cnvalias.icu coll/ucadata.icu nfkc.nrm nfkc_cf.nrm uts46.nrm
 DAT_FILES=$(DAT_FILES_SHORT:%=$(BUILDDIR)/%)
 
 ## BRK files
@@ -279,7 +280,8 @@
 -include $(UCMSRCDIR)/ucmfiles.mk
 -include $(UCMSRCDIR)/ucmebcdic.mk
 -include $(UCMSRCDIR)/ucmlocal.mk
-ALL_UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm $(UCM_SOURCE_CORE) $(UCM_SOURCE_FILES) $(UCM_SOURCE_EBCDIC) $(UCM_SOURCE_LOCAL)
+# Chromium: Drop 2 ibm encodings not necessary.
+ALL_UCM_SOURCE=$(UCM_SOURCE_CORE) $(UCM_SOURCE_FILES) $(UCM_SOURCE_EBCDIC) $(UCM_SOURCE_LOCAL)
 UCM_FILES = $(ALL_UCM_SOURCE:%=$(SRCDATADIR)/%)
 CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(BUILDDIR)/%.cnv)
 CNV_FILES_SHORT = $(ALL_UCM_SOURCE:%.ucm=%.cnv)
@@ -353,7 +355,9 @@
 TRANSLIT_SRC_FILES = $(TRANSLIT_SRC:%=$(TRANSLITSRCDIR)/%)
 INSTALLED_TRANSLIT_FILES = $(TRANSLIT_SOURCE:%.txt=%)  $(TRANSLIT_SOURCE_LOCAL:%.txt=%)
 endif
-GENRBOPTS=-k
+# Chromium : To save space, use '-R' option (exclude collation rules. just
+# include the compiled binary data.)
+GENRBOPTS=-k -R
 
 ## MISC files
 -include $(MISCSRCDIR)/miscfiles.mk
@@ -531,7 +535,14 @@
 $(BUILDDIR)/%.nrm: $(SRCDATADIR)/in/%.nrm
 	$(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $< $@
 
-$(BUILDDIR)/coll/ucadata.icu: $(SRCDATADIR)/in/coll/ucadata-unihan.icu
+# Chromium: To cut down the data size by 280kB,
+# use the code point order for CJK Ideographs in non-CJK locales instead
+# of the UniHan radical-stroke order. The latter is better, but non-CJK
+# locales do not have a great need for sorting CJK Ideographs.
+# Moreover, the most common subset (the original CJK Ideograph block) will
+# still be sorted correctly because the code point order is radical-stroke
+# order.
+$(BUILDDIR)/coll/ucadata.icu: $(SRCDATADIR)/in/coll/ucadata-implicithan.icu
 	$(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $< $@
 
 ####################################################    SPP
diff --git a/source/data/brkitr/dictionaries/cjdict.txt b/source/data/brkitr/dictionaries/cjdict.txt
index 64e2061..887876f 100644
--- a/source/data/brkitr/dictionaries/cjdict.txt
+++ b/source/data/brkitr/dictionaries/cjdict.txt
@@ -36725,7 +36725,9 @@
 七团	132
 七国	115
 七国山	141
+七国集团        126
 七國	128
+七國集團        142
 七地	241
 七城	126
 七堂	136
@@ -52354,6 +52356,9 @@
 五大	86
 五大堂	131
 五大洲	113
+五大湖  122
+五大连池        117
+五大連池        137
 五天	98
 五太子	150
 五夫	140
@@ -163787,6 +163792,7 @@
 春賀	137
 春路	96
 春輔	147
+春运    86
 春近	126
 春近古市場	143
 春遠	126
@@ -269550,6 +269556,7 @@
 调情	101
 调戏	107
 调换	105
+调控    85
 调摄	132
 调整	74
 调料	103
diff --git a/source/data/brkitr/fi.txt b/source/data/brkitr/fi.txt
index 996c44a..19025a6 100644
--- a/source/data/brkitr/fi.txt
+++ b/source/data/brkitr/fi.txt
@@ -9,9 +9,9 @@
 fi{
     Version{"2.1.19.14"}
     boundaries{
-        line:process(dependency){"line_fi.brk"}
-        line_loose:process(dependency){"line_loose_fi.brk"}
+        line:process(dependency){"line_normal_fi.brk"}
+        line_loose:process(dependency){"line_normal_fi.brk"}
         line_normal:process(dependency){"line_normal_fi.brk"}
-        line_strict:process(dependency){"line_fi.brk"}
+        line_strict:process(dependency){"line_normal_fi.brk"}
     }
 }
diff --git a/source/data/brkitr/ja.txt b/source/data/brkitr/ja.txt
index 60bbdf9..36d2190 100644
--- a/source/data/brkitr/ja.txt
+++ b/source/data/brkitr/ja.txt
@@ -10,7 +10,7 @@
     Version{"2.1.19.14"}
     boundaries{
         line:process(dependency){"line_normal.brk"}
-        line_loose:process(dependency){"line_loose_cj.brk"}
+        line_loose:process(dependency){"line_normal_cj.brk"}
         line_normal:process(dependency){"line_normal_cj.brk"}
         line_strict:process(dependency){"line.brk"}
     }
diff --git a/source/data/brkitr/root.txt b/source/data/brkitr/root.txt
index 5faaffb..9fe1aad 100644
--- a/source/data/brkitr/root.txt
+++ b/source/data/brkitr/root.txt
@@ -10,8 +10,8 @@
     Version{"2.1.23.21"}
     boundaries{
         grapheme:process(dependency){"char.brk"}
-        line:process(dependency){"line.brk"}
-        line_loose:process(dependency){"line_loose.brk"}
+        line:process(dependency){"line_normal.brk"}
+        line_loose:process(dependency){"line_normal.brk"}
         line_normal:process(dependency){"line_normal.brk"}
         line_strict:process(dependency){"line.brk"}
         sentence:process(dependency){"sent.brk"}
diff --git a/source/data/brkitr/rules/word.txt b/source/data/brkitr/rules/word.txt
index 3e40eb6..f950fc1 100644
--- a/source/data/brkitr/rules/word.txt
+++ b/source/data/brkitr/rules/word.txt
@@ -41,10 +41,16 @@
 $ALetter            = [\p{Word_Break = ALetter}];
 $Single_Quote       = [\p{Word_Break = Single_Quote}];
 $Double_Quote       = [\p{Word_Break = Double_Quote}];
-$MidNumLet          = [\p{Word_Break = MidNumLet}];
+# Remove two full stop characters from $MidNumLet and add them to $MidNum
+# to break a hostname into its components at the cost of breaking
+# 'e.g.' and 'i.e.' as well.
+# $MidNumLet is used in rules 6/7 (rules of our interest) and rules 11/12.
+# Because it's OR'd with $MidNum in rules 11/12, rules 11/12 are not affected
+# while rules 6/7 are reverted to the old behavior we want.
+$MidNumLet    = [[\p{Word_Break = MidNumLet}] - [\u002E \uFF0E]];
 $MidLetter          = [\p{Word_Break = MidLetter}];
-$MidNum             = [\p{Word_Break = MidNum}];
-$Numeric            = [\p{Word_Break = Numeric}];
+$MidNum       = [\p{Word_Break = MidNum}[\u002E \uFF0E]];
+$Numeric      = [\p{Word_Break = Numeric}[\uff10-\uff19]]; #includes fullwidth digits
 $ExtendNumLet       = [\p{Word_Break = ExtendNumLet}];
 
 $Han                = [:Han:];
diff --git a/source/data/brkitr/zh.txt b/source/data/brkitr/zh.txt
index 32a1557..34f7aa8 100644
--- a/source/data/brkitr/zh.txt
+++ b/source/data/brkitr/zh.txt
@@ -9,8 +9,8 @@
 zh{
     Version{"2.1.19.14"}
     boundaries{
-        line:process(dependency){"line.brk"}
-        line_loose:process(dependency){"line_loose_cj.brk"}
+        line:process(dependency){"line_normal.brk"}
+        line_loose:process(dependency){"line_normal_cj.brk"}
         line_normal:process(dependency){"line_normal_cj.brk"}
         line_strict:process(dependency){"line.brk"}
     }
diff --git a/source/data/brkitr/zh_Hant.txt b/source/data/brkitr/zh_Hant.txt
index fe9a175..2b33e27 100644
--- a/source/data/brkitr/zh_Hant.txt
+++ b/source/data/brkitr/zh_Hant.txt
@@ -9,8 +9,8 @@
 zh_Hant{
     Version{"2.1.19.14"}
     boundaries{
-        line:process(dependency){"line.brk"}
-        line_loose:process(dependency){"line_loose_cj.brk"}
+        line:process(dependency){"line_normal.brk"}
+        line_loose:process(dependency){"line_normal_cj.brk"}
         line_normal:process(dependency){"line_normal_cj.brk"}
         line_strict:process(dependency){"line.brk"}
     }
diff --git a/source/data/curr/en.txt b/source/data/curr/en.txt
index 4c755af..eb6d2f0 100644
--- a/source/data/curr/en.txt
+++ b/source/data/curr/en.txt
@@ -793,7 +793,7 @@
             "Papua New Guinean Kina",
         }
         PHP{
-            "PHP",
+            "Php",
             "Philippine Peso",
         }
         PKR{
diff --git a/source/data/curr/ru.txt b/source/data/curr/ru.txt
index 86580c0..2f1d65f 100644
--- a/source/data/curr/ru.txt
+++ b/source/data/curr/ru.txt
@@ -913,7 +913,7 @@
             "Танзанийский шиллинг",
         }
         UAH{
-            "₴",
+            "грн.",
             "Украинская гривна",
         }
         UAK{
@@ -1202,7 +1202,6 @@
     Currencies%variant{
         GEL{"₾"}
         TRY{"TL"}
-        UAH{"грн."}
     }
     CurrencyPlurals{
         ADP{
diff --git a/source/data/curr/uk.txt b/source/data/curr/uk.txt
index a3a427e..98aeaed 100644
--- a/source/data/curr/uk.txt
+++ b/source/data/curr/uk.txt
@@ -913,7 +913,7 @@
             "танзанійський шилінг",
         }
         UAH{
-            "₴",
+            "грн.",
             "українська гривня",
         }
         UAK{
@@ -1202,7 +1202,6 @@
     Currencies%variant{
         GEL{"₾"}
         TRY{"TL"}
-        UAH{"грн."}
     }
     CurrencyPlurals{
         ADP{
diff --git a/source/data/locales/ar.txt b/source/data/locales/ar.txt
index 2571281..4ef00eb 100644
--- a/source/data/locales/ar.txt
+++ b/source/data/locales/ar.txt
@@ -40,7 +40,7 @@
                 minusSign{"‏-"}
                 nan{"ليس رقم"}
                 perMille{"؉"}
-                percentSign{"٪"}
+                percentSign{"‏٪"}
                 plusSign{"‏+"}
                 superscriptingExponent{"×"}
                 timeSeparator{":"}
diff --git a/source/data/locales/bn.txt b/source/data/locales/bn.txt
index 6b77db8..f75d443 100644
--- a/source/data/locales/bn.txt
+++ b/source/data/locales/bn.txt
@@ -370,8 +370,8 @@
         }
         gregorian{
             AmPmMarkers{
-                "পূর্বাহ্ণ",
-                "অপরাহ্ণ",
+                "am",
+                "pm",
             }
             AmPmMarkersAbbr{
                 "AM",
diff --git a/source/data/locales/fa.txt b/source/data/locales/fa.txt
index 41a1df7..3b27c9e 100644
--- a/source/data/locales/fa.txt
+++ b/source/data/locales/fa.txt
@@ -52,7 +52,7 @@
                 minusSign{"‎−"}
                 nan{"ناعدد"}
                 perMille{"؉"}
-                percentSign{"٪"}
+                percentSign{"‏٪"}
                 plusSign{"‎+‎"}
                 superscriptingExponent{"×"}
                 timeSeparator{":"}
diff --git a/source/data/locales/hi.txt b/source/data/locales/hi.txt
index 9cc1176..5c06021 100644
--- a/source/data/locales/hi.txt
+++ b/source/data/locales/hi.txt
@@ -386,16 +386,16 @@
         }
         gregorian{
             AmPmMarkers{
-                "पूर्वाह्न",
-                "अपराह्न",
+                "am",
+                "pm",
             }
             AmPmMarkersAbbr{
                 "पूर्व",
                 "अपर",
             }
             AmPmMarkersNarrow{
-                "पू",
-                "अ",
+                "am",
+                "pm",
             }
             DateTimePatterns{
                 "h:mm:ss a zzzz",
@@ -550,14 +550,14 @@
                     narrow{
                         afternoon1{"अपराह्न"}
                         evening1{"शाम"}
-                        midnight{"आधी रात"}
+                        midnight{"m"}
                         morning1{"सुबह"}
                         night1{"शाम"}
                     }
                     wide{
                         afternoon1{"अपराह्न"}
                         evening1{"शाम"}
-                        midnight{"मध्यरात्रि"}
+                        midnight{"midnight"}
                         morning1{"सुबह"}
                         night1{"रात"}
                     }
diff --git a/source/data/locales/ko.txt b/source/data/locales/ko.txt
index 6baedeb..cf9c2e6 100644
--- a/source/data/locales/ko.txt
+++ b/source/data/locales/ko.txt
@@ -1328,7 +1328,7 @@
                     y{"y. M. d. (E) ~ y. M. d. (E)"}
                 }
                 yMMM{
-                    M{"y년 M월~M월"}
+                    M{"y년 M월 ~ M월"}
                     y{"y년 M월 ~ y년 M월"}
                 }
                 yMMMEEEEd{
@@ -1347,7 +1347,7 @@
                 }
                 yMMMd{
                     M{"y년 M월 d일 ~ M월 d일"}
-                    d{"y년 M월 d일~d일"}
+                    d{"y년 M월 d일 ~ d일"}
                     y{"y년 M월 d일 ~ y년 M월 d일"}
                 }
                 yMd{
diff --git a/source/data/locales/ta.txt b/source/data/locales/ta.txt
index 99546d0..db1d454 100644
--- a/source/data/locales/ta.txt
+++ b/source/data/locales/ta.txt
@@ -475,8 +475,8 @@
                 "பிற்பகல்",
             }
             AmPmMarkersAbbr{
-                "முற்பகல்",
-                "பிற்பகல்",
+                "AM",
+                "PM",
             }
             AmPmMarkersNarrow{
                 "மு.ப",
diff --git a/source/data/locales/tr_CY.txt b/source/data/locales/tr_CY.txt
index 565dced..f292bf0 100755
--- a/source/data/locales/tr_CY.txt
+++ b/source/data/locales/tr_CY.txt
@@ -18,7 +18,7 @@
                 "d MMMM y EEEE",
                 "d MMMM y",
                 "d MMM y",
-                "d.MM.y",
+                "d MM y",
                 "{1} {0}",
                 "{1} {0}",
                 "{1} {0}",
diff --git a/source/data/misc/likelySubtags.txt b/source/data/misc/likelySubtags.txt
index c36b3c3..ddd46e1 100644
--- a/source/data/misc/likelySubtags.txt
+++ b/source/data/misc/likelySubtags.txt
@@ -280,7 +280,6 @@
     ja{"ja_Jpan_JP"}
     jam{"jam_Latn_JM"}
     jgo{"jgo_Latn_CM"}
-    ji{"ji_Hebr_UA"}
     jmc{"jmc_Latn_TZ"}
     jml{"jml_Deva_NP"}
     jut{"jut_Latn_DK"}
@@ -344,6 +343,7 @@
     ksh{"ksh_Latn_DE"}
     ku{"ku_Latn_TR"}
     ku_Arab{"ku_Arab_IQ"}
+    ku_IR{"ku_Arab_IR"}
     ku_LB{"ku_Arab_LB"}
     kum{"kum_Cyrl_RU"}
     kv{"kv_Cyrl_RU"}
@@ -581,6 +581,7 @@
     sg{"sg_Latn_CF"}
     sga{"sga_Ogam_IE"}
     sgs{"sgs_Latn_LT"}
+    sh{"sr_Latn_RS"}
     shi{"shi_Tfng_MA"}
     shn{"shn_Mymr_MM"}
     si{"si_Sinh_LK"}
@@ -989,7 +990,7 @@
     und_NE{"ha_Latn_NE"}
     und_NI{"es_Latn_NI"}
     und_NL{"nl_Latn_NL"}
-    und_NO{"nb_Latn_NO"}
+    und_NO{"no_Latn_NO"}
     und_NP{"ne_Deva_NP"}
     und_Narb{"xna_Narb_SA"}
     und_Nbat{"arc_Nbat_JO"}
@@ -1038,7 +1039,7 @@
     und_SD{"ar_Arab_SD"}
     und_SE{"sv_Latn_SE"}
     und_SI{"sl_Latn_SI"}
-    und_SJ{"nb_Latn_SJ"}
+    und_SJ{"no_Latn_SJ"}
     und_SK{"sk_Latn_SK"}
     und_SM{"it_Latn_SM"}
     und_SN{"fr_Latn_SN"}
diff --git a/source/data/misc/metaZones.txt b/source/data/misc/metaZones.txt
index 689f041..14d2170 100644
--- a/source/data/misc/metaZones.txt
+++ b/source/data/misc/metaZones.txt
@@ -1,11 +1,5 @@
-// ***************************************************************************
-// *
-// * Copyright (C) 2016 International Business Machines
-// * Corporation and others. All Rights Reserved.
-// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
-// * Source File: <path>/metaZones.xml
-// *
-// ***************************************************************************
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 metaZones:table(nofallback){
     mapTimezones{
         Acre{
@@ -450,7 +444,6 @@
         }
         Korea{
             001{"Asia/Seoul"}
-            KP{"Asia/Pyongyang"}
         }
         Kosrae{
             001{"Pacific/Kosrae"}
@@ -2615,11 +2608,11 @@
             {
                 "Almaty",
                 "1970-01-01 00:00",
-                "2005-03-14 18:00",
+                "2004-10-30 20:00",
             }
             {
                 "Kazakhstan_Eastern",
-                "2005-03-14 18:00",
+                "2004-10-30 20:00",
                 "9999-12-31 23:59",
             }
         }
@@ -2654,11 +2647,11 @@
             {
                 "Aqtau",
                 "1991-12-15 19:00",
-                "2005-03-14 20:00",
+                "2004-10-30 22:00",
             }
             {
                 "Kazakhstan_Western",
-                "2005-03-14 20:00",
+                "2004-10-30 22:00",
                 "9999-12-31 23:59",
             }
         }
@@ -2671,11 +2664,11 @@
             {
                 "Aqtobe",
                 "1991-12-15 19:00",
-                "2005-03-14 19:00",
+                "2004-10-30 21:00",
             }
             {
                 "Kazakhstan_Western",
-                "2005-03-14 19:00",
+                "2005-10-30 21:00",
                 "9999-12-31 23:59",
             }
         }
@@ -3054,11 +3047,11 @@
             {
                 "Oral",
                 "1991-12-15 20:00",
-                "2005-03-14 20:00",
+                "2004-10-30 22:00",
             }
             {
                 "Kazakhstan_Western",
-                "2005-03-14 20:00",
+                "2004-10-30 22:00",
                 "9999-12-31 23:59",
             }
         }
@@ -3112,11 +3105,11 @@
             {
                 "Qyzylorda",
                 "1991-12-15 19:00",
-                "2005-03-14 18:00",
+                "2004-10-30 21:00",
             }
             {
                 "Kazakhstan_Eastern",
-                "2005-03-14 18:00",
+                "2004-10-30 21:00",
                 "9999-12-31 23:59",
             }
         }
@@ -3595,11 +3588,11 @@
             {
                 "Moscow",
                 "1970-01-01 00:00",
-                "1991-03-30 23:00",
+                "1989-03-25 23:00",
             }
             {
                 "Europe_Eastern",
-                "1991-03-30 23:00",
+                "1989-03-25 23:00",
                 "2011-03-27 00:00",
             }
             {
@@ -3698,6 +3691,11 @@
             {
                 "Europe_Further_Eastern",
                 "2011-03-27 00:00",
+                "2014-10-26 22:00",
+            }
+            {
+                "Moscow",
+                "2014-10-26 22:00",
                 "9999-12-31 23:59",
             }
         }
@@ -3894,11 +3892,11 @@
             {
                 "Moscow",
                 "1970-01-01 00:00",
-                "1991-03-30 23:00",
+                "1989-03-25 23:00",
             }
             {
                 "Europe_Eastern",
-                "1991-03-30 23:00",
+                "1989-03-25 23:00",
                 "1998-03-29 01:00",
             }
             {
diff --git a/source/data/misc/metadata.txt b/source/data/misc/metadata.txt
index 5568542..6f8a153 100755
--- a/source/data/misc/metadata.txt
+++ b/source/data/misc/metadata.txt
@@ -4204,6 +4204,8 @@
         "ksb_TZ",
         "ksf_CM",
         "ksh_DE",
+        "ku_Arab",
+        "ku_Latn_SY",
         "ku_TR",
         "kw_GB",
         "ky_KG",
diff --git a/source/data/misc/supplementalData.txt b/source/data/misc/supplementalData.txt
index aba380a..47db5ba 100644
--- a/source/data/misc/supplementalData.txt
+++ b/source/data/misc/supplementalData.txt
@@ -15894,6 +15894,12 @@
                 "1",
             }
             {
+                "nb",
+                "no",
+                "99",
+                "0",
+            }
+            {
                 "ne_Deva",
                 "en_Latn",
                 "90",
@@ -15909,18 +15915,12 @@
                 "nn",
                 "nb",
                 "90",
-                "0",
+                "1",
             }
             {
                 "nn",
                 "no",
                 "90",
-                "1",
-            }
-            {
-                "no",
-                "nb",
-                "99",
                 "0",
             }
             {
@@ -29875,7 +29875,7 @@
             kk_Cyrl{
                 populationShareF:int{44800000}
             }
-            ku_Latn{
+            ku{
                 populationShareF:int{48550000}
             }
             ky_Latn{
diff --git a/source/data/misc/timezoneTypes.txt b/source/data/misc/timezoneTypes.txt
index 892ad35..632d26e 100644
--- a/source/data/misc/timezoneTypes.txt
+++ b/source/data/misc/timezoneTypes.txt
@@ -1,11 +1,5 @@
-// ***************************************************************************
-// *
-// * Copyright (C) 2016 International Business Machines
-// * Corporation and others. All Rights Reserved.
-// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
-// * Source File: <path>/common/bcp47/timezone.xml
-// *
-// ***************************************************************************
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 timezoneTypes:table(nofallback){
     bcpTypeAlias{
         tz{
@@ -435,6 +429,7 @@
             "Asia:Tehran"{"irthr"}
             "Asia:Thimphu"{"btthi"}
             "Asia:Tokyo"{"jptyo"}
+            "Asia:Tomsk"{"rutof"}
             "Asia:Ulaanbaatar"{"mnuln"}
             "Asia:Urumqi"{"cnurc"}
             "Asia:Ust-Nera"{"ruunera"}
@@ -515,6 +510,7 @@
             "Europe:Jersey"{"jesth"}
             "Europe:Kaliningrad"{"rukgd"}
             "Europe:Kiev"{"uaiev"}
+            "Europe:Kirov"{"rukvx"}
             "Europe:Lisbon"{"ptlis"}
             "Europe:Ljubljana"{"silju"}
             "Europe:London"{"gblon"}
diff --git a/source/data/misc/windowsZones.txt b/source/data/misc/windowsZones.txt
index ffe01e0..4643124 100644
--- a/source/data/misc/windowsZones.txt
+++ b/source/data/misc/windowsZones.txt
@@ -1,11 +1,5 @@
-// ***************************************************************************
-// *
-// * Copyright (C) 2016 International Business Machines
-// * Corporation and others. All Rights Reserved.
-// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
-// * Source File: <path>/windowsZones.xml
-// *
-// ***************************************************************************
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 windowsZones:table(nofallback){
     mapTimezones{
         "AUS Central Standard Time"{
@@ -27,6 +21,10 @@
                 "rica/Sitka America/Yakutat"
             }
         }
+        "Altai Standard Time"{
+            001{"Asia/Barnaul"}
+            RU{"Asia/Barnaul Asia/Tomsk"}
+        }
         "Arab Standard Time"{
             001{"Asia/Riyadh"}
             BH{"Asia/Bahrain"}
@@ -54,6 +52,10 @@
                 "uaia America/Catamarca America/Cordoba America/Jujuy America/Mendoza"
             }
         }
+        "Astrakhan Standard Time"{
+            001{"Europe/Astrakhan"}
+            RU{"Europe/Astrakhan Europe/Ulyanovsk"}
+        }
         "Atlantic Standard Time"{
             001{"America/Halifax"}
             BM{"Atlantic/Bermuda"}
@@ -405,7 +407,7 @@
         }
         "North Asia Standard Time"{
             001{"Asia/Krasnoyarsk"}
-            RU{"Asia/Krasnoyarsk Asia/Barnaul Asia/Novokuznetsk"}
+            RU{"Asia/Krasnoyarsk Asia/Novokuznetsk"}
         }
         "North Korea Standard Time"{
             001{"Asia/Pyongyang"}
@@ -440,7 +442,7 @@
         }
         "Russia Time Zone 10"{
             001{"Asia/Srednekolymsk"}
-            RU{"Asia/Srednekolymsk Asia/Sakhalin"}
+            RU{"Asia/Srednekolymsk"}
         }
         "Russia Time Zone 11"{
             001{"Asia/Kamchatka"}
@@ -448,11 +450,11 @@
         }
         "Russia Time Zone 3"{
             001{"Europe/Samara"}
-            RU{"Europe/Samara Europe/Astrakhan Europe/Ulyanovsk"}
+            RU{"Europe/Samara"}
         }
         "Russian Standard Time"{
             001{"Europe/Moscow"}
-            RU{"Europe/Moscow Europe/Simferopol Europe/Volgograd"}
+            RU{"Europe/Moscow Europe/Kirov Europe/Simferopol Europe/Volgograd"}
         }
         "SA Eastern Standard Time"{
             001{"America/Cayenne"}
@@ -522,6 +524,10 @@
             VN{"Asia/Saigon"}
             ZZ{"Etc/GMT-7"}
         }
+        "Sakhalin Standard Time"{
+            001{"Asia/Sakhalin"}
+            RU{"Asia/Sakhalin"}
+        }
         "Samoa Standard Time"{
             001{"Pacific/Apia"}
             WS{"Pacific/Apia"}
@@ -581,6 +587,10 @@
             TO{"Pacific/Tongatapu"}
             ZZ{"Etc/GMT-13"}
         }
+        "Transbaikal Standard Time"{
+            001{"Asia/Chita"}
+            RU{"Asia/Chita"}
+        }
         "Turkey Standard Time"{
             001{"Europe/Istanbul"}
             TR{"Europe/Istanbul"}
@@ -699,7 +709,7 @@
         }
         "Yakutsk Standard Time"{
             001{"Asia/Yakutsk"}
-            RU{"Asia/Yakutsk Asia/Chita Asia/Khandyga"}
+            RU{"Asia/Yakutsk Asia/Khandyga"}
         }
     }
 }
diff --git a/source/data/misc/zoneinfo64.txt b/source/data/misc/zoneinfo64.txt
index 9d755e1..aae15ae 100644
--- a/source/data/misc/zoneinfo64.txt
+++ b/source/data/misc/zoneinfo64.txt
@@ -1,22 +1,22 @@
 //---------------------------------------------------------
-// Copyright (C) 2003-2016, International Business Machines
-// Corporation and others.  All Rights Reserved.
+// (C) 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
 //---------------------------------------------------------
 // Build tool:  tz2icu
-// Build date:  Tue Mar 15 18:37:54 2016
+// Build date:  Tue Jul  5 18:13:18 2016
 // tz database: ftp://ftp.iana.org/tz/
-// tz version:  2016b
-// ICU version: 57.1
+// tz version:  2016f
+// ICU version: 58.0.1
 //---------------------------------------------------------
 // >> !!! >>   THIS IS A MACHINE-GENERATED FILE   << !!! <<
 // >> !!! >>>            DO NOT EDIT             <<< !!! <<
 //---------------------------------------------------------
 
 zoneinfo64:table(nofallback) {
- TZVersion { "2016b" }
+ TZVersion { "2016f" }
  Zones:array { 
-  /* ACT */ :int { 349 } //Z#0
-  /* AET */ :int { 361 } //Z#1
+  /* ACT */ :int { 350 } //Z#0
+  /* AET */ :int { 362 } //Z#1
   /* AGT */ :int { 64 } //Z#2
   /* ART */ :int { 18 } //Z#3
   /* AST */ :int { 60 } //Z#4
@@ -24,7 +24,7 @@
     trans:intvector { -1830383032 }
     typeOffsets:intvector { -968, 0, 0, 0 }
     typeMap:bin { "01" }
-    links:intvector { 5, 11, 13, 21, 22, 27, 38, 51, 52, 54, 55, 341 }
+    links:intvector { 5, 11, 13, 21, 22, 27, 38, 51, 52, 54, 55, 342 }
   } //Z#5
   /* Africa/Accra */ :table {
     trans:intvector { -1640995148, -1556841600, -1546388400, -1525305600, -1514852400, -1493769600, -1483316400, -1462233600, -1451780400, -1430611200, -1420158000, -1399075200, -1388622000, -1367539200, -1357086000, -1336003200, -1325550000, -1304380800, -1293927600, -1272844800, -1262391600, -1241308800, -1230855600, -1209772800, -1199319600, -1178150400, -1167697200, -1146614400, -1136161200, -1115078400, -1104625200, -1083542400, -1073089200, -1051920000, -1041466800, -1020384000, -1009930800, -988848000, -978394800, -957312000, -946858800, -925689600, -915236400, -894153600, -883700400, -862617600, -852164400 }
@@ -56,7 +56,7 @@
     trans:intvector { -929844000, -923108400, -906170400, -892868400, -875844000, -857790000, -844308000, -825822000, -812685600, -794199600, -779853600, -762663600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -71107200, -52707600, -39484800, -21171600, -7948800, 10364400, 23587200, 41900400, 55123200, 73522800, 86745600, 105058800, 118281600, 136594800, 149817600, 168130800, 181353600, 199753200, 212976000, 231289200, 244512000, 262825200, 276048000, 294361200, 307584000, 325983600, 339206400, 357519600, 370742400, 396399600, 402278400, 426812400, 433814400, 452214000, 465436800, 483750000, 496972800, 515286000, 528508800, 546822000, 560044800, 578444400, 591667200, 610412400, 623203200, 641516400, 654739200, 673052400, 686275200, 704674800, 717897600, 736210800, 749433600, 767746800, 780969600, 799020000, 812322000, 830469600, 843771600, 861919200, 875221200, 893368800, 906670800, 925423200, 938725200, 956872800, 970174800, 988322400, 1001624400, 1019772000, 1033074000, 1051221600, 1064523600, 1083276000, 1096578000, 1114725600, 1128027600, 1146175200, 1158872400, 1177624800, 1189112400, 1209074400, 1219957200, 1240524000, 1250802000, 1272578400, 1281474000, 1284069600, 1285880400, 1400191200, 1403816400, 1406844000, 1411678800 }
     typeOffsets:intvector { 7509, 0, 7200, 0, 7200, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    links:intvector { 3, 18, 395 }
+    links:intvector { 3, 18, 396 }
   } //Z#18
   /* Africa/Casablanca */ :table {
     trans:intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000, 1212278400, 1220223600, 1243814400, 1250809200, 1272758400, 1281222000, 1301788800, 1312066800, 1335664800, 1342749600, 1345428000, 1348970400, 1367114400, 1373162400, 1376100000, 1382839200, 1396144800, 1403920800, 1406944800, 1414288800, 1427594400, 1434247200, 1437271200, 1445738400, 1459044000, 1465092000, 1468116000, 1477792800, 1490493600, 1495332000, 1498960800, 1509242400, 1521943200, 1526176800, 1529200800, 1540692000, 1553997600, 1557021600, 1560045600, 1572141600, 1585447200, 1587261600, 1590285600, 1603591200, 1616896800, 1618106400, 1621130400, 1635645600, 1651975200, 1667095200, 1682215200, 1698544800, 1713060000, 1729994400, 1743904800, 1761444000, 1774749600, 1792893600, 1806199200, 1824948000, 1837648800, 1856397600, 1869098400, 1887847200, 1901152800, 1919296800, 1932602400, 1950746400, 1964052000, 1982800800, 1995501600, 2014250400, 2026951200, 2045700000, 2058400800, 2077149600, 2090455200, 2107994400, 2121904800, 2138234400 }
@@ -126,7 +126,7 @@
     trans:intvector { -2109291020 }
     typeOffsets:intvector { 7820, 0, 7200, 0 }
     typeMap:bin { "01" }
-    links:intvector { 15, 17, 28, 29, 34, 40, 41, 43, 372 }
+    links:intvector { 15, 17, 28, 29, 34, 40, 41, 43, 373 }
   } //Z#43
   /* Africa/Maseru */ :int { 30 } //Z#44
   /* Africa/Mbabane */ :int { 30 } //Z#45
@@ -140,7 +140,7 @@
     trans:intvector { -1309746436, -1262314800, -946780200, -315629100 }
     typeOffsets:intvector { 8836, 0, 9000, 0, 9900, 0, 10800, 0 }
     typeMap:bin { "03010203" }
-    links:intvector { 7, 9, 10, 23, 24, 32, 46, 48, 390, 507, 511, 516 }
+    links:intvector { 7, 9, 10, 23, 24, 32, 46, 48, 391, 509, 513, 518 }
   } //Z#48
   /* Africa/Ndjamena */ :table {
     trans:intvector { -1830387612, 308703600, 321314400 }
@@ -157,7 +157,7 @@
     trans:intvector { -1577926364, -574902000, -568087200, -512175600, -504928800, -449888400, -441856800, -347158800, 378684000, 386463600, 402271200, 417999600, 433807200, 449622000, 465429600, 481590000, 496965600, 512953200, 528674400, 544230000, 560037600, 575852400, 591660000, 607388400, 623196000, 641775600, 844034400, 860108400, 875916000, 1352505600, 1364515200, 1382659200 }
     typeOffsets:intvector { 3164, 0, 3600, 0, 3600, 3600, 7200, 0 }
     typeMap:bin { "0102010201020103010201020102010201020102010201020103010203010203" }
-    links:intvector { 56, 524 }
+    links:intvector { 56, 526 }
   } //Z#56
   /* Africa/Tunis */ :table {
     transPre32:intvector { -1, 1497764852 }
@@ -182,7 +182,7 @@
     finalRule { "US" }
     finalRaw:int { -36000 }
     finalYear:int { 2008 }
-    links:intvector { 59, 80, 608 }
+    links:intvector { 59, 80, 610 }
   } //Z#59
   /* America/Anchorage */ :table {
     transPre32:intvector { -1, 1069604872, -1, 2106016072 }
@@ -192,7 +192,7 @@
     finalRule { "US" }
     finalRaw:int { -32400 }
     finalYear:int { 2008 }
-    links:intvector { 4, 60, 607 }
+    links:intvector { 4, 60, 609 }
   } //Z#60
   /* America/Anguilla */ :int { 186 } //Z#61
   /* America/Antigua */ :int { 186 } //Z#62
@@ -373,9 +373,9 @@
   } //Z#93
   /* America/Caracas */ :table {
     transPre32:intvector { -1, 1770461760 }
-    trans:intvector { -1826739140, -157750200, 1197183600 }
+    trans:intvector { -1826739140, -157750200, 1197183600, 1462086000 }
     typeOffsets:intvector { -16064, 0, -16200, 0, -16060, 0, -14400, 0 }
-    typeMap:bin { "02010301" }
+    typeMap:bin { "0201030103" }
   } //Z#94
   /* America/Catamarca */ :int { 65 } //Z#95
   /* America/Cayenne */ :table {
@@ -392,7 +392,7 @@
     finalRule { "US" }
     finalRaw:int { -21600 }
     finalYear:int { 2008 }
-    links:intvector { 98, 375, 610 }
+    links:intvector { 98, 376, 612 }
   } //Z#98
   /* America/Chihuahua */ :table {
     trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, 828864000, 846399600, 860313600, 877849200, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 989139600, 1001836800, 1018170000, 1035705600 }
@@ -458,7 +458,7 @@
     finalRule { "US" }
     finalRaw:int { -25200 }
     finalYear:int { 2008 }
-    links:intvector { 109, 203, 536, 616 }
+    links:intvector { 109, 203, 538, 618 }
   } //Z#109
   /* America/Detroit */ :table {
     trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, -80499600, -68666400, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
@@ -467,7 +467,7 @@
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-    links:intvector { 110, 615 }
+    links:intvector { 110, 617 }
   } //Z#110
   /* America/Dominica */ :int { 186 } //Z#111
   /* America/Edmonton */ :table {
@@ -477,7 +477,7 @@
     finalRule { "Canada" }
     finalRaw:int { -25200 }
     finalYear:int { 2008 }
-    links:intvector { 112, 382 }
+    links:intvector { 112, 383 }
   } //Z#112
   /* America/Eirunepe */ :table {
     trans:intvector { -1767208832, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800, 750834000, 761716800, 1214283600, 1384056000 }
@@ -558,7 +558,7 @@
     finalRule { "Canada" }
     finalRaw:int { -14400 }
     finalYear:int { 2008 }
-    links:intvector { 128, 378 }
+    links:intvector { 128, 379 }
   } //Z#128
   /* America/Havana */ :table {
     transPre32:intvector { -1, 1770465464 }
@@ -568,7 +568,7 @@
     finalRule { "Cuba" }
     finalRaw:int { -18000 }
     finalYear:int { 2014 }
-    links:intvector { 129, 389 }
+    links:intvector { 129, 390 }
   } //Z#129
   /* America/Hermosillo */ :table {
     trans:intvector { -1514739600, -1343066400, -1234807200, -1220292000, -1207159200, -1191344400, -873828000, -661539600, 28800, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400 }
@@ -583,7 +583,7 @@
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-    links:intvector { 117, 131, 139, 504, 611 }
+    links:intvector { 117, 131, 139, 506, 613 }
   } //Z#131
   /* America/Indiana/Knox */ :table {
     transPre32:intvector { -1, 1577320096 }
@@ -593,7 +593,7 @@
     finalRule { "US" }
     finalRaw:int { -21600 }
     finalYear:int { 2008 }
-    links:intvector { 132, 147, 614 }
+    links:intvector { 132, 147, 616 }
   } //Z#132
   /* America/Indiana/Marengo */ :table {
     transPre32:intvector { -1, 1577320096 }
@@ -670,7 +670,7 @@
     trans:intvector { -1827687169, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 }
     typeOffsets:intvector { -18431, 0, -18000, 0, -18000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
-    links:intvector { 142, 521 }
+    links:intvector { 142, 523 }
   } //Z#142
   /* America/Jujuy */ :int { 68 } //Z#143
   /* America/Juneau */ :table {
@@ -722,7 +722,7 @@
     finalRule { "US" }
     finalRaw:int { -28800 }
     finalYear:int { 2008 }
-    links:intvector { 151, 541, 617, 618 }
+    links:intvector { 151, 543, 619, 620 }
   } //Z#151
   /* America/Louisville */ :int { 145 } //Z#152
   /* America/Lower_Princes */ :int { 105 } //Z#153
@@ -741,7 +741,7 @@
     trans:intvector { -1767211196, -1206954000, -1191358800, -1175371200, -1159822800, -633816000, -622065600, -602280000, -591829200, -570744000, -560206800, -539121600, -531349200, -191361600, -184194000, -155160000, -150066000, -128894400, -121122000, -99950400, -89586000, -68414400, -57963600, 499752000, 511239600, 530596800, 540270000, 562132800, 571201200, 750830400, 761713200 }
     typeOffsets:intvector { -14404, 0, -14400, 0, -14400, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201" }
-    links:intvector { 156, 371 }
+    links:intvector { 156, 372 }
   } //Z#156
   /* America/Marigot */ :int { 186 } //Z#157
   /* America/Martinique */ :table {
@@ -764,7 +764,7 @@
     finalRule { "Mexico" }
     finalRaw:int { -25200 }
     finalYear:int { 2003 }
-    links:intvector { 160, 530 }
+    links:intvector { 160, 532 }
   } //Z#160
   /* America/Mendoza */ :int { 70 } //Z#161
   /* America/Menominee */ :table {
@@ -800,7 +800,7 @@
     finalRule { "Mexico" }
     finalRaw:int { -21600 }
     finalYear:int { 2003 }
-    links:intvector { 165, 531 }
+    links:intvector { 165, 533 }
   } //Z#165
   /* America/Miquelon */ :table {
     trans:intvector { -1850328920, 326001600, 544597200, 562132800, 576046800, 594187200, 607496400, 625636800, 638946000, 657086400, 671000400, 688536000, 702450000, 719985600, 733899600, 752040000, 765349200, 783489600, 796798800, 814939200, 828853200, 846388800, 860302800, 877838400, 891752400, 909288000, 923202000, 941342400, 954651600, 972792000, 986101200, 1004241600, 1018155600, 1035691200, 1049605200, 1067140800, 1081054800, 1099195200, 1112504400, 1130644800, 1143954000, 1162094400, 1173589200, 1194148800 }
@@ -850,7 +850,7 @@
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-    links:intvector { 173, 612 }
+    links:intvector { 173, 614 }
   } //Z#173
   /* America/Nipigon */ :table {
     transPre32:intvector { -1, 1928233280 }
@@ -874,7 +874,7 @@
     trans:intvector { -1767217820, -1206961200, -1191366000, -1175378400, -1159830000, -633823200, -622072800, -602287200, -591836400, -570751200, -560214000, -539128800, -531356400, -191368800, -184201200, -155167200, -150073200, -128901600, -121129200, -99957600, -89593200, -68421600, -57970800, 499744800, 511232400, 530589600, 540262800, 562125600, 571194000, 592970400, 602038800, 624420000, 634698000, 938916000, 951613200, 970970400, 971571600, 1003024800, 1013907600 }
     typeOffsets:intvector { -7780, 0, -7200, 0, -7200, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    links:intvector { 176, 369 }
+    links:intvector { 176, 370 }
   } //Z#176
   /* America/North_Dakota/Beulah */ :table {
     transPre32:intvector { -1, 1577323696 }
@@ -936,7 +936,7 @@
     trans:intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -820519140, -812653140, -796845540, -84380400, -68659200 }
     typeOffsets:intvector { -26898, 0, -25200, 0, -25200, 3600 }
     typeMap:bin { "0102010201020102010201" }
-    links:intvector { 184, 538, 609 }
+    links:intvector { 184, 540, 611 }
   } //Z#184
   /* America/Port-au-Prince */ :table {
     transPre32:intvector { -1, 1770463056 }
@@ -961,7 +961,7 @@
     trans:intvector { -873057600, -765399600 }
     typeOffsets:intvector { -15865, 0, -14400, 0, -14400, 3600 }
     typeMap:bin { "010201" }
-    links:intvector { 189, 540 }
+    links:intvector { 189, 542 }
   } //Z#189
   /* America/Rainy_River */ :table {
     transPre32:intvector { -1, 1928234792 }
@@ -989,7 +989,7 @@
     trans:intvector { -2030202084, -1632063600, -1615132800, -1251651600, -1238349600, -1220202000, -1206900000, -1188752400, -1175450400, -1156698000, -1144000800, -1125248400, -1111946400, -1032714000, -1016992800, -1001264400, -986148000, -969814800, -954093600, -937760400, -922039200, -906310800, -890589600, -880210800, -765388800, -748450800, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -620838000, -608140800, -589388400, -576086400, -557938800, -544636800, -526489200, -513187200, -495039600, -481737600, -463590000, -450288000, -431535600, -418233600, -400086000, -386784000, -337186800, -321465600, -305737200 }
     typeOffsets:intvector { -25116, 0, -25200, 0, -25200, 3600, -21600, 0 }
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020103" }
-    links:intvector { 193, 380, 385 }
+    links:intvector { 193, 381, 386 }
   } //Z#193
   /* America/Resolute */ :table {
     trans:intvector { -704937600, -147895200, -131565600, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1173600000, 1194159600 }
@@ -1003,7 +1003,7 @@
     trans:intvector { -1767209328, -1206950400, -1191355200, -1175367600, -1159819200, -633812400, -622062000, -602276400, -591825600, -570740400, -560203200, -539118000, -531345600, -191358000, -184190400, -155156400, -150062400, -128890800, -121118400, -99946800, -89582400, -68410800, -57960000, 499755600, 511243200, 530600400, 540273600, 562136400, 571204800, 1214283600, 1384056000 }
     typeOffsets:intvector { -16272, 0, -18000, 0, -18000, 3600, -14400, 0 }
     typeMap:bin { "01020102010201020102010201020102010201020102010201020102010301" }
-    links:intvector { 187, 195, 368 }
+    links:intvector { 187, 195, 369 }
   } //Z#195
   /* America/Rosario */ :int { 67 } //Z#196
   /* America/Santa_Isabel */ :int { 215 } //Z#197
@@ -1013,10 +1013,13 @@
     typeMap:bin { "010201020102010201020102010201020102010201020102010201020103" }
   } //Z#198
   /* America/Santiago */ :table {
-    trans:intvector { -1892661434, -1688410800, -1619205434, -1593806400, -1335986234, -1317585600, -1304362800, -1286049600, -1272826800, -1254513600, -1241290800, -1222977600, -1209754800, -1191355200, -1178132400, -870552000, -865278000, -740520000, -736376400, -718056000, -713649600, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1430017200 }
-    typeOffsets:intvector { -16966, 0, -18000, 0, -18000, 3600, -14400, 0, -14400, 3600, -10800, 0 }
-    typeMap:bin { "01000300020102010201020102010301030403010304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030405" }
-    links:intvector { 199, 387 }
+    trans:intvector { -1892661434, -1688410800, -1619205434, -1593806400, -1335986234, -1317585600, -1304362800, -1286049600, -1272826800, -1254513600, -1241290800, -1222977600, -1209754800, -1191355200, -1178132400, -870552000, -865278000, -740520000, -736376400, -718056000, -713649600, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1463281200, 1471147200 }
+    typeOffsets:intvector { -16966, 0, -18000, 0, -18000, 3600, -14400, 0, -14400, 3600 }
+    typeMap:bin { "0100030002010201020102010201030103040301030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304" }
+    finalRule { "Chile" }
+    finalRaw:int { -14400 }
+    finalYear:int { 2017 }
+    links:intvector { 199, 388 }
   } //Z#199
   /* America/Santo_Domingo */ :table {
     transPre32:intvector { -1, 1770462472 }
@@ -1032,7 +1035,7 @@
     finalRule { "Brazil" }
     finalRaw:int { -10800 }
     finalYear:int { 2039 }
-    links:intvector { 201, 366, 370 }
+    links:intvector { 201, 367, 371 }
   } //Z#201
   /* America/Scoresbysund */ :table {
     trans:intvector { -1686090728, 323841600, 338961600, 354679200, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -1060,7 +1063,7 @@
     finalRule { "Canada" }
     finalRaw:int { -12600 }
     finalYear:int { 2013 }
-    links:intvector { 206, 374, 383 }
+    links:intvector { 206, 375, 384 }
   } //Z#206
   /* America/St_Kitts */ :int { 186 } //Z#207
   /* America/St_Lucia */ :int { 186 } //Z#208
@@ -1100,7 +1103,7 @@
     finalRule { "US" }
     finalRaw:int { -28800 }
     finalYear:int { 2011 }
-    links:intvector { 115, 197, 215, 529 }
+    links:intvector { 115, 197, 215, 531 }
   } //Z#215
   /* America/Toronto */ :table {
     transPre32:intvector { -1, 1928231148 }
@@ -1110,7 +1113,7 @@
     finalRule { "Canada" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-    links:intvector { 170, 216, 381 }
+    links:intvector { 170, 216, 382 }
   } //Z#216
   /* America/Tortola */ :int { 186 } //Z#217
   /* America/Vancouver */ :table {
@@ -1121,7 +1124,7 @@
     finalRule { "Canada" }
     finalRaw:int { -28800 }
     finalYear:int { 2008 }
-    links:intvector { 218, 384 }
+    links:intvector { 218, 385 }
   } //Z#218
   /* America/Virgin */ :int { 186 } //Z#219
   /* America/Whitehorse */ :table {
@@ -1132,7 +1135,7 @@
     finalRule { "Canada" }
     finalRaw:int { -28800 }
     finalYear:int { 2008 }
-    links:intvector { 220, 386 }
+    links:intvector { 220, 387 }
   } //Z#220
   /* America/Winnipeg */ :table {
     transPre32:intvector { -1, 1692709012 }
@@ -1142,7 +1145,7 @@
     finalRule { "Canada" }
     finalRaw:int { -21600 }
     finalYear:int { 2008 }
-    links:intvector { 221, 379 }
+    links:intvector { 221, 380 }
   } //Z#221
   /* America/Yakutat */ :table {
     transPre32:intvector { -1, 1069602431, -1, 2106013631 }
@@ -1187,18 +1190,21 @@
     typeOffsets:intvector { 0, 0, 18000, 0, 21600, 0 }
     typeMap:bin { "0201" }
   } //Z#228
-  /* Antarctica/McMurdo */ :int { 544 } //Z#229
+  /* Antarctica/McMurdo */ :int { 546 } //Z#229
   /* Antarctica/Palmer */ :table {
-    trans:intvector { -157766400, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 389070000, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1430017200 }
+    trans:intvector { -157766400, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 389070000, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1463281200, 1471147200 }
     typeOffsets:intvector { 0, 0, -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
-    typeMap:bin { "0201020102010201020103040301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" }
+    typeMap:bin { "020102010201020102010304030102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" }
+    finalRule { "Chile" }
+    finalRaw:int { -14400 }
+    finalYear:int { 2017 }
   } //Z#230
   /* Antarctica/Rothera */ :table {
     trans:intvector { 218246400 }
     typeOffsets:intvector { 0, 0, -10800, 0 }
     typeMap:bin { "01" }
   } //Z#231
-  /* Antarctica/South_Pole */ :int { 544 } //Z#232
+  /* Antarctica/South_Pole */ :int { 546 } //Z#232
   /* Antarctica/Syowa */ :table {
     trans:intvector { -407808000 }
     typeOffsets:intvector { 0, 0, 10800, 0 }
@@ -1217,12 +1223,12 @@
     typeOffsets:intvector { 0, 0, 21600, 0 }
     typeMap:bin { "01" }
   } //Z#235
-  /* Arctic/Longyearbyen */ :int { 467 } //Z#236
+  /* Arctic/Longyearbyen */ :int { 469 } //Z#236
   /* Asia/Aden */ :int { 305 } //Z#237
   /* Asia/Almaty */ :table {
-    trans:intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400 }
-    typeOffsets:intvector { 18468, 0, 18000, 0, 21600, 0, 21600, 3600 }
-    typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
+    trans:intvector { -1441170468, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701812800, 717537600, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400 }
+    typeOffsets:intvector { 18468, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
+    typeMap:bin { "010304030403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030403" }
   } //Z#238
   /* Asia/Amman */ :table {
     trans:intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938124000, 954367200, 970178400, 985816800, 1001628000, 1017352800, 1033077600, 1048802400, 1066946400, 1080252000, 1097791200, 1112306400, 1128031200, 1143756000, 1161900000, 1175205600, 1193349600, 1206655200, 1225404000, 1238104800, 1256853600, 1269554400, 1288303200, 1301608800, 1319752800, 1333058400, 1387486800, 1395957600, 1414706400 }
@@ -1233,19 +1239,19 @@
     finalYear:int { 2015 }
   } //Z#239
   /* Asia/Anadyr */ :table {
-    trans:intvector { -1441194596, -1247572800, 354884400, 370692000, 386420400, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800, 828194400, 846338400, 859644000, 877788000, 891093600, 909237600, 922543200, 941292000, 953992800, 972741600, 985442400, 1004191200, 1017496800, 1035640800, 1048946400, 1067090400, 1080396000, 1099144800, 1111845600, 1130594400, 1143295200, 1162044000, 1174744800, 1193493600, 1206799200, 1224943200, 1238248800, 1256392800, 1269698400, 1288450800, 1301151600 }
+    trans:intvector { -1441194596, -1247572800, 354884400, 370692000, 386420400, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701791200, 717516000, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800, 828194400, 846338400, 859644000, 877788000, 891093600, 909237600, 922543200, 941292000, 953992800, 972741600, 985442400, 1004191200, 1017496800, 1035640800, 1048946400, 1067090400, 1080396000, 1099144800, 1111845600, 1130594400, 1143295200, 1162044000, 1174744800, 1193493600, 1206799200, 1224943200, 1238248800, 1256392800, 1269698400, 1288450800, 1301151600 }
     typeOffsets:intvector { 42596, 0, 39600, 0, 39600, 3600, 43200, 0, 43200, 3600, 46800, 0, 46800, 3600 }
     typeMap:bin { "03050605040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040304030403040304030403020103" }
   } //Z#240
   /* Asia/Aqtau */ :table {
-    trans:intvector { -1441164064, -1247544000, 370724400, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
+    trans:intvector { -1441164064, -1247544000, 370724400, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701816400, 717541200, 733266000, 748990800, 764715600, 780440400, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600 }
     typeOffsets:intvector { 12064, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
-    typeMap:bin { "010305040304030403040304030403040304030403040304030403020102010201020102010201020102010201020103" }
+    typeMap:bin { "0103050403040304030403040304030403040304030201030403040304010201020102010201020102010201020102010203" }
   } //Z#241
   /* Asia/Aqtobe */ :table {
-    trans:intvector { -1441165720, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000 }
-    typeOffsets:intvector { 13720, 0, 14400, 0, 18000, 0, 18000, 3600, 21600, 0 }
-    typeMap:bin { "010203040302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
+    trans:intvector { -1441165720, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701816400, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000 }
+    typeOffsets:intvector { 13720, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
+    typeMap:bin { "010304050403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030403" }
   } //Z#242
   /* Asia/Ashgabat */ :table {
     trans:intvector { -1441166012, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000 }
@@ -1262,23 +1268,20 @@
   } //Z#245
   /* Asia/Bahrain */ :int { 302 } //Z#246
   /* Asia/Baku */ :table {
-    trans:intvector { -1441163964, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 686098800, 701812800, 717534000, 828234000, 846378000, 859680000, 877824000 }
+    trans:intvector { -1441163964, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 686098800, 701823600, 717548400, 828234000, 846378000, 859680000, 877824000, 891129600, 909273600, 922579200, 941328000, 954028800, 972777600, 985478400, 1004227200, 1017532800, 1035676800, 1048982400, 1067126400, 1080432000, 1099180800, 1111881600, 1130630400, 1143331200, 1162080000, 1174780800, 1193529600, 1206835200, 1224979200, 1238284800, 1256428800, 1269734400, 1288483200, 1301184000, 1319932800, 1332633600, 1351382400, 1364688000, 1382832000, 1396137600, 1414281600, 1427587200, 1445731200 }
     typeOffsets:intvector { 11964, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
-    typeMap:bin { "010304030403040304030403040304030403040304030201020304030403" }
-    finalRule { "Azer" }
-    finalRaw:int { 14400 }
-    finalYear:int { 1998 }
+    typeMap:bin { "010304030403040304030403040304030403040304030201020304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
   } //Z#247
   /* Asia/Bangkok */ :table {
     trans:intvector { -1570084924 }
     typeOffsets:intvector { 24124, 0, 25200, 0 }
     typeMap:bin { "01" }
-    links:intvector { 248, 299, 326 }
+    links:intvector { 248, 299, 327 }
   } //Z#248
   /* Asia/Barnaul */ :table {
-    trans:intvector { -1579844100, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686084400, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 801590400, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600, 1459022400 }
+    trans:intvector { -1579844100, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701809200, 717534000, 733258800, 748983600, 764708400, 780433200, 796158000, 801590400, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600, 1459022400 }
     typeOffsets:intvector { 20100, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
-    typeMap:bin { "010304030403040304030403040304030403040304030403040304030403040201020102010201020102010201020102010201020102010201020102010201030103" }
+    typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040201020102010201020102010201020102010201020102010201020102010201030103" }
   } //Z#249
   /* Asia/Beirut */ :table {
     transPre32:intvector { -1, 1454817976 }
@@ -1301,7 +1304,7 @@
   } //Z#252
   /* Asia/Calcutta */ :int { 283 } //Z#253
   /* Asia/Chita */ :table {
-    trans:intvector { -1579419232, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701791200, 717512400, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1080406800, 1099155600, 1111856400, 1130605200, 1143306000, 1162054800, 1174755600, 1193504400, 1206810000, 1224954000, 1238259600, 1256403600, 1269709200, 1288458000, 1301158800, 1414252800, 1459015200 }
+    trans:intvector { -1579419232, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701802000, 717526800, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1080406800, 1099155600, 1111856400, 1130605200, 1143306000, 1162054800, 1174755600, 1193504400, 1206810000, 1224954000, 1238259600, 1256403600, 1269709200, 1288458000, 1301158800, 1414252800, 1459015200 }
     typeOffsets:intvector { 27232, 0, 28800, 0, 28800, 3600, 32400, 0, 32400, 3600, 36000, 0 }
     typeMap:bin { "010304030403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030403040304030403040304030403050103" }
   } //Z#254
@@ -1335,7 +1338,7 @@
     trans:intvector { -891582800, -872058600, -862637400, -576138600, 1245430800, 1262278800 }
     typeOffsets:intvector { 21700, 0, 19800, 0, 21200, 0, 21600, 0, 21600, 3600, 23400, 0 }
     typeMap:bin { "02050105030403" }
-    links:intvector { 259, 261, 367 }
+    links:intvector { 259, 261, 368 }
   } //Z#261
   /* Asia/Dili */ :table {
     trans:intvector { -1830414140, -879152400, 199897200, 969120000 }
@@ -1376,13 +1379,13 @@
     trans:intvector { -2004073600, -1851577590, -852105600, -782643600, -767869200, -718095600, -457776000, -315648000, 171820800 }
     typeOffsets:intvector { 25600, 0, 25200, 0, 25590, 0, 28800, 0, 32400, 0 }
     typeMap:bin { "020103040103010301" }
-    links:intvector { 268, 306, 622 }
+    links:intvector { 268, 306, 624 }
   } //Z#268
   /* Asia/Hong_Kong */ :table {
     trans:intvector { -2056693002, -907389000, -891667800, -884246400, -766746000, -747981000, -728544600, -717049800, -694503000, -683785800, -668064600, -654755400, -636615000, -623305800, -605165400, -591856200, -573715800, -559801800, -542352600, -528352200, -510211800, -498112200, -478762200, -466662600, -446707800, -435213000, -415258200, -403158600, -383808600, -371709000, -352359000, -340259400, -320909400, -308809800, -288855000, -277360200, -257405400, -245910600, -225955800, -213856200, -194506200, -182406600, -163056600, -148537800, -132816600, -117088200, -101367000, -85638600, -69312600, -53584200, -37863000, -22134600, -6413400, 9315000, 25036200, 40764600, 56485800, 72214200, 88540200, 104268600, 119989800, 126041400, 151439400, 167167800, 182889000, 198617400, 214338600, 295385400, 309292200 }
     typeOffsets:intvector { 27402, 0, 28800, 0, 28800, 3600, 32400, 0 }
     typeMap:bin { "010201030102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    links:intvector { 269, 503 }
+    links:intvector { 269, 505 }
   } //Z#269
   /* Asia/Hovd */ :table {
     trans:intvector { -2032927596, 252439200, 417978000, 433785600, 449600400, 465321600, 481050000, 496771200, 512499600, 528220800, 543949200, 559670400, 575398800, 591120000, 606848400, 622569600, 638298000, 654624000, 670352400, 686073600, 701802000, 717523200, 733251600, 748972800, 764701200, 780422400, 796150800, 811872000, 828205200, 843926400, 859654800, 875376000, 891104400, 906825600, 988398000, 1001700000, 1017428400, 1033149600, 1048878000, 1064599200, 1080327600, 1096048800, 1111777200, 1127498400, 1143226800, 1159552800, 1427482800, 1443196800 }
@@ -1393,11 +1396,11 @@
     finalYear:int { 2016 }
   } //Z#270
   /* Asia/Irkutsk */ :table {
-    trans:intvector { -1575874625, -1247554800, 354902400, 370710000, 386438400, 402246000, 417974400, 433782000, 449596800, 465328800, 481053600, 496778400, 512503200, 528228000, 543952800, 559677600, 575402400, 591127200, 606852000, 622576800, 638301600, 654631200, 670356000, 686084400, 695761200, 701794800, 717516000, 733255200, 748980000, 764704800, 780429600, 796154400, 811879200, 828208800, 846352800, 859658400, 877802400, 891108000, 909252000, 922557600, 941306400, 954007200, 972756000, 985456800, 1004205600, 1017511200, 1035655200, 1048960800, 1067104800, 1080410400, 1099159200, 1111860000, 1130608800, 1143309600, 1162058400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200, 1256407200, 1269712800, 1288461600, 1301162400, 1414256400 }
+    trans:intvector { -1575874625, -1247554800, 354902400, 370710000, 386438400, 402246000, 417974400, 433782000, 449596800, 465328800, 481053600, 496778400, 512503200, 528228000, 543952800, 559677600, 575402400, 591127200, 606852000, 622576800, 638301600, 654631200, 670356000, 686084400, 695761200, 701805600, 717530400, 733255200, 748980000, 764704800, 780429600, 796154400, 811879200, 828208800, 846352800, 859658400, 877802400, 891108000, 909252000, 922557600, 941306400, 954007200, 972756000, 985456800, 1004205600, 1017511200, 1035655200, 1048960800, 1067104800, 1080410400, 1099159200, 1111860000, 1130608800, 1143309600, 1162058400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200, 1256407200, 1269712800, 1288461600, 1301162400, 1414256400 }
     typeOffsets:intvector { 25025, 0, 25200, 0, 25200, 3600, 28800, 0, 28800, 3600, 32400, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#271
-  /* Asia/Istanbul */ :int { 452 } //Z#272
+  /* Asia/Istanbul */ :int { 453 } //Z#272
   /* Asia/Jakarta */ :table {
     trans:intvector { -1451719200, -1172906400, -876641400, -766054800, -683883000, -620812800, -189415800 }
     typeOffsets:intvector { 25632, 0, 25200, 0, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
@@ -1416,7 +1419,7 @@
     finalRule { "Zion" }
     finalRaw:int { 7200 }
     finalYear:int { 2014 }
-    links:intvector { 275, 317, 519 }
+    links:intvector { 275, 317, 521 }
   } //Z#275
   /* Asia/Kabul */ :table {
     transPre32:intvector { -1, 1770429088 }
@@ -1425,7 +1428,7 @@
     typeMap:bin { "0102" }
   } //Z#276
   /* Asia/Kamchatka */ :table {
-    trans:intvector { -1487759676, -1247569200, 354888000, 370695600, 386424000, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800, 828194400, 846338400, 859644000, 877788000, 891093600, 909237600, 922543200, 941292000, 953992800, 972741600, 985442400, 1004191200, 1017496800, 1035640800, 1048946400, 1067090400, 1080396000, 1099144800, 1111845600, 1130594400, 1143295200, 1162044000, 1174744800, 1193493600, 1206799200, 1224943200, 1238248800, 1256392800, 1269698400, 1288450800, 1301151600 }
+    trans:intvector { -1487759676, -1247569200, 354888000, 370695600, 386424000, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701791200, 717516000, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800, 828194400, 846338400, 859644000, 877788000, 891093600, 909237600, 922543200, 941292000, 953992800, 972741600, 985442400, 1004191200, 1017496800, 1035640800, 1048946400, 1067090400, 1080396000, 1099144800, 1111845600, 1130594400, 1143295200, 1162044000, 1174744800, 1193493600, 1206799200, 1224943200, 1238248800, 1256392800, 1269698400, 1288450800, 1301151600 }
     typeOffsets:intvector { 38076, 0, 39600, 0, 39600, 3600, 43200, 0, 43200, 3600 }
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040304030403040304030403020103" }
   } //Z#277
@@ -1433,9 +1436,9 @@
     trans:intvector { -1988166492, -862637400, -764145000, -576135000, 1018119600, 1033840800, 1212260400, 1225476000, 1239735600, 1257012000 }
     typeOffsets:intvector { 16092, 0, 18000, 0, 18000, 3600, 19800, 0, 19800, 3600 }
     typeMap:bin { "03040301020102010201" }
-    links:intvector { 278, 537 }
+    links:intvector { 278, 539 }
   } //Z#278
-  /* Asia/Kashgar */ :int { 324 } //Z#279
+  /* Asia/Kashgar */ :int { 325 } //Z#279
   /* Asia/Kathmandu */ :table {
     trans:intvector { -1577943676, 504901800 }
     typeOffsets:intvector { 20476, 0, 19800, 0, 20700, 0 }
@@ -1444,7 +1447,7 @@
   } //Z#280
   /* Asia/Katmandu */ :int { 280 } //Z#281
   /* Asia/Khandyga */ :table {
-    trans:intvector { -1579424533, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701791200, 717512400, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1072882800, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1315832400, 1414252800 }
+    trans:intvector { -1579424533, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701802000, 717526800, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1072882800, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1315832400, 1414252800 }
     typeOffsets:intvector { 32533, 0, 28800, 0, 28800, 3600, 32400, 0, 32400, 3600, 36000, 0, 36000, 3600, 39600, 0 }
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403050605060506050605060506050605070503" }
   } //Z#282
@@ -1453,10 +1456,10 @@
     trans:intvector { -891582800, -872058600, -862637400, -764145000 }
     typeOffsets:intvector { 21208, 0, 19800, 0, 19800, 3600, 21200, 0, 23400, 0 }
     typeMap:bin { "0304010201" }
-    links:intvector { 253, 283, 505 }
+    links:intvector { 253, 283, 507 }
   } //Z#283
   /* Asia/Krasnoyarsk */ :table {
-    trans:intvector { -1577513486, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288465200, 1301166000, 1414260000 }
+    trans:intvector { -1577513486, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701809200, 717534000, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288465200, 1301166000, 1414260000 }
     typeOffsets:intvector { 22286, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600, 28800, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#284
@@ -1480,15 +1483,15 @@
     links:intvector { 288, 289 }
   } //Z#289
   /* Asia/Magadan */ :table {
-    trans:intvector { -1441188192, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1414245600 }
+    trans:intvector { -1441188192, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701794800, 717519600, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1414245600, 1461427200 }
     typeOffsets:intvector { 36192, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600, 43200, 0 }
-    typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030501" }
+    typeMap:bin { "010304030403040304030403040304030403040304030201030403040304030403040304030403040304030403040304030403040304030403040304030403050103" }
   } //Z#290
   /* Asia/Makassar */ :table {
     trans:intvector { -1172908656, -880272000, -766054800 }
     typeOffsets:intvector { 28656, 0, 28800, 0, 32400, 0 }
     typeMap:bin { "010201" }
-    links:intvector { 291, 321 }
+    links:intvector { 291, 322 }
   } //Z#291
   /* Asia/Manila */ :table {
     transPre32:intvector { -1, 350346256, -1, 2065645456 }
@@ -1504,27 +1507,27 @@
     finalRule { "EUAsia" }
     finalRaw:int { 7200 }
     finalYear:int { 2000 }
-    links:intvector { 294, 466 }
+    links:intvector { 294, 468 }
   } //Z#294
   /* Asia/Novokuznetsk */ :table {
-    trans:intvector { -1441259328, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288468800, 1301169600 }
+    trans:intvector { -1441259328, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701809200, 717534000, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1035658800, 1048964400, 1067108400, 1080414000, 1099162800, 1111863600, 1130612400, 1143313200, 1162062000, 1174762800, 1193511600, 1206817200, 1224961200, 1238266800, 1256410800, 1269716400, 1288468800, 1301169600 }
     typeOffsets:intvector { 20928, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
     typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403040304030403040304030403020103" }
   } //Z#295
   /* Asia/Novosibirsk */ :table {
-    trans:intvector { -1579476700, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701798400, 717519600, 733258800, 738086400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600 }
+    trans:intvector { -1579476700, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701809200, 717534000, 733258800, 738086400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600, 1469304000 }
     typeOffsets:intvector { 19900, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
-    typeMap:bin { "010304030403040304030403040304030403040304030201030403040201020102010201020102010201020102010201020102010201020102010201020102010301" }
+    typeMap:bin { "01030403040304030403040304030403040304030403020103040304020102010201020102010201020102010201020102010201020102010201020102010201030103" }
   } //Z#296
   /* Asia/Omsk */ :table {
-    trans:intvector { -1582088010, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600 }
+    trans:intvector { -1582088010, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600, 695768400, 701812800, 717537600, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600 }
     typeOffsets:intvector { 17610, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600, 25200, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#297
   /* Asia/Oral */ :table {
-    trans:intvector { -1441164324, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622591200, 638316000, 654645600, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1110830400 }
+    trans:intvector { -1441164324, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622591200, 638316000, 654645600, 670370400, 686095200, 695772000, 701816400, 717544800, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600 }
     typeOffsets:intvector { 12324, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
-    typeMap:bin { "01030405040304030403040304030403040302010201020102010201020102010201020102010201020102010201020103" }
+    typeMap:bin { "010304050403040304030403040304030403020102010201030201020102010201020102010201020102010201020102010203" }
   } //Z#298
   /* Asia/Phnom_Penh */ :int { 248 } //Z#299
   /* Asia/Pontianak */ :table {
@@ -1544,9 +1547,9 @@
     links:intvector { 246, 302 }
   } //Z#302
   /* Asia/Qyzylorda */ :table {
-    trans:intvector { -1441167712, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 695768400, 701802000, 717523200, 733262400, 748987200, 764712000, 780436800, 796161600, 811886400, 828216000, 846360000, 859665600, 877809600, 891115200, 909259200, 922564800, 941313600, 954014400, 972763200, 985464000, 1004212800, 1017518400, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400 }
-    typeOffsets:intvector { 15712, 0, 14400, 0, 18000, 0, 18000, 3600, 21600, 0, 21600, 3600 }
-    typeMap:bin { "01020304030203020302030203020302030203020302040504050405040504050405040504050405040504050405040504" }
+    trans:intvector { -1441167712, -1247544000, 354913200, 370720800, 386445600, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695768400, 701812800, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000 }
+    typeOffsets:intvector { 15712, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
+    typeMap:bin { "010304050403040304030403040304030403040304030203050403040304030403040304030403040304030403040304030405" }
   } //Z#303
   /* Asia/Rangoon */ :table {
     trans:intvector { -1577946280, -873268200, -778410000 }
@@ -1561,7 +1564,7 @@
   } //Z#305
   /* Asia/Saigon */ :int { 268 } //Z#306
   /* Asia/Sakhalin */ :table {
-    trans:intvector { -2031039048, -768560400, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 972748800, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1414249200, 1459008000 }
+    trans:intvector { -2031039048, -768560400, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701794800, 717519600, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 972748800, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1414249200, 1459008000 }
     typeOffsets:intvector { 34248, 0, 32400, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600 }
     typeMap:bin { "010405040504050405040504050405040504050405040302040504050405040504050403020302030203020302030203020302030203020302030203020302040204" }
   } //Z#307
@@ -1574,23 +1577,23 @@
     trans:intvector { -1948782472, -1830414600, -498128400, -462702600, -451733400, -429784200, -418296600, -399544200, -387451800, -368094600, -356002200, -336645000, -324552600, -305195400, -293103000, -264933000, 547578000, 560883600, 579027600, 592333200 }
     typeOffsets:intvector { 30472, 0, 30600, 0, 30600, 3600, 32400, 0, 32400, 3600 }
     typeMap:bin { "0103010201020102010201020102010304030403" }
-    links:intvector { 309, 589 }
+    links:intvector { 309, 591 }
   } //Z#309
   /* Asia/Shanghai */ :table {
     transPre32:intvector { -1, 2117485353 }
     trans:intvector { -933494400, -923130000, -908784000, -891594000, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 }
     typeOffsets:intvector { 29143, 0, 28800, 0, 28800, 3600 }
     typeMap:bin { "0102010201020102010201020102010201" }
-    links:intvector { 256, 257, 266, 310, 377, 539 }
+    links:intvector { 256, 257, 266, 310, 378, 541 }
   } //Z#310
   /* Asia/Singapore */ :table {
     trans:intvector { -2038200925, -1167634800, -1073028000, -894180000, -879665400, -767005200, 378664200 }
     typeOffsets:intvector { 24925, 0, 25200, 0, 25200, 1200, 26400, 0, 27000, 0, 28800, 0, 32400, 0 }
     typeMap:bin { "01020304060405" }
-    links:intvector { 311, 591 }
+    links:intvector { 311, 593 }
   } //Z#311
   /* Asia/Srednekolymsk */ :table {
-    trans:intvector { -1441188892, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1414245600 }
+    trans:intvector { -1441188892, -1247565600, 354891600, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701794800, 717519600, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1414245600 }
     typeOffsets:intvector { 36892, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600, 43200, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
   } //Z#312
@@ -1599,7 +1602,7 @@
     trans:intvector { -1017820800, -766224000, -745833600, -733827600, -716889600, -699613200, -683884800, -670669200, -652348800, -639133200, -620812800, -607597200, -589276800, -576061200, -562924800, -541760400, -528710400, -510224400, -497174400, -478688400, -465638400, -449830800, -434016000, -418208400, -402480000, -386672400, -370944000, -355136400, -339408000, -323600400, -302515200, -291978000, -270979200, -260442000, 133977600, 149785200, 165513600, 181321200, 299606400, 307551600 }
     typeOffsets:intvector { 29160, 0, 28800, 0, 28800, 3600, 32400, 0 }
     typeMap:bin { "0103010201020102010201020102010201020102010201020102010201020102010201020102010201" }
-    links:intvector { 313, 588 }
+    links:intvector { 313, 590 }
   } //Z#313
   /* Asia/Tashkent */ :table {
     trans:intvector { -1441168631, -1247547600, 354909600, 370717200, 386445600, 402253200, 417981600, 433789200, 449604000, 465336000, 481060800, 496785600, 512510400, 528235200, 543960000, 559684800, 575409600, 591134400, 606859200, 622584000, 638308800, 654638400, 670363200, 686091600 }
@@ -1618,7 +1621,7 @@
     finalRule { "Iran" }
     finalRaw:int { 12600 }
     finalYear:int { 2037 }
-    links:intvector { 316, 518 }
+    links:intvector { 316, 520 }
   } //Z#316
   /* Asia/Tel_Aviv */ :int { 275 } //Z#317
   /* Asia/Thimbu */ :int { 319 } //Z#318
@@ -1633,9 +1636,14 @@
     trans:intvector { -683794800, -672393600, -654764400, -640944000, -620290800, -609494400, -588841200, -578044800 }
     typeOffsets:intvector { 33539, 0, 32400, 0, 32400, 3600 }
     typeMap:bin { "010201020102010201" }
-    links:intvector { 320, 520, 522 }
+    links:intvector { 320, 522, 524 }
   } //Z#320
-  /* Asia/Ujung_Pandang */ :int { 291 } //Z#321
+  /* Asia/Tomsk */ :table {
+    trans:intvector { -1578807591, -1247551200, 354906000, 370713600, 386442000, 402249600, 417978000, 433785600, 449600400, 465332400, 481057200, 496782000, 512506800, 528231600, 543956400, 559681200, 575406000, 591130800, 606855600, 622580400, 638305200, 654634800, 670359600, 686088000, 695764800, 701809200, 717534000, 733258800, 748983600, 764708400, 780433200, 796158000, 811882800, 828212400, 846356400, 859662000, 877806000, 891111600, 909255600, 922561200, 941310000, 954010800, 972759600, 985460400, 1004209200, 1017514800, 1020193200, 1035662400, 1048968000, 1067112000, 1080417600, 1099166400, 1111867200, 1130616000, 1143316800, 1162065600, 1174766400, 1193515200, 1206820800, 1224964800, 1238270400, 1256414400, 1269720000, 1288468800, 1301169600, 1414263600, 1464465600 }
+    typeOffsets:intvector { 20391, 0, 21600, 0, 21600, 3600, 25200, 0, 25200, 3600 }
+    typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304020102010201020102010201020102010201030103" }
+  } //Z#321
+  /* Asia/Ujung_Pandang */ :int { 291 } //Z#322
   /* Asia/Ulaanbaatar */ :table {
     trans:intvector { -2032931252, 252435600, 417974400, 433782000, 449596800, 465318000, 481046400, 496767600, 512496000, 528217200, 543945600, 559666800, 575395200, 591116400, 606844800, 622566000, 638294400, 654620400, 670348800, 686070000, 701798400, 717519600, 733248000, 748969200, 764697600, 780418800, 796147200, 811868400, 828201600, 843922800, 859651200, 875372400, 891100800, 906822000, 988394400, 1001696400, 1017424800, 1033146000, 1048874400, 1064595600, 1080324000, 1096045200, 1111773600, 1127494800, 1143223200, 1159549200, 1427479200, 1443193200 }
     typeOffsets:intvector { 25652, 0, 25200, 0, 28800, 0, 28800, 3600 }
@@ -1643,42 +1651,42 @@
     finalRule { "Mongol" }
     finalRaw:int { 28800 }
     finalYear:int { 2016 }
-    links:intvector { 322, 323 }
-  } //Z#322
-  /* Asia/Ulan_Bator */ :int { 322 } //Z#323
+    links:intvector { 323, 324 }
+  } //Z#323
+  /* Asia/Ulan_Bator */ :int { 323 } //Z#324
   /* Asia/Urumqi */ :table {
     trans:intvector { -1325483420 }
     typeOffsets:intvector { 21020, 0, 21600, 0 }
     typeMap:bin { "01" }
-    links:intvector { 279, 324 }
-  } //Z#324
+    links:intvector { 279, 325 }
+  } //Z#325
   /* Asia/Ust-Nera */ :table {
-    trans:intvector { -1579426374, -1247558400, 354898800, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701784000, 717505200, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1315828800, 1414249200 }
+    trans:intvector { -1579426374, -1247558400, 354898800, 370699200, 386427600, 402235200, 417963600, 433771200, 449586000, 465318000, 481042800, 496767600, 512492400, 528217200, 543942000, 559666800, 575391600, 591116400, 606841200, 622566000, 638290800, 654620400, 670345200, 686073600, 695750400, 701794800, 717519600, 733244400, 748969200, 764694000, 780418800, 796143600, 811868400, 828198000, 846342000, 859647600, 877791600, 891097200, 909241200, 922546800, 941295600, 953996400, 972745200, 985446000, 1004194800, 1017500400, 1035644400, 1048950000, 1067094000, 1080399600, 1099148400, 1111849200, 1130598000, 1143298800, 1162047600, 1174748400, 1193497200, 1206802800, 1224946800, 1238252400, 1256396400, 1269702000, 1288450800, 1301151600, 1315828800, 1414249200 }
     typeOffsets:intvector { 34374, 0, 28800, 0, 32400, 0, 36000, 0, 36000, 3600, 39600, 0, 39600, 3600, 43200, 0 }
     typeMap:bin { "010206050605060506050605060506050605060506050403050605060506050605060506050605060506050605060506050605060506050605060506050605070503" }
-  } //Z#325
-  /* Asia/Vientiane */ :int { 248 } //Z#326
+  } //Z#326
+  /* Asia/Vientiane */ :int { 248 } //Z#327
   /* Asia/Vladivostok */ :table {
-    trans:intvector { -1487321251, -1247562000, 354895200, 370702800, 386431200, 402238800, 417967200, 433774800, 449589600, 465321600, 481046400, 496771200, 512496000, 528220800, 543945600, 559670400, 575395200, 591120000, 606844800, 622569600, 638294400, 654624000, 670348800, 686077200, 695754000, 701787600, 717508800, 733248000, 748972800, 764697600, 780422400, 796147200, 811872000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 972748800, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1414249200 }
+    trans:intvector { -1487321251, -1247562000, 354895200, 370702800, 386431200, 402238800, 417967200, 433774800, 449589600, 465321600, 481046400, 496771200, 512496000, 528220800, 543945600, 559670400, 575395200, 591120000, 606844800, 622569600, 638294400, 654624000, 670348800, 686077200, 695754000, 701798400, 717523200, 733248000, 748972800, 764697600, 780422400, 796147200, 811872000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 972748800, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143302400, 1162051200, 1174752000, 1193500800, 1206806400, 1224950400, 1238256000, 1256400000, 1269705600, 1288454400, 1301155200, 1414249200 }
     typeOffsets:intvector { 31651, 0, 32400, 0, 32400, 3600, 36000, 0, 36000, 3600, 39600, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
-  } //Z#327
+  } //Z#328
   /* Asia/Yakutsk */ :table {
-    trans:intvector { -1579423138, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701791200, 717512400, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1080406800, 1099155600, 1111856400, 1130605200, 1143306000, 1162054800, 1174755600, 1193504400, 1206810000, 1224954000, 1238259600, 1256403600, 1269709200, 1288458000, 1301158800, 1414252800 }
+    trans:intvector { -1579423138, -1247558400, 354898800, 370706400, 386434800, 402242400, 417970800, 433778400, 449593200, 465325200, 481050000, 496774800, 512499600, 528224400, 543949200, 559674000, 575398800, 591123600, 606848400, 622573200, 638298000, 654627600, 670352400, 686080800, 695757600, 701802000, 717526800, 733251600, 748976400, 764701200, 780426000, 796150800, 811875600, 828205200, 846349200, 859654800, 877798800, 891104400, 909248400, 922554000, 941302800, 954003600, 972752400, 985453200, 1004202000, 1017507600, 1035651600, 1048957200, 1067101200, 1080406800, 1099155600, 1111856400, 1130605200, 1143306000, 1162054800, 1174755600, 1193504400, 1206810000, 1224954000, 1238259600, 1256403600, 1269709200, 1288458000, 1301158800, 1414252800 }
     typeOffsets:intvector { 31138, 0, 28800, 0, 28800, 3600, 32400, 0, 32400, 3600, 36000, 0 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
-  } //Z#328
+  } //Z#329
   /* Asia/Yekaterinburg */ :table {
-    trans:intvector { -1688270553, -1592610305, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701805600, 717526800, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1111870800, 1130619600, 1143320400, 1162069200, 1174770000, 1193518800, 1206824400, 1224968400, 1238274000, 1256418000, 1269723600, 1288472400, 1301173200, 1414267200 }
+    trans:intvector { -1688270553, -1592610305, -1247544000, 354913200, 370720800, 386449200, 402256800, 417985200, 433792800, 449607600, 465339600, 481064400, 496789200, 512514000, 528238800, 543963600, 559688400, 575413200, 591138000, 606862800, 622587600, 638312400, 654642000, 670366800, 686095200, 695772000, 701816400, 717541200, 733266000, 748990800, 764715600, 780440400, 796165200, 811890000, 828219600, 846363600, 859669200, 877813200, 891118800, 909262800, 922568400, 941317200, 954018000, 972766800, 985467600, 1004216400, 1017522000, 1035666000, 1048971600, 1067115600, 1080421200, 1099170000, 1111870800, 1130619600, 1143320400, 1162069200, 1174770000, 1193518800, 1206824400, 1224968400, 1238274000, 1256418000, 1269723600, 1288472400, 1301173200, 1414267200 }
     typeOffsets:intvector { 14553, 0, 13505, 0, 14400, 0, 14400, 3600, 18000, 0, 18000, 3600, 21600, 0 }
     typeMap:bin { "010204050405040504050405040504050405040504050403020405040504050405040504050405040504050405040504050405040504050405040504050405040604" }
-  } //Z#329
+  } //Z#330
   /* Asia/Yerevan */ :table {
-    trans:intvector { -1441162680, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 686098800, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1111874400, 1130623200, 1143324000, 1162072800, 1174773600, 1193522400, 1206828000, 1224972000, 1238277600, 1256421600, 1269727200, 1288476000, 1301176800, 1319925600 }
+    trans:intvector { -1441162680, -405140400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622591200, 638316000, 654645600, 670370400, 686098800, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1111874400, 1130623200, 1143324000, 1162072800, 1174773600, 1193522400, 1206828000, 1224972000, 1238277600, 1256421600, 1269727200, 1288476000, 1301176800, 1319925600 }
     typeOffsets:intvector { 10680, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     typeMap:bin { "0103040304030403040304030403040304030403040302010201020102010203040304030403040304030403040304030403040304030403040304030403" }
-    links:intvector { 330, 532 }
-  } //Z#330
+    links:intvector { 331, 534 }
+  } //Z#331
   /* Atlantic/Azores */ :table {
     transPre32:intvector { -1, 1581063056 }
     trans:intvector { -1830377128, -1689548400, -1677794400, -1667430000, -1647730800, -1635807600, -1616194800, -1604358000, -1584658800, -1572735600, -1553036400, -1541199600, -1521500400, -1442444400, -1426806000, -1379286000, -1364770800, -1348441200, -1333321200, -1316386800, -1301266800, -1284332400, -1269817200, -1221433200, -1206918000, -1191193200, -1175468400, -1127689200, -1111964400, -1096844400, -1080514800, -1063580400, -1049065200, -1033340400, -1017615600, -1002495600, -986166000, -969231600, -950482800, -942015600, -922662000, -906937200, -891126000, -877302000, -873676800, -864000000, -857948400, -845852400, -842832000, -831340800, -825894000, -814402800, -810777600, -799891200, -794444400, -782953200, -779328000, -768441600, -762994800, -749084400, -733359600, -717624000, -701899200, -686174400, -670449600, -654724800, -639000000, -591825600, -575496000, -559771200, -544046400, -528321600, -512596800, -496872000, -481147200, -465422400, -449697600, -433972800, -417643200, -401918400, -386193600, -370468800, -354744000, -339019200, -323294400, -307569600, -291844800, -276120000, -260395200, -244670400, -228340800, -212616000, -196891200, -181166400, -165441600, -149716800, -133992000, -118267200, 228272400, 243997200, 260326800, 276051600, 291776400, 307504800, 323226000, 338954400, 354679200, 370404000, 386128800, 401853600, 417582000, 433303200, 449028000, 465357600, 481082400, 496807200, 512532000, 528256800, 543981600, 559706400, 575431200, 591156000, 606880800, 622605600, 638330400, 654660000, 670384800, 686109600, 701834400, 717559200, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -1687,7 +1695,7 @@
     finalRule { "EU" }
     finalRaw:int { -3600 }
     finalYear:int { 1997 }
-  } //Z#331
+  } //Z#332
   /* Atlantic/Bermuda */ :table {
     trans:intvector { -1262281242, 136360800, 152082000, 167810400, 183531600, 199260000, 215586000, 230709600, 247035600, 262764000, 278485200, 294213600, 309934800, 325663200, 341384400, 357112800, 372834000, 388562400, 404888400, 420012000, 436338000, 452066400, 467787600, 483516000, 499237200, 514965600, 530686800, 544600800, 562136400, 576050400, 594190800, 607500000, 625640400, 638949600, 657090000, 671004000, 688539600, 702453600, 719989200, 733903200, 752043600, 765352800, 783493200, 796802400, 814942800, 828856800, 846392400, 860306400, 877842000, 891756000, 909291600, 923205600, 941346000, 954655200, 972795600, 986104800, 1004245200, 1018159200, 1035694800, 1049608800, 1067144400, 1081058400, 1099198800, 1112508000, 1130648400, 1143957600, 1162098000, 1173592800, 1194152400 }
     typeOffsets:intvector { -15558, 0, -14400, 0, -14400, 3600 }
@@ -1695,7 +1703,7 @@
     finalRule { "US" }
     finalRaw:int { -14400 }
     finalYear:int { 2008 }
-  } //Z#332
+  } //Z#333
   /* Atlantic/Canary */ :table {
     trans:intvector { -1509663504, -733874400, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -3696, 0, -3600, 0, 0, 0, 0, 3600 }
@@ -1703,13 +1711,13 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-  } //Z#333
+  } //Z#334
   /* Atlantic/Cape_Verde */ :table {
     trans:intvector { -1988144756, -862610400, -764118000, 186120000 }
     typeOffsets:intvector { -5644, 0, -7200, 0, -7200, 3600, -3600, 0 }
     typeMap:bin { "01020103" }
-  } //Z#334
-  /* Atlantic/Faeroe */ :int { 336 } //Z#335
+  } //Z#335
+  /* Atlantic/Faeroe */ :int { 337 } //Z#336
   /* Atlantic/Faroe */ :table {
     trans:intvector { -1955748776, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -1624, 0, 0, 0, 0, 3600 }
@@ -1717,9 +1725,9 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-    links:intvector { 335, 336 }
-  } //Z#336
-  /* Atlantic/Jan_Mayen */ :int { 467 } //Z#337
+    links:intvector { 336, 337 }
+  } //Z#337
+  /* Atlantic/Jan_Mayen */ :int { 469 } //Z#338
   /* Atlantic/Madeira */ :table {
     trans:intvector { -1830379944, -1689552000, -1677798000, -1667433600, -1647734400, -1635811200, -1616198400, -1604361600, -1584662400, -1572739200, -1553040000, -1541203200, -1521504000, -1442448000, -1426809600, -1379289600, -1364774400, -1348444800, -1333324800, -1316390400, -1301270400, -1284336000, -1269820800, -1221436800, -1206921600, -1191196800, -1175472000, -1127692800, -1111968000, -1096848000, -1080518400, -1063584000, -1049068800, -1033344000, -1017619200, -1002499200, -986169600, -969235200, -950486400, -942019200, -922665600, -906940800, -891129600, -877305600, -873680400, -864003600, -857952000, -845856000, -842835600, -831344400, -825897600, -814406400, -810781200, -799894800, -794448000, -782956800, -779331600, -768445200, -762998400, -749088000, -733363200, -717627600, -701902800, -686178000, -670453200, -654728400, -639003600, -591829200, -575499600, -559774800, -544050000, -528325200, -512600400, -496875600, -481150800, -465426000, -449701200, -433976400, -417646800, -401922000, -386197200, -370472400, -354747600, -339022800, -323298000, -307573200, -291848400, -276123600, -260398800, -244674000, -228344400, -212619600, -196894800, -181170000, -165445200, -149720400, -133995600, -118270800, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -4056, 0, -3600, 0, -3600, 3600, -3600, 7200, 0, 0, 0, 3600 }
@@ -1727,25 +1735,25 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-  } //Z#338
+  } //Z#339
   /* Atlantic/Reykjavik */ :table {
     trans:intvector { -1956609120, -1668211200, -1647212400, -1636675200, -1613430000, -1605139200, -1581894000, -1539561600, -1531350000, -968025600, -952293600, -942008400, -920239200, -909957600, -888789600, -877903200, -857944800, -846453600, -826495200, -815004000, -795045600, -783554400, -762991200, -752104800, -731541600, -717631200, -700092000, -686181600, -668642400, -654732000, -636588000, -623282400, -605743200, -591832800, -573688800, -559778400, -542239200, -528328800, -510789600, -496879200, -479340000, -465429600, -447890400, -433980000, -415836000, -401925600, -384386400, -370476000, -352936800, -339026400, -321487200, -307576800, -290037600, -276127200, -258588000, -244677600, -226533600, -212623200, -195084000, -181173600, -163634400, -149724000, -132184800, -118274400, -100735200, -86824800, -68680800, -54770400 }
     typeOffsets:intvector { -5280, 0, -3600, 0, -3600, 3600, 0, 0 }
     typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020103" }
-    links:intvector { 339, 506 }
-  } //Z#339
+    links:intvector { 340, 508 }
+  } //Z#340
   /* Atlantic/South_Georgia */ :table {
     transPre32:intvector { -1, 1770454464 }
     typeOffsets:intvector { -8768, 0, -7200, 0 }
     typeMap:bin { "01" }
-  } //Z#340
-  /* Atlantic/St_Helena */ :int { 5 } //Z#341
+  } //Z#341
+  /* Atlantic/St_Helena */ :int { 5 } //Z#342
   /* Atlantic/Stanley */ :table {
     trans:intvector { -1824235716, -1018209600, -1003093200, -986760000, -971643600, -954705600, -939589200, -923256000, -908139600, -891806400, -876690000, -860356800, -852066000, 420609600, 433306800, 452052000, 464151600, 483501600, 495601200, 514350000, 527054400, 545799600, 558504000, 577249200, 589953600, 608698800, 621403200, 640753200, 652852800, 672202800, 684907200, 703652400, 716356800, 735102000, 747806400, 766551600, 779256000, 798001200, 810705600, 830055600, 842760000, 861505200, 874209600, 892954800, 905659200, 924404400, 937108800, 955854000, 968558400, 987310800, 999410400, 1019365200, 1030860000, 1050814800, 1062914400, 1082264400, 1094364000, 1113714000, 1125813600, 1145163600, 1157263200, 1176613200, 1188712800, 1208667600, 1220767200, 1240117200, 1252216800, 1271566800, 1283666400 }
     typeOffsets:intvector { -13884, 0, -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 }
     typeMap:bin { "010201020102010201020102010304030403020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020103" }
-  } //Z#342
-  /* Australia/ACT */ :int { 361 } //Z#343
+  } //Z#343
+  /* Australia/ACT */ :int { 362 } //Z#344
   /* Australia/Adelaide */ :table {
     transPre32:intvector { -1, 1930857236, -1, 2064778096 }
     trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 384280200, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 637691400, 657045000, 667931400, 688494600, 701195400, 719944200, 731435400, 751998600, 764094600, 783448200, 796149000, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
@@ -1754,15 +1762,15 @@
     finalRule { "AS" }
     finalRaw:int { 34200 }
     finalYear:int { 2009 }
-    links:intvector { 344, 360 }
-  } //Z#344
+    links:intvector { 345, 361 }
+  } //Z#345
   /* Australia/Brisbane */ :table {
     transPre32:intvector { -1, 1928175368 }
     trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200 }
     typeOffsets:intvector { 36728, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "0102010201020102010201020102010201" }
-    links:intvector { 345, 359 }
-  } //Z#345
+    links:intvector { 346, 360 }
+  } //Z#346
   /* Australia/Broken_Hill */ :table {
     transPre32:intvector { -1, 1930856548, -1, 1980016096, -1, 2064778096 }
     trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400, 57688200, 67969800, 89137800, 100024200, 120587400, 131473800, 152037000, 162923400, 183486600, 194977800, 215541000, 226427400, 246990600, 257877000, 278440200, 289326600, 309889800, 320776200, 341339400, 352225800, 372789000, 386699400, 404843400, 415729800, 436293000, 447179400, 467742600, 478629000, 499192200, 511288200, 530037000, 542737800, 562091400, 574792200, 594145800, 606241800, 625595400, 636481800, 657045000, 667931400, 688494600, 699381000, 719944200, 731435400, 751998600, 762885000, 783448200, 794334600, 814897800, 828203400, 846347400, 859653000, 877797000, 891102600, 909246600, 922552200, 941301000, 954001800, 972750600, 985451400, 1004200200, 1017505800, 1035649800, 1048955400, 1067099400, 1080405000, 1099153800, 1111854600, 1130603400, 1143909000, 1162053000, 1174753800, 1193502600, 1207413000, 1223137800 }
@@ -1771,9 +1779,9 @@
     finalRule { "AS" }
     finalRaw:int { 34200 }
     finalYear:int { 2009 }
-    links:intvector { 346, 365 }
-  } //Z#346
-  /* Australia/Canberra */ :int { 361 } //Z#347
+    links:intvector { 347, 366 }
+  } //Z#347
+  /* Australia/Canberra */ :int { 362 } //Z#348
   /* Australia/Currie */ :table {
     transPre32:intvector { -1, 1949172768 }
     trans:intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000 }
@@ -1782,20 +1790,20 @@
     finalRule { "AT" }
     finalRaw:int { 36000 }
     finalYear:int { 2009 }
-  } //Z#348
+  } //Z#349
   /* Australia/Darwin */ :table {
     transPre32:intvector { -1, 1930859096, -1, 2064778096 }
     trans:intvector { -1672565340, -1665390600, -883639800, -876126600, -860398200, -844677000, -828343800, -813227400 }
     typeOffsets:intvector { 31400, 0, 32400, 0, 34200, 0, 34200, 3600 }
     typeMap:bin { "01020302030203020302" }
-    links:intvector { 0, 349, 357 }
-  } //Z#349
+    links:intvector { 0, 350, 358 }
+  } //Z#350
   /* Australia/Eucla */ :table {
     transPre32:intvector { -1, 1957038768 }
     trans:intvector { -1672562640, -1665387900, -883637100, -876123900, -860395500, -844674300, 152039700, 162926100, 436295700, 447182100, 690311700, 699383700, 1165079700, 1174756500, 1193505300, 1206810900, 1224954900, 1238260500 }
     typeOffsets:intvector { 30928, 0, 31500, 0, 31500, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201" }
-  } //Z#350
+  } //Z#351
   /* Australia/Hobart */ :table {
     transPre32:intvector { -1, 1949171940 }
     trans:intvector { -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000 }
@@ -1804,15 +1812,15 @@
     finalRule { "AT" }
     finalRaw:int { 36000 }
     finalYear:int { 2009 }
-    links:intvector { 351, 362 }
-  } //Z#351
-  /* Australia/LHI */ :int { 354 } //Z#352
+    links:intvector { 352, 363 }
+  } //Z#352
+  /* Australia/LHI */ :int { 355 } //Z#353
   /* Australia/Lindeman */ :table {
     transPre32:intvector { -1, 1928176340 }
     trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200 }
     typeOffsets:intvector { 35756, 0, 36000, 0, 36000, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
-  } //Z#353
+  } //Z#354
   /* Australia/Lord_Howe */ :table {
     transPre32:intvector { -1, 1930852316 }
     trans:intvector { 352216800, 372785400, 384273000, 404839800, 415722600, 436289400, 447172200, 467739000, 478621800, 499188600, 511282800, 530033400, 542732400, 562087800, 574786800, 594142200, 606236400, 625591800, 636476400, 657041400, 667926000, 688491000, 699375600, 719940600, 731430000, 751995000, 762879600, 783444600, 794329200, 814894200, 828198000, 846343800, 859647600, 877793400, 891097200, 909243000, 922546800, 941297400, 953996400, 967303800, 985446000, 1004196600, 1017500400, 1035646200, 1048950000, 1067095800, 1080399600, 1099150200, 1111849200, 1130599800, 1143903600, 1162049400, 1174748400, 1193499000, 1207407600, 1223134200 }
@@ -1821,8 +1829,8 @@
     finalRule { "LH" }
     finalRaw:int { 37800 }
     finalYear:int { 2009 }
-    links:intvector { 352, 354 }
-  } //Z#354
+    links:intvector { 353, 355 }
+  } //Z#355
   /* Australia/Melbourne */ :table {
     transPre32:intvector { -1, 1930855704 }
     trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 384278400, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 561484800, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 796147200, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
@@ -1831,19 +1839,19 @@
     finalRule { "AV" }
     finalRaw:int { 36000 }
     finalYear:int { 2009 }
-    links:intvector { 355, 363 }
-  } //Z#355
-  /* Australia/NSW */ :int { 361 } //Z#356
-  /* Australia/North */ :int { 349 } //Z#357
+    links:intvector { 356, 364 }
+  } //Z#356
+  /* Australia/NSW */ :int { 362 } //Z#357
+  /* Australia/North */ :int { 350 } //Z#358
   /* Australia/Perth */ :table {
     transPre32:intvector { -1, 1957041892 }
     trans:intvector { -1672559940, -1665385200, -883634400, -876121200, -860392800, -844671600, 152042400, 162928800, 436298400, 447184800, 690314400, 699386400, 1165082400, 1174759200, 1193508000, 1206813600, 1224957600, 1238263200 }
     typeOffsets:intvector { 27804, 0, 28800, 0, 28800, 3600 }
     typeMap:bin { "01020102010201020102010201020102010201" }
-    links:intvector { 358, 364 }
-  } //Z#358
-  /* Australia/Queensland */ :int { 345 } //Z#359
-  /* Australia/South */ :int { 344 } //Z#360
+    links:intvector { 359, 365 }
+  } //Z#359
+  /* Australia/Queensland */ :int { 346 } //Z#360
+  /* Australia/South */ :int { 345 } //Z#361
   /* Australia/Sydney */ :table {
     transPre32:intvector { -1, 1930854204 }
     trans:intvector { -1672567140, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386697600, 404841600, 415728000, 436291200, 447177600, 467740800, 478627200, 499190400, 511286400, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 636480000, 657043200, 667929600, 688492800, 699379200, 719942400, 731433600, 751996800, 762883200, 783446400, 794332800, 814896000, 828201600, 846345600, 859651200, 877795200, 891100800, 909244800, 922550400, 941299200, 954000000, 967305600, 985449600, 1004198400, 1017504000, 1035648000, 1048953600, 1067097600, 1080403200, 1099152000, 1111852800, 1130601600, 1143907200, 1162051200, 1174752000, 1193500800, 1207411200, 1223136000 }
@@ -1852,19 +1860,19 @@
     finalRule { "AN" }
     finalRaw:int { 36000 }
     finalYear:int { 2009 }
-    links:intvector { 1, 343, 347, 356, 361 }
-  } //Z#361
-  /* Australia/Tasmania */ :int { 351 } //Z#362
-  /* Australia/Victoria */ :int { 355 } //Z#363
-  /* Australia/West */ :int { 358 } //Z#364
-  /* Australia/Yancowinna */ :int { 346 } //Z#365
-  /* BET */ :int { 201 } //Z#366
-  /* BST */ :int { 261 } //Z#367
-  /* Brazil/Acre */ :int { 195 } //Z#368
-  /* Brazil/DeNoronha */ :int { 176 } //Z#369
-  /* Brazil/East */ :int { 201 } //Z#370
-  /* Brazil/West */ :int { 156 } //Z#371
-  /* CAT */ :int { 43 } //Z#372
+    links:intvector { 1, 344, 348, 357, 362 }
+  } //Z#362
+  /* Australia/Tasmania */ :int { 352 } //Z#363
+  /* Australia/Victoria */ :int { 356 } //Z#364
+  /* Australia/West */ :int { 359 } //Z#365
+  /* Australia/Yancowinna */ :int { 347 } //Z#366
+  /* BET */ :int { 201 } //Z#367
+  /* BST */ :int { 261 } //Z#368
+  /* Brazil/Acre */ :int { 195 } //Z#369
+  /* Brazil/DeNoronha */ :int { 176 } //Z#370
+  /* Brazil/East */ :int { 201 } //Z#371
+  /* Brazil/West */ :int { 156 } //Z#372
+  /* CAT */ :int { 43 } //Z#373
   /* CET */ :table {
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 3600, 0, 3600, 3600 }
@@ -1872,9 +1880,9 @@
     finalRule { "C-Eur" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#373
-  /* CNT */ :int { 206 } //Z#374
-  /* CST */ :int { 98 } //Z#375
+  } //Z#374
+  /* CNT */ :int { 206 } //Z#375
+  /* CST */ :int { 98 } //Z#376
   /* CST6CDT */ :table {
     trans:intvector { -1633276800, -1615136400, -1601827200, -1583686800, -880214400, -765392400, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 152089200, 162374400, 183538800, 199267200, 215593200, 230716800, 247042800, 262771200, 278492400, 294220800, 309942000, 325670400, 341391600, 357120000, 372841200, 388569600, 404895600, 420019200, 436345200, 452073600, 467794800, 483523200, 499244400, 514972800, 530694000, 544608000, 562143600, 576057600, 594198000, 607507200, 625647600, 638956800, 657097200, 671011200, 688546800, 702460800, 719996400, 733910400, 752050800, 765360000, 783500400, 796809600, 814950000, 828864000, 846399600, 860313600, 877849200, 891763200, 909298800, 923212800, 941353200, 954662400, 972802800, 986112000, 1004252400, 1018166400, 1035702000, 1049616000, 1067151600, 1081065600, 1099206000, 1112515200, 1130655600, 1143964800, 1162105200, 1173600000, 1194159600 }
     typeOffsets:intvector { -21600, 0, -21600, 3600 }
@@ -1882,22 +1890,22 @@
     finalRule { "US" }
     finalRaw:int { -21600 }
     finalYear:int { 2008 }
-  } //Z#376
-  /* CTT */ :int { 310 } //Z#377
-  /* Canada/Atlantic */ :int { 128 } //Z#378
-  /* Canada/Central */ :int { 221 } //Z#379
-  /* Canada/East-Saskatchewan */ :int { 193 } //Z#380
-  /* Canada/Eastern */ :int { 216 } //Z#381
-  /* Canada/Mountain */ :int { 112 } //Z#382
-  /* Canada/Newfoundland */ :int { 206 } //Z#383
-  /* Canada/Pacific */ :int { 218 } //Z#384
-  /* Canada/Saskatchewan */ :int { 193 } //Z#385
-  /* Canada/Yukon */ :int { 220 } //Z#386
-  /* Chile/Continental */ :int { 199 } //Z#387
-  /* Chile/EasterIsland */ :int { 548 } //Z#388
-  /* Cuba */ :int { 129 } //Z#389
-  /* EAT */ :int { 48 } //Z#390
-  /* ECT */ :int { 468 } //Z#391
+  } //Z#377
+  /* CTT */ :int { 310 } //Z#378
+  /* Canada/Atlantic */ :int { 128 } //Z#379
+  /* Canada/Central */ :int { 221 } //Z#380
+  /* Canada/East-Saskatchewan */ :int { 193 } //Z#381
+  /* Canada/Eastern */ :int { 216 } //Z#382
+  /* Canada/Mountain */ :int { 112 } //Z#383
+  /* Canada/Newfoundland */ :int { 206 } //Z#384
+  /* Canada/Pacific */ :int { 218 } //Z#385
+  /* Canada/Saskatchewan */ :int { 193 } //Z#386
+  /* Canada/Yukon */ :int { 220 } //Z#387
+  /* Chile/Continental */ :int { 199 } //Z#388
+  /* Chile/EasterIsland */ :int { 550 } //Z#389
+  /* Cuba */ :int { 129 } //Z#390
+  /* EAT */ :int { 48 } //Z#391
+  /* ECT */ :int { 470 } //Z#392
   /* EET */ :table {
     trans:intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 7200, 0, 7200, 3600 }
@@ -1905,10 +1913,10 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-  } //Z#392
+  } //Z#393
   /* EST */ :table {
     typeOffsets:intvector { -18000, 0 }
-  } //Z#393
+  } //Z#394
   /* EST5EDT */ :table {
     trans:intvector { -1633280400, -1615140000, -1601830800, -1583690400, -880218000, -765396000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
     typeOffsets:intvector { -18000, 0, -18000, 3600 }
@@ -1916,108 +1924,108 @@
     finalRule { "US" }
     finalRaw:int { -18000 }
     finalYear:int { 2008 }
-  } //Z#394
-  /* Egypt */ :int { 18 } //Z#395
-  /* Eire */ :int { 447 } //Z#396
+  } //Z#395
+  /* Egypt */ :int { 18 } //Z#396
+  /* Eire */ :int { 448 } //Z#397
   /* Etc/GMT */ :table {
     typeOffsets:intvector { 0, 0 }
-    links:intvector { 397, 398, 411, 426, 427, 497, 498, 499, 500, 501 }
-  } //Z#397
-  /* Etc/GMT+0 */ :int { 397 } //Z#398
+    links:intvector { 398, 399, 412, 427, 428, 499, 500, 501, 502, 503 }
+  } //Z#398
+  /* Etc/GMT+0 */ :int { 398 } //Z#399
   /* Etc/GMT+1 */ :table {
     typeOffsets:intvector { -3600, 0 }
-  } //Z#399
+  } //Z#400
   /* Etc/GMT+10 */ :table {
     typeOffsets:intvector { -36000, 0 }
-  } //Z#400
+  } //Z#401
   /* Etc/GMT+11 */ :table {
     typeOffsets:intvector { -39600, 0 }
-  } //Z#401
+  } //Z#402
   /* Etc/GMT+12 */ :table {
     typeOffsets:intvector { -43200, 0 }
-  } //Z#402
+  } //Z#403
   /* Etc/GMT+2 */ :table {
     typeOffsets:intvector { -7200, 0 }
-  } //Z#403
+  } //Z#404
   /* Etc/GMT+3 */ :table {
     typeOffsets:intvector { -10800, 0 }
-  } //Z#404
+  } //Z#405
   /* Etc/GMT+4 */ :table {
     typeOffsets:intvector { -14400, 0 }
-  } //Z#405
+  } //Z#406
   /* Etc/GMT+5 */ :table {
     typeOffsets:intvector { -18000, 0 }
-  } //Z#406
+  } //Z#407
   /* Etc/GMT+6 */ :table {
     typeOffsets:intvector { -21600, 0 }
-  } //Z#407
+  } //Z#408
   /* Etc/GMT+7 */ :table {
     typeOffsets:intvector { -25200, 0 }
-  } //Z#408
+  } //Z#409
   /* Etc/GMT+8 */ :table {
     typeOffsets:intvector { -28800, 0 }
-  } //Z#409
+  } //Z#410
   /* Etc/GMT+9 */ :table {
     typeOffsets:intvector { -32400, 0 }
-  } //Z#410
-  /* Etc/GMT-0 */ :int { 397 } //Z#411
+  } //Z#411
+  /* Etc/GMT-0 */ :int { 398 } //Z#412
   /* Etc/GMT-1 */ :table {
     typeOffsets:intvector { 3600, 0 }
-  } //Z#412
+  } //Z#413
   /* Etc/GMT-10 */ :table {
     typeOffsets:intvector { 36000, 0 }
-  } //Z#413
+  } //Z#414
   /* Etc/GMT-11 */ :table {
     typeOffsets:intvector { 39600, 0 }
-  } //Z#414
+  } //Z#415
   /* Etc/GMT-12 */ :table {
     typeOffsets:intvector { 43200, 0 }
-  } //Z#415
+  } //Z#416
   /* Etc/GMT-13 */ :table {
     typeOffsets:intvector { 46800, 0 }
-  } //Z#416
+  } //Z#417
   /* Etc/GMT-14 */ :table {
     typeOffsets:intvector { 50400, 0 }
-  } //Z#417
+  } //Z#418
   /* Etc/GMT-2 */ :table {
     typeOffsets:intvector { 7200, 0 }
-  } //Z#418
+  } //Z#419
   /* Etc/GMT-3 */ :table {
     typeOffsets:intvector { 10800, 0 }
-  } //Z#419
+  } //Z#420
   /* Etc/GMT-4 */ :table {
     typeOffsets:intvector { 14400, 0 }
-  } //Z#420
+  } //Z#421
   /* Etc/GMT-5 */ :table {
     typeOffsets:intvector { 18000, 0 }
-  } //Z#421
+  } //Z#422
   /* Etc/GMT-6 */ :table {
     typeOffsets:intvector { 21600, 0 }
-  } //Z#422
+  } //Z#423
   /* Etc/GMT-7 */ :table {
     typeOffsets:intvector { 25200, 0 }
-  } //Z#423
+  } //Z#424
   /* Etc/GMT-8 */ :table {
     typeOffsets:intvector { 28800, 0 }
-  } //Z#424
+  } //Z#425
   /* Etc/GMT-9 */ :table {
     typeOffsets:intvector { 32400, 0 }
-  } //Z#425
-  /* Etc/GMT0 */ :int { 397 } //Z#426
-  /* Etc/Greenwich */ :int { 397 } //Z#427
+  } //Z#426
+  /* Etc/GMT0 */ :int { 398 } //Z#427
+  /* Etc/Greenwich */ :int { 398 } //Z#428
   /* Etc/UCT */ :table {
     typeOffsets:intvector { 0, 0 }
-    links:intvector { 428, 606 }
-  } //Z#428
+    links:intvector { 429, 608 }
+  } //Z#429
   /* Etc/UTC */ :table {
     typeOffsets:intvector { 0, 0 }
-    links:intvector { 429, 430, 432, 620, 621, 625 }
-  } //Z#429
-  /* Etc/Universal */ :int { 429 } //Z#430
+    links:intvector { 430, 431, 433, 622, 623, 627 }
+  } //Z#430
+  /* Etc/Universal */ :int { 430 } //Z#431
   /* Etc/Unknown */ :table {
     typeOffsets:intvector { 0, 0 }
-  } //Z#431
-  /* Etc/Zulu */ :int { 429 } //Z#432
+  } //Z#432
+  /* Etc/Zulu */ :int { 430 } //Z#433
   /* Europe/Amsterdam */ :table {
     trans:intvector { -1693700372, -1680484772, -1663453172, -1650147572, -1633213172, -1617488372, -1601158772, -1586038772, -1569709172, -1554589172, -1538259572, -1523139572, -1507501172, -1490566772, -1470176372, -1459117172, -1443997172, -1427667572, -1406672372, -1396217972, -1376950772, -1364768372, -1345414772, -1333318772, -1313792372, -1301264372, -1282256372, -1269814772, -1250720372, -1238365172, -1219184372, -1206915572, -1186957172, -1175465972, -1156025972, -1143411572, -1124489972, -1111961972, -1092953972, -1080512372, -1061331572, -1049062772, -1029190772, -1025745572, -1017613200, -998259600, -986163600, -966723600, -954109200, -935022000, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 1172, 0, 1172, 3600, 1200, 0, 1200, 3600, 3600, 0, 3600, 3600 }
@@ -2025,7 +2033,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#433
+  } //Z#434
   /* Europe/Andorra */ :table {
     transPre32:intvector { -1, 2117514132 }
     trans:intvector { -733881600, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2034,12 +2042,12 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#434
+  } //Z#435
   /* Europe/Astrakhan */ :table {
-    trans:intvector { -1441249932, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1459033200 }
+    trans:intvector { -1441249932, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1459033200 }
     typeOffsets:intvector { 11532, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     typeMap:bin { "01030403040304030403040304030403040302010201030201020102010201020102010201020102010201020102010201020102010201020102010201030103" }
-  } //Z#435
+  } //Z#436
   /* Europe/Athens */ :table {
     trans:intvector { -1686101632, -1182996000, -1178161200, -906861600, -904878000, -857257200, -844477200, -828237600, -812422800, -552362400, -541652400, 166485600, 186184800, 198028800, 213753600, 228873600, 244080000, 260323200, 275446800, 291798000, 307407600, 323388000, 338936400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 5692, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
@@ -2047,8 +2055,8 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-  } //Z#436
-  /* Europe/Belfast */ :int { 458 } //Z#437
+  } //Z#437
+  /* Europe/Belfast */ :int { 460 } //Z#438
   /* Europe/Belgrade */ :table {
     transPre32:intvector { -1, 1581051976 }
     trans:intvector { -905824800, -857257200, -844556400, -828226800, -812502000, -796777200, -777942000, -766623600, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2057,8 +2065,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 438, 457, 469, 475, 477, 491 }
-  } //Z#438
+    links:intvector { 439, 459, 471, 477, 479, 493 }
+  } //Z#439
   /* Europe/Berlin */ :table {
     transPre32:intvector { -1, 1872912888 }
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -776563200, -765936000, -761180400, -748479600, -733273200, -717631200, -714610800, -710380800, -701910000, -684975600, -670460400, -654130800, -639010800, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2067,8 +2075,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#439
-  /* Europe/Bratislava */ :int { 470 } //Z#440
+  } //Z#440
+  /* Europe/Bratislava */ :int { 472 } //Z#441
   /* Europe/Brussels */ :table {
     transPre32:intvector { -1, 1844014246 }
     trans:intvector { -1740355200, -1693702800, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1613826000, -1604278800, -1585530000, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1473642000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -934668000, -857257200, -844556400, -828226800, -812502000, -798073200, -781052400, -766623600, -745455600, -733273200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2077,7 +2085,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#441
+  } //Z#442
   /* Europe/Bucharest */ :table {
     trans:intvector { -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, 296604000, 307486800, 323816400, 338940000, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 670370400, 686095200, 701820000, 717544800, 733269600, 748994400, 764719200, 780440400, 796168800, 811890000, 828223200, 846363600, 859683600, 877827600 }
     typeOffsets:intvector { 6264, 0, 7200, 0, 7200, 3600 }
@@ -2085,7 +2093,7 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1998 }
-  } //Z#442
+  } //Z#443
   /* Europe/Budapest */ :table {
     transPre32:intvector { -1, 1794028316 }
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1633212000, -1618700400, -1600466400, -1581202800, -906771600, -857257200, -844556400, -828226800, -812502000, -796777200, -778471200, -762660000, -749689200, -733359600, -717634800, -701910000, -686185200, -670460400, -654130800, -639010800, -621990000, -605660400, -492656400, -481168800, -461120400, -449632800, -428547600, -418269600, -397094400, -386809200, 323827200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2094,8 +2102,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#443
-  /* Europe/Busingen */ :int { 493 } //Z#444
+  } //Z#444
+  /* Europe/Busingen */ :int { 495 } //Z#445
   /* Europe/Chisinau */ :table {
     transPre32:intvector { -1, 1454819576 }
     trans:intvector { -1637114100, -1213148664, -1187056800, -1175479200, -1159754400, -1144029600, -1127700000, -1111975200, -1096250400, -1080525600, -1064800800, -1049076000, -1033351200, -1017626400, -1001901600, -986176800, -970452000, -954727200, -927165600, -898138800, -857257200, -844556400, -828226800, -812502000, -800157600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 641944800, 654652800, 670377600, 686102400, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 846363600, 859680000, 877824000 }
@@ -2104,8 +2112,8 @@
     finalRule { "Moldova" }
     finalRaw:int { 7200 }
     finalYear:int { 1998 }
-    links:intvector { 445, 482 }
-  } //Z#445
+    links:intvector { 446, 484 }
+  } //Z#446
   /* Europe/Copenhagen */ :table {
     transPre32:intvector { -1, 1896673076 }
     trans:intvector { -1692496800, -1680490800, -935110800, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -769388400, -747010800, -736383600, -715215600, -706748400, -683161200, -675298800, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2114,7 +2122,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#446
+  } //Z#447
   /* Europe/Dublin */ :table {
     transPre32:intvector { -1, 1473317596 }
     trans:intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733359600, -719445600, -699490800, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
@@ -2123,8 +2131,8 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-    links:intvector { 396, 447 }
-  } //Z#447
+    links:intvector { 397, 448 }
+  } //Z#448
   /* Europe/Gibraltar */ :table {
     transPre32:intvector { -1, 1473317380 }
     trans:intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2133,8 +2141,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#448
-  /* Europe/Guernsey */ :int { 458 } //Z#449
+  } //Z#449
+  /* Europe/Guernsey */ :int { 460 } //Z#450
   /* Europe/Helsinki */ :table {
     trans:intvector { -1535938789, -875671200, -859773600, 354672000, 370396800, 386121600, 401846400, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 5989, 0, 7200, 0, 7200, 3600 }
@@ -2142,9 +2150,9 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-    links:intvector { 450, 462 }
-  } //Z#450
-  /* Europe/Isle_of_Man */ :int { 458 } //Z#451
+    links:intvector { 451, 464 }
+  } //Z#451
+  /* Europe/Isle_of_Man */ :int { 460 } //Z#452
   /* Europe/Istanbul */ :table {
     transPre32:intvector { -1, 1454819544 }
     trans:intvector { -1869875816, -1693706400, -1680490800, -1570413600, -1552186800, -1538359200, -1522551600, -1507514400, -1490583600, -1440208800, -1428030000, -1409709600, -1396494000, -931140000, -922762800, -917834400, -892436400, -875844000, -857358000, -781063200, -764737200, -744343200, -733806000, -716436000, -701924400, -684986400, -670474800, -654141600, -639025200, -621828000, -606970800, -590032800, -575434800, -235620000, -228279600, -177732000, -165726000, 10533600, 23835600, 41983200, 55285200, 74037600, 87339600, 107910000, 121219200, 133920000, 152676000, 165362400, 183502800, 202428000, 215557200, 228866400, 245797200, 260316000, 277246800, 308779200, 323827200, 340228800, 354672000, 371678400, 386121600, 403128000, 428446800, 433886400, 482792400, 496702800, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 670374000, 686098800, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301274000, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396227600, 1414285200, 1427590800, 1446944400, 1459040400, 1477789200 }
@@ -2153,15 +2161,15 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 2017 }
-    links:intvector { 272, 452, 605 }
-  } //Z#452
-  /* Europe/Jersey */ :int { 458 } //Z#453
+    links:intvector { 272, 453, 607 }
+  } //Z#453
+  /* Europe/Jersey */ :int { 460 } //Z#454
   /* Europe/Kaliningrad */ :table {
     transPre32:intvector { -1, 1872911176 }
-    trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -788922000, -778730400, -762663600, -757389600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701816400, 717537600, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891129600, 909273600, 922579200, 941328000, 954028800, 972777600, 985478400, 1004227200, 1017532800, 1035676800, 1048982400, 1067126400, 1080432000, 1099180800, 1111881600, 1130630400, 1143331200, 1162080000, 1174780800, 1193529600, 1206835200, 1224979200, 1238284800, 1256428800, 1269734400, 1288483200, 1301184000, 1414278000 }
+    trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -788922000, -778730400, -762663600, -757389600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891129600, 909273600, 922579200, 941328000, 954028800, 972777600, 985478400, 1004227200, 1017532800, 1035676800, 1048982400, 1067126400, 1080432000, 1099180800, 1111881600, 1130630400, 1143331200, 1162080000, 1174780800, 1193529600, 1206835200, 1224979200, 1238284800, 1256428800, 1269734400, 1288483200, 1301184000, 1414278000 }
     typeOffsets:intvector { 4920, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
-    typeMap:bin { "01020102010201020102010201030403050605060506050605060506050605060506050605040304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
-  } //Z#454
+    typeMap:bin { "01020102010201020102010201030403050605060506050605060506050605060504030403040304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
+  } //Z#455
   /* Europe/Kiev */ :table {
     trans:intvector { -1441159324, -1247536800, -892522800, -857257200, -844556400, -828226800, -825382800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 646783200, 686102400, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 7324, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
@@ -2169,7 +2177,12 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-  } //Z#455
+  } //Z#456
+  /* Europe/Kirov */ :table {
+    trans:intvector { -1593825528, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
+    typeOffsets:intvector { 11928, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
+    typeMap:bin { "010304030403040304030403040304030403020102010302010201020102010201020102010201020102010201020102010201020102010201020102010301" }
+  } //Z#457
   /* Europe/Lisbon */ :table {
     trans:intvector { -1830381795, -1689555600, -1677801600, -1667437200, -1647738000, -1635814800, -1616202000, -1604365200, -1584666000, -1572742800, -1553043600, -1541206800, -1521507600, -1442451600, -1426813200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1221440400, -1206925200, -1191200400, -1175475600, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942022800, -922669200, -906944400, -891133200, -877309200, -873684000, -864007200, -857955600, -845859600, -842839200, -831348000, -825901200, -814410000, -810784800, -799898400, -794451600, -782960400, -779335200, -768448800, -763002000, -749091600, -733366800, -717631200, -701906400, -686181600, -670456800, -654732000, -639007200, -591832800, -575503200, -559778400, -544053600, -528328800, -512604000, -496879200, -481154400, -465429600, -449704800, -433980000, -417650400, -401925600, -386200800, -370476000, -354751200, -339026400, -323301600, -307576800, -291852000, -276127200, -260402400, -244677600, -228348000, -212623200, -196898400, -181173600, -165448800, -149724000, -133999200, -118274400, 212544000, 228268800, 243993600, 260323200, 276048000, 291772800, 307501200, 323222400, 338950800, 354675600, 370400400, 386125200, 401850000, 417578400, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { -2205, 0, 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
@@ -2177,9 +2190,9 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-    links:intvector { 456, 587 }
-  } //Z#456
-  /* Europe/Ljubljana */ :int { 438 } //Z#457
+    links:intvector { 458, 589 }
+  } //Z#458
+  /* Europe/Ljubljana */ :int { 439 } //Z#459
   /* Europe/London */ :table {
     transPre32:intvector { -1, 442304971 }
     trans:intvector { -1691964000, -1680472800, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -904518000, -896050800, -875487600, -864601200, -844038000, -832546800, -812588400, -798073200, -781052400, -772066800, -764805600, -748476000, -733356000, -719445600, -717030000, -706748400, -699487200, -687996000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
@@ -2188,8 +2201,8 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-    links:intvector { 437, 449, 451, 453, 458, 495, 496 }
-  } //Z#458
+    links:intvector { 438, 450, 452, 454, 460, 497, 498 }
+  } //Z#460
   /* Europe/Luxembourg */ :table {
     trans:intvector { -2069713476, -1692496800, -1680483600, -1662343200, -1650157200, -1632006000, -1618700400, -1612659600, -1604278800, -1585519200, -1574038800, -1552258800, -1539997200, -1520550000, -1507510800, -1490572800, -1473642000, -1459119600, -1444006800, -1427673600, -1411866000, -1396224000, -1379293200, -1364774400, -1348448400, -1333324800, -1316394000, -1301270400, -1284339600, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1191189600, -1175464800, -1160344800, -1143410400, -1127685600, -1111960800, -1096840800, -1080511200, -1063576800, -1049061600, -1033336800, -1017612000, -1002492000, -986162400, -969228000, -950479200, -942012000, -935186400, -857257200, -844556400, -828226800, -812502000, -797986800, -781052400, -766623600, -745455600, -733273200, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 1476, 0, 0, 0, 0, 3600, 3600, 0, 3600, 3600 }
@@ -2197,7 +2210,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#459
+  } //Z#461
   /* Europe/Madrid */ :table {
     transPre32:intvector { -1, 2117515380 }
     trans:intvector { -1661734800, -1648429200, -1631926800, -1616893200, -1601254800, -1585357200, -1442451600, -1427677200, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1029114000, -1017622800, -1002848400, -986173200, -969238800, -954118800, -940208400, -873079200, -862538400, -842839200, -828237600, -811389600, -796010400, -779940000, -765421200, -748490400, -733888800, -652327200, -639190800, 135122400, 150246000, 167176800, 181695600, 196812000, 212540400, 228866400, 243990000, 260402400, 276044400, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2206,7 +2219,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#460
+  } //Z#462
   /* Europe/Malta */ :table {
     transPre32:intvector { -1, 1891488612 }
     trans:intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 102380400, 118105200, 135730800, 148518000, 167187600, 180489600, 198637200, 211939200, 230086800, 243388800, 261536400, 274838400, 292986000, 306288000, 323312400, 338342400, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2215,14 +2228,14 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#461
-  /* Europe/Mariehamn */ :int { 450 } //Z#462
+  } //Z#463
+  /* Europe/Mariehamn */ :int { 451 } //Z#464
   /* Europe/Minsk */ :table {
     transPre32:intvector { -1, 1454819880 }
-    trans:intvector { -1441158600, -1247536800, -899780400, -857257200, -844556400, -828226800, -812502000, -804650400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 670374000, 686102400, 701820000, 717544800, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891129600, 909273600, 922579200, 941328000, 954028800, 972777600, 985478400, 1004227200, 1017532800, 1035676800, 1048982400, 1067126400, 1080432000, 1099180800, 1111881600, 1130630400, 1143331200, 1162080000, 1174780800, 1193529600, 1206835200, 1224979200, 1238284800, 1256428800, 1269734400, 1288483200, 1301184000 }
+    trans:intvector { -1441158600, -1247536800, -899780400, -857257200, -844556400, -828226800, -812502000, -804650400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 670374000, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891129600, 909273600, 922579200, 941328000, 954028800, 972777600, 985478400, 1004227200, 1017532800, 1035676800, 1048982400, 1067126400, 1080432000, 1099180800, 1111881600, 1130630400, 1143331200, 1162080000, 1174780800, 1193529600, 1206835200, 1224979200, 1238284800, 1256428800, 1269734400, 1288483200, 1301184000 }
     typeOffsets:intvector { 6616, 0, 3600, 0, 3600, 3600, 6600, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
     typeMap:bin { "0304060201020102060706070607060706070607060706070607060504050405040504050405040504050405040504050405040504050405040504050405040504050406" }
-  } //Z#463
+  } //Z#465
   /* Europe/Monaco */ :table {
     transPre32:intvector { -1, 1808287124 }
     trans:intvector { -1855958961, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -904438800, -891136800, -877827600, -857257200, -844556400, -828226800, -812502000, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2231,14 +2244,14 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#464
+  } //Z#466
   /* Europe/Moscow */ :table {
-    trans:intvector { -1688265017, -1656819079, -1641353479, -1627965079, -1618716679, -1596429079, -1593829879, -1589860800, -1542427200, -1539493200, -1525323600, -1522728000, -1491188400, -1247536800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
+    trans:intvector { -1688265017, -1656819079, -1641353479, -1627965079, -1618716679, -1596429079, -1593829879, -1589860800, -1542427200, -1539493200, -1525323600, -1522728000, -1491188400, -1247536800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
     typeOffsets:intvector { 9017, 0, 7200, 0, 7200, 3600, 9079, 0, 9079, 3600, 9079, 7200, 10800, 0, 10800, 3600, 10800, 7200, 14400, 0 }
     typeMap:bin { "0304030504050706070807060106070607060706070607060706070607060706070602010607060706070607060706070607060706070607060706070607060706070607060706070607060906" }
-    links:intvector { 465, 623 }
-  } //Z#465
-  /* Europe/Nicosia */ :int { 294 } //Z#466
+    links:intvector { 467, 625 }
+  } //Z#467
+  /* Europe/Nicosia */ :int { 294 } //Z#468
   /* Europe/Oslo */ :table {
     transPre32:intvector { -1, 1928209516 }
     trans:intvector { -1691884800, -1680573600, -927511200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -765327600, -340844400, -324514800, -308790000, -293065200, -277340400, -261615600, -245890800, -230166000, -214441200, -198716400, -182991600, -166662000, -147913200, -135212400, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2247,8 +2260,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 236, 337, 467 }
-  } //Z#467
+    links:intvector { 236, 338, 469 }
+  } //Z#469
   /* Europe/Paris */ :table {
     trans:intvector { -1855958901, -1689814800, -1680397200, -1665363600, -1648342800, -1635123600, -1616893200, -1604278800, -1585443600, -1574038800, -1552266000, -1539997200, -1520557200, -1507510800, -1490576400, -1470618000, -1459126800, -1444006800, -1427677200, -1411952400, -1396227600, -1379293200, -1364778000, -1348448400, -1333328400, -1316394000, -1301274000, -1284339600, -1269824400, -1253494800, -1238374800, -1221440400, -1206925200, -1191200400, -1175475600, -1160355600, -1143421200, -1127696400, -1111971600, -1096851600, -1080522000, -1063587600, -1049072400, -1033347600, -1017622800, -1002502800, -986173200, -969238800, -950490000, -942012000, -932436000, -857257200, -844556400, -828226800, -812502000, -800071200, -796266000, -781052400, -766623600, 196819200, 212540400, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 561, 0, 0, 0, 0, 3600, 0, 7200, 3600, 0, 3600, 3600 }
@@ -2256,9 +2269,9 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 391, 468 }
-  } //Z#468
-  /* Europe/Podgorica */ :int { 438 } //Z#469
+    links:intvector { 392, 470 }
+  } //Z#470
+  /* Europe/Podgorica */ :int { 439 } //Z#471
   /* Europe/Prague */ :table {
     transPre32:intvector { -1, 1825565432 }
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -798073200, -780534000, -761180400, -746578800, -733359600, -716425200, -701910000, -684975600, -670460400, -654217200, -639010800, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2267,8 +2280,8 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 440, 470 }
-  } //Z#470
+    links:intvector { 441, 472 }
+  } //Z#472
   /* Europe/Riga */ :table {
     trans:intvector { -1632008194, -1618702594, -1601681794, -1597275394, -1377308194, -928029600, -899521200, -857257200, -844556400, -828226800, -812502000, -796777200, -795834000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 843955200, 859683600, 877827600, 891133200, 909277200, 922582800, 941331600, 985482000, 1004230800 }
     typeOffsets:intvector { 5794, 0, 3600, 0, 3600, 3600, 5794, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
@@ -2276,7 +2289,7 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 2002 }
-  } //Z#471
+  } //Z#473
   /* Europe/Rome */ :table {
     transPre32:intvector { -1, 1891402700 }
     trans:intvector { -1690851600, -1680483600, -1664758800, -1649034000, -1635123600, -1616979600, -1604278800, -1585530000, -1571014800, -1555290000, -932432400, -857257200, -844556400, -828226800, -812502000, -798080400, -781052400, -766717200, -750898800, -733359600, -719456400, -701917200, -689209200, -670460400, -114051600, -103168800, -81997200, -71719200, -50547600, -40269600, -18493200, -8215200, 12956400, 23234400, 43801200, 54687600, 75855600, 86738400, 107910000, 118188000, 138754800, 149637600, 170809200, 181090800, 202258800, 212540400, 233103600, 243990000, 265158000, 276044400, 296607600, 307494000, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2285,22 +2298,22 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 472, 474, 486 }
-  } //Z#472
+    links:intvector { 474, 476, 488 }
+  } //Z#474
   /* Europe/Samara */ :table {
-    trans:intvector { -1593825620, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 687916800, 701809200, 717530400, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1111874400, 1130623200, 1143324000, 1162072800, 1174773600, 1193522400, 1206828000, 1224972000, 1238277600, 1256421600, 1269727200, 1288479600, 1301180400 }
+    trans:intvector { -1593825620, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 687916800, 701820000, 717544800, 733269600, 748994400, 764719200, 780444000, 796168800, 811893600, 828223200, 846367200, 859672800, 877816800, 891122400, 909266400, 922572000, 941320800, 954021600, 972770400, 985471200, 1004220000, 1017525600, 1035669600, 1048975200, 1067119200, 1080424800, 1099173600, 1111874400, 1130623200, 1143324000, 1162072800, 1174773600, 1193522400, 1206828000, 1224972000, 1238277600, 1256421600, 1269727200, 1288479600, 1301180400 }
     typeOffsets:intvector { 12020, 0, 7200, 3600, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     typeMap:bin { "02040504050405040504050405040504050403020302010204050405040504050405040504050405040504050405040504050405040504050405040504030204" }
-  } //Z#473
-  /* Europe/San_Marino */ :int { 472 } //Z#474
-  /* Europe/Sarajevo */ :int { 438 } //Z#475
+  } //Z#475
+  /* Europe/San_Marino */ :int { 474 } //Z#476
+  /* Europe/Sarajevo */ :int { 439 } //Z#477
   /* Europe/Simferopol */ :table {
     transPre32:intvector { -1, 1454818312 }
     trans:intvector { -1441160160, -1247536800, -888894000, -857257200, -844556400, -828226800, -812502000, -811648800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 646786800, 701820000, 717541200, 733269600, 748990800, 764719200, 767739600, 780436800, 796165200, 811886400, 828219600, 846374400, 859683600, 877827600, 891133200, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396137600, 1414274400 }
     typeOffsets:intvector { 8184, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 8160, 0, 10800, 0, 10800, 3600, 14400, 0 }
     typeMap:bin { "050306020102010206070607060706070607060706070607060706030403040304070607060706040304030403040304030403040304030403040304030403040304030403040304030806" }
-  } //Z#476
-  /* Europe/Skopje */ :int { 438 } //Z#477
+  } //Z#478
+  /* Europe/Skopje */ :int { 439 } //Z#479
   /* Europe/Sofia */ :table {
     transPre32:intvector { -1, 1454820900, -1, 1925440280 }
     trans:intvector { -857257200, -844556400, -828226800, -812502000, -796777200, -781048800, 291762000, 307576800, 323816400, 339026400, 355266000, 370393200, 386715600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575424000, 591148800, 606873600, 622598400, 638323200, 654652800, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 846363600, 859683600, 877827600 }
@@ -2309,7 +2322,7 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1998 }
-  } //Z#478
+  } //Z#480
   /* Europe/Stockholm */ :table {
     transPre32:intvector { -1, 1423286164, -1, 2085974882 }
     trans:intvector { -1692496800, -1680483600, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2318,7 +2331,7 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#479
+  } //Z#481
   /* Europe/Tallinn */ :table {
     trans:intvector { -1638322740, -1632006000, -1618700400, -1593824400, -1535938740, -927943200, -892954800, -857257200, -844556400, -828226800, -812502000, -797652000, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891129600, 909277200, 922582800, 941331600, 1017536400, 1035680400 }
     typeOffsets:intvector { 5940, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
@@ -2326,7 +2339,7 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 2003 }
-  } //Z#480
+  } //Z#482
   /* Europe/Tirane */ :table {
     trans:intvector { -1767230360, -932346000, -857257200, -844556400, -843519600, 136854000, 149896800, 168130800, 181432800, 199839600, 213141600, 231894000, 244591200, 263257200, 276040800, 294706800, 307490400, 326156400, 339458400, 357087600, 370389600, 389142000, 402444000, 419468400, 433807200, 449622000, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 4760, 0, 3600, 0, 3600, 3600 }
@@ -2334,13 +2347,13 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#481
-  /* Europe/Tiraspol */ :int { 445 } //Z#482
+  } //Z#483
+  /* Europe/Tiraspol */ :int { 446 } //Z#484
   /* Europe/Ulyanovsk */ :table {
-    trans:intvector { -1593825216, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701812800, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1459033200 }
+    trans:intvector { -1593825216, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 686102400, 695779200, 701823600, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400, 1459033200 }
     typeOffsets:intvector { 11616, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
     typeMap:bin { "030506050605060506050605060506050605040304030201030403040304030403040304030403040304030403040304030403040304030403040304030403050305" }
-  } //Z#483
+  } //Z#485
   /* Europe/Uzhgorod */ :table {
     transPre32:intvector { -1, 1794027544 }
     trans:intvector { -938905200, -857257200, -844556400, -828226800, -812502000, -794714400, -773456400, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 646786800, 670384800, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400, 828234000, 846378000 }
@@ -2349,9 +2362,9 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-  } //Z#484
-  /* Europe/Vaduz */ :int { 493 } //Z#485
-  /* Europe/Vatican */ :int { 472 } //Z#486
+  } //Z#486
+  /* Europe/Vaduz */ :int { 495 } //Z#487
+  /* Europe/Vatican */ :int { 474 } //Z#488
   /* Europe/Vienna */ :table {
     transPre32:intvector { -1, 1872912175 }
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1569711600, -1555801200, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -780188400, -748479600, -733359600, -717634800, -701910000, -684975600, -670460400, 323823600, 338940000, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2360,21 +2373,21 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#487
+  } //Z#489
   /* Europe/Vilnius */ :table {
     transPre32:intvector { -1, 1454820420 }
-    trans:intvector { -1672536240, -1585100136, -1561251600, -1553565600, -928198800, -900126000, -857257200, -844556400, -828226800, -812502000, -802144800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891133200, 909277200, 922582800, 941331600, 1048986000, 1067130000 }
+    trans:intvector { -1672536240, -1585100136, -1561251600, -1553565600, -928198800, -900126000, -857257200, -844556400, -828226800, -812502000, -802144800, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622598400, 638323200, 654652800, 670377600, 686102400, 701827200, 717552000, 733276800, 749001600, 764726400, 780451200, 796176000, 811900800, 828230400, 846374400, 859680000, 877824000, 891133200, 909277200, 922582800, 941331600, 1048986000, 1067130000 }
     typeOffsets:intvector { 6076, 0, 3600, 0, 3600, 3600, 5040, 0, 5736, 0, 7200, 0, 7200, 3600, 10800, 0, 10800, 3600 }
-    typeMap:bin { "03040105010702010201020708070807080708070807080708070807080708070605060506050605060506050605020102050605" }
+    typeMap:bin { "03040105010702010201020708070807080708070807080708070807060506050605060506050605060506050605020102050605" }
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 2004 }
-  } //Z#488
+  } //Z#490
   /* Europe/Volgograd */ :table {
-    trans:intvector { -1577761060, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591141600, 606866400, 622594800, 638319600, 654649200, 670374000, 701820000, 717534000, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
+    trans:intvector { -1577761060, -1247540400, 354916800, 370724400, 386452800, 402260400, 417988800, 433796400, 449611200, 465343200, 481068000, 496792800, 512517600, 528242400, 543967200, 559692000, 575416800, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 701820000, 717548400, 733273200, 748998000, 764722800, 780447600, 796172400, 811897200, 828226800, 846370800, 859676400, 877820400, 891126000, 909270000, 922575600, 941324400, 954025200, 972774000, 985474800, 1004223600, 1017529200, 1035673200, 1048978800, 1067122800, 1080428400, 1099177200, 1111878000, 1130626800, 1143327600, 1162076400, 1174777200, 1193526000, 1206831600, 1224975600, 1238281200, 1256425200, 1269730800, 1288479600, 1301180400, 1414274400 }
     typeOffsets:intvector { 10660, 0, 10800, 0, 10800, 3600, 14400, 0, 14400, 3600 }
-    typeMap:bin { "010304030403040304030403040304030403020102010302010201020102010201020102010201020102010201020102010201020102010201020102010301" }
-  } //Z#489
+    typeMap:bin { "010304030403040304030403040304030201020102010302010201020102010201020102010201020102010201020102010201020102010201020102010301" }
+  } //Z#491
   /* Europe/Warsaw */ :table {
     trans:intvector { -1717032240, -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -1600473600, -1587168000, -1501725600, -931734000, -857257200, -844556400, -828226800, -812502000, -796608000, -778726800, -762660000, -748486800, -733273200, -715215600, -701910000, -684975600, -670460400, -654130800, -639010800, -397094400, -386812800, -371088000, -355363200, -334195200, -323308800, -307584000, -291859200, -271296000, -260409600, -239846400, -228960000, -208396800, -197510400, -176342400, -166060800, 228873600, 243993600, 260323200, 276048000, 291772800, 307497600, 323827200, 338947200, 354672000, 370396800, 386121600, 401846400, 417571200, 433296000, 449020800, 465350400, 481075200, 496800000, 512524800, 528249600, 543974400, 559699200, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 5040, 0, 3600, 0, 3600, 3600, 7200, 0, 7200, 3600 }
@@ -2382,9 +2395,9 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 490, 586 }
-  } //Z#490
-  /* Europe/Zagreb */ :int { 438 } //Z#491
+    links:intvector { 492, 588 }
+  } //Z#492
+  /* Europe/Zagreb */ :int { 439 } //Z#493
   /* Europe/Zaporozhye */ :table {
     transPre32:intvector { -1, 1454818056 }
     trans:intvector { -1441160400, -1247536800, -894769200, -857257200, -844556400, -828226800, -826419600, 354920400, 370728000, 386456400, 402264000, 417992400, 433800000, 449614800, 465346800, 481071600, 496796400, 512521200, 528246000, 543970800, 559695600, 575420400, 591145200, 606870000, 622594800, 638319600, 654649200, 670374000, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796179600, 811904400, 828234000, 846378000 }
@@ -2393,7 +2406,7 @@
     finalRule { "EU" }
     finalRaw:int { 7200 }
     finalYear:int { 1997 }
-  } //Z#492
+  } //Z#494
   /* Europe/Zurich */ :table {
     transPre32:intvector { -1, 619768448, -1, 1909720710 }
     trans:intvector { -904435200, -891129600, -872985600, -859680000, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
@@ -2402,75 +2415,75 @@
     finalRule { "EU" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-    links:intvector { 444, 485, 493 }
-  } //Z#493
+    links:intvector { 445, 487, 495 }
+  } //Z#495
   /* Factory */ :table {
     typeOffsets:intvector { 0, 0 }
-  } //Z#494
-  /* GB */ :int { 458 } //Z#495
-  /* GB-Eire */ :int { 458 } //Z#496
-  /* GMT */ :int { 397 } //Z#497
-  /* GMT+0 */ :int { 397 } //Z#498
-  /* GMT-0 */ :int { 397 } //Z#499
-  /* GMT0 */ :int { 397 } //Z#500
-  /* Greenwich */ :int { 397 } //Z#501
+  } //Z#496
+  /* GB */ :int { 460 } //Z#497
+  /* GB-Eire */ :int { 460 } //Z#498
+  /* GMT */ :int { 398 } //Z#499
+  /* GMT+0 */ :int { 398 } //Z#500
+  /* GMT-0 */ :int { 398 } //Z#501
+  /* GMT0 */ :int { 398 } //Z#502
+  /* Greenwich */ :int { 398 } //Z#503
   /* HST */ :table {
     typeOffsets:intvector { -36000, 0 }
-  } //Z#502
-  /* Hongkong */ :int { 269 } //Z#503
-  /* IET */ :int { 131 } //Z#504
-  /* IST */ :int { 283 } //Z#505
-  /* Iceland */ :int { 339 } //Z#506
-  /* Indian/Antananarivo */ :int { 48 } //Z#507
+  } //Z#504
+  /* Hongkong */ :int { 269 } //Z#505
+  /* IET */ :int { 131 } //Z#506
+  /* IST */ :int { 283 } //Z#507
+  /* Iceland */ :int { 340 } //Z#508
+  /* Indian/Antananarivo */ :int { 48 } //Z#509
   /* Indian/Chagos */ :table {
     trans:intvector { -1988167780, 820436400 }
     typeOffsets:intvector { 17380, 0, 18000, 0, 21600, 0 }
     typeMap:bin { "0102" }
-  } //Z#508
+  } //Z#510
   /* Indian/Christmas */ :table {
     transPre32:intvector { -1, 1930865124 }
     typeOffsets:intvector { 25372, 0, 25200, 0 }
     typeMap:bin { "01" }
-  } //Z#509
+  } //Z#511
   /* Indian/Cocos */ :table {
     transPre32:intvector { -1, 2085955236 }
     typeOffsets:intvector { 23260, 0, 23400, 0 }
     typeMap:bin { "01" }
-  } //Z#510
-  /* Indian/Comoro */ :int { 48 } //Z#511
+  } //Z#512
+  /* Indian/Comoro */ :int { 48 } //Z#513
   /* Indian/Kerguelen */ :table {
     trans:intvector { -631152000 }
     typeOffsets:intvector { 0, 0, 18000, 0 }
     typeMap:bin { "01" }
-  } //Z#512
+  } //Z#514
   /* Indian/Mahe */ :table {
     trans:intvector { -2006653308 }
     typeOffsets:intvector { 13308, 0, 14400, 0 }
     typeMap:bin { "01" }
-  } //Z#513
+  } //Z#515
   /* Indian/Maldives */ :table {
     trans:intvector { -315636840 }
     typeOffsets:intvector { 17640, 0, 18000, 0 }
     typeMap:bin { "01" }
-  } //Z#514
+  } //Z#516
   /* Indian/Mauritius */ :table {
     trans:intvector { -1988164200, 403041600, 417034800, 1224972000, 1238274000 }
     typeOffsets:intvector { 13800, 0, 14400, 0, 14400, 3600 }
     typeMap:bin { "0102010201" }
-  } //Z#515
-  /* Indian/Mayotte */ :int { 48 } //Z#516
+  } //Z#517
+  /* Indian/Mayotte */ :int { 48 } //Z#518
   /* Indian/Reunion */ :table {
     trans:intvector { -1848886912 }
     typeOffsets:intvector { 13312, 0, 14400, 0 }
     typeMap:bin { "01" }
-  } //Z#517
-  /* Iran */ :int { 316 } //Z#518
-  /* Israel */ :int { 275 } //Z#519
-  /* JST */ :int { 320 } //Z#520
-  /* Jamaica */ :int { 142 } //Z#521
-  /* Japan */ :int { 320 } //Z#522
-  /* Kwajalein */ :int { 562 } //Z#523
-  /* Libya */ :int { 56 } //Z#524
+  } //Z#519
+  /* Iran */ :int { 316 } //Z#520
+  /* Israel */ :int { 275 } //Z#521
+  /* JST */ :int { 320 } //Z#522
+  /* Jamaica */ :int { 142 } //Z#523
+  /* Japan */ :int { 320 } //Z#524
+  /* Kwajalein */ :int { 564 } //Z#525
+  /* Libya */ :int { 56 } //Z#526
   /* MET */ :table {
     trans:intvector { -1693706400, -1680483600, -1663455600, -1650150000, -1632006000, -1618700400, -938905200, -857257200, -844556400, -828226800, -812502000, -796777200, -781052400, -766623600, 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 3600, 0, 3600, 3600 }
@@ -2478,11 +2491,11 @@
     finalRule { "C-Eur" }
     finalRaw:int { 3600 }
     finalYear:int { 1997 }
-  } //Z#525
-  /* MIT */ :int { 543 } //Z#526
+  } //Z#527
+  /* MIT */ :int { 545 } //Z#528
   /* MST */ :table {
     typeOffsets:intvector { -25200, 0 }
-  } //Z#527
+  } //Z#529
   /* MST7MDT */ :table {
     trans:intvector { -1633273200, -1615132800, -1601823600, -1583683200, -880210800, -765388800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 152092800, 162378000, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1173603600, 1194163200 }
     typeOffsets:intvector { -25200, 0, -25200, 3600 }
@@ -2490,20 +2503,20 @@
     finalRule { "US" }
     finalRaw:int { -25200 }
     finalYear:int { 2008 }
-  } //Z#528
-  /* Mexico/BajaNorte */ :int { 215 } //Z#529
-  /* Mexico/BajaSur */ :int { 160 } //Z#530
-  /* Mexico/General */ :int { 165 } //Z#531
-  /* NET */ :int { 330 } //Z#532
-  /* NST */ :int { 544 } //Z#533
-  /* NZ */ :int { 544 } //Z#534
-  /* NZ-CHAT */ :int { 546 } //Z#535
-  /* Navajo */ :int { 109 } //Z#536
-  /* PLT */ :int { 278 } //Z#537
-  /* PNT */ :int { 184 } //Z#538
-  /* PRC */ :int { 310 } //Z#539
-  /* PRT */ :int { 189 } //Z#540
-  /* PST */ :int { 151 } //Z#541
+  } //Z#530
+  /* Mexico/BajaNorte */ :int { 215 } //Z#531
+  /* Mexico/BajaSur */ :int { 160 } //Z#532
+  /* Mexico/General */ :int { 165 } //Z#533
+  /* NET */ :int { 331 } //Z#534
+  /* NST */ :int { 546 } //Z#535
+  /* NZ */ :int { 546 } //Z#536
+  /* NZ-CHAT */ :int { 548 } //Z#537
+  /* Navajo */ :int { 109 } //Z#538
+  /* PLT */ :int { 278 } //Z#539
+  /* PNT */ :int { 184 } //Z#540
+  /* PRC */ :int { 310 } //Z#541
+  /* PRT */ :int { 189 } //Z#542
+  /* PST */ :int { 151 } //Z#543
   /* PST8PDT */ :table {
     trans:intvector { -1633269600, -1615129200, -1601820000, -1583679600, -880207200, -765385200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400, 1173607200, 1194166800 }
     typeOffsets:intvector { -28800, 0, -28800, 3600 }
@@ -2511,7 +2524,7 @@
     finalRule { "US" }
     finalRaw:int { -28800 }
     finalYear:int { 2008 }
-  } //Z#542
+  } //Z#544
   /* Pacific/Apia */ :table {
     transPre32:intvector { -1, 1439229312 }
     trans:intvector { -1861878784, -631110600, 1285498800, 1301752800, 1316872800, 1325239200, 1333202400, 1348927200 }
@@ -2520,8 +2533,8 @@
     finalRule { "WS" }
     finalRaw:int { 46800 }
     finalYear:int { 2013 }
-    links:intvector { 526, 543 }
-  } //Z#543
+    links:intvector { 528, 545 }
+  } //Z#545
   /* Pacific/Auckland */ :table {
     transPre32:intvector { -1, 1102531752 }
     trans:intvector { -1330335000, -1320057000, -1300699800, -1287396000, -1269250200, -1255946400, -1237800600, -1224496800, -1206351000, -1192442400, -1174901400, -1160992800, -1143451800, -1125914400, -1112607000, -1094464800, -1081157400, -1063015200, -1049707800, -1031565600, -1018258200, -1000116000, -986808600, -968061600, -955359000, -936612000, -923304600, -757425600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400, 1207404000, 1222524000 }
@@ -2530,14 +2543,14 @@
     finalRule { "NZ" }
     finalRaw:int { 43200 }
     finalYear:int { 2009 }
-    links:intvector { 229, 232, 533, 534, 544 }
-  } //Z#544
+    links:intvector { 229, 232, 535, 536, 546 }
+  } //Z#546
   /* Pacific/Bougainville */ :table {
     transPre32:intvector { -1, 1454789160, -1, 1928176784 }
     trans:intvector { -868010400, -768906000, 1419696000 }
     typeOffsets:intvector { 37336, 0, 32400, 0, 35312, 0, 36000, 0, 39600, 0 }
     typeMap:bin { "0203010304" }
-  } //Z#545
+  } //Z#547
   /* Pacific/Chatham */ :table {
     transPre32:intvector { -1, 1102529668 }
     trans:intvector { -757426500, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400, 1207404000, 1222524000 }
@@ -2546,37 +2559,40 @@
     finalRule { "Chatham" }
     finalRaw:int { 45900 }
     finalYear:int { 2009 }
-    links:intvector { 535, 546 }
-  } //Z#546
+    links:intvector { 537, 548 }
+  } //Z#548
   /* Pacific/Chuuk */ :table {
     transPre32:intvector { -1, 2117478068 }
     typeOffsets:intvector { 36428, 0, 36000, 0 }
     typeMap:bin { "01" }
-    links:intvector { 547, 582, 585 }
-  } //Z#547
+    links:intvector { 549, 584, 587 }
+  } //Z#549
   /* Pacific/Easter */ :table {
-    trans:intvector { -1178124152, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1430017200 }
-    typeOffsets:intvector { -26248, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600, -18000, 0 }
-    typeMap:bin { "0102010201020102010201020102010201020102010201020102010203040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030405" }
-    links:intvector { 388, 548 }
-  } //Z#548
+    trans:intvector { -1178124152, -36619200, -23922000, -3355200, 7527600, 24465600, 37767600, 55915200, 69217200, 87969600, 100666800, 118209600, 132116400, 150868800, 163566000, 182318400, 195620400, 213768000, 227070000, 245217600, 258519600, 277272000, 289969200, 308721600, 321418800, 340171200, 353473200, 371620800, 384922800, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 592372800, 605674800, 624427200, 637124400, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400, 1367118000, 1378612800, 1398567600, 1410062400, 1463281200, 1471147200 }
+    typeOffsets:intvector { -26248, 0, -25200, 0, -25200, 3600, -21600, 0, -21600, 3600 }
+    typeMap:bin { "010201020102010201020102010201020102010201020102010201020304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304" }
+    finalRule { "Chile" }
+    finalRaw:int { -21600 }
+    finalYear:int { 2017 }
+    links:intvector { 389, 550 }
+  } //Z#550
   /* Pacific/Efate */ :table {
     trans:intvector { -1829387596, 433256400, 448977600, 467298000, 480427200, 496760400, 511876800, 528210000, 543931200, 559659600, 575380800, 591109200, 606830400, 622558800, 638280000, 654008400, 669729600, 686062800, 696340800, 719931600, 727790400 }
     typeOffsets:intvector { 40396, 0, 39600, 0, 39600, 3600 }
     typeMap:bin { "010201020102010201020102010201020102010201" }
-  } //Z#549
+  } //Z#551
   /* Pacific/Enderbury */ :table {
     transPre32:intvector { -1, 2117555556 }
     trans:intvector { 307627200, 788958000 }
     typeOffsets:intvector { -41060, 0, -43200, 0, -39600, 0, 46800, 0 }
     typeMap:bin { "010203" }
-  } //Z#550
+  } //Z#552
   /* Pacific/Fakaofo */ :table {
     transPre32:intvector { -1, 2117555592 }
     trans:intvector { 1325242800 }
     typeOffsets:intvector { -41096, 0, -39600, 0, 46800, 0 }
     typeMap:bin { "0102" }
-  } //Z#551
+  } //Z#553
   /* Pacific/Fiji */ :table {
     trans:intvector { -1709985344, 909842400, 920124000, 941896800, 951573600, 1259416800, 1269698400, 1287842400, 1299333600, 1319292000, 1327154400, 1350741600, 1358604000, 1382796000, 1390050000, 1414850400, 1421503200, 1446300000 }
     typeOffsets:intvector { 42944, 0, 43200, 0, 43200, 3600 }
@@ -2584,170 +2600,170 @@
     finalRule { "Fiji" }
     finalRaw:int { 43200 }
     finalYear:int { 2016 }
-  } //Z#552
+  } //Z#554
   /* Pacific/Funafuti */ :table {
     transPre32:intvector { -1, 2117471484 }
     typeOffsets:intvector { 43012, 0, 43200, 0 }
     typeMap:bin { "01" }
-  } //Z#553
+  } //Z#555
   /* Pacific/Galapagos */ :table {
     trans:intvector { -1230746496, 504939600 }
     typeOffsets:intvector { -21504, 0, -21600, 0, -18000, 0 }
     typeMap:bin { "0201" }
-  } //Z#554
+  } //Z#556
   /* Pacific/Gambier */ :table {
     trans:intvector { -1806678012 }
     typeOffsets:intvector { -32388, 0, -32400, 0 }
     typeMap:bin { "01" }
-  } //Z#555
+  } //Z#557
   /* Pacific/Guadalcanal */ :table {
     trans:intvector { -1806748788 }
     typeOffsets:intvector { 38388, 0, 39600, 0 }
     typeMap:bin { "01" }
-    links:intvector { 556, 590 }
-  } //Z#556
+    links:intvector { 558, 592 }
+  } //Z#558
   /* Pacific/Guam */ :table {
     transPre32:intvector { -1, 350340556, -1, 2117479756 }
     typeOffsets:intvector { -51660, 0, 34740, 0, 36000, 0 }
     typeMap:bin { "0102" }
-    links:intvector { 557, 577 }
-  } //Z#557
+    links:intvector { 559, 579 }
+  } //Z#559
   /* Pacific/Honolulu */ :table {
     transPre32:intvector { -1, 1960865982 }
     trans:intvector { -1157283000, -1155436200, -880198200, -765376200, -712150200 }
     typeOffsets:intvector { -37886, 0, -37800, 0, -37800, 3600, -36000, 0 }
     typeMap:bin { "010201020103" }
-    links:intvector { 558, 559, 613 }
-  } //Z#558
-  /* Pacific/Johnston */ :int { 558 } //Z#559
+    links:intvector { 560, 561, 615 }
+  } //Z#560
+  /* Pacific/Johnston */ :int { 560 } //Z#561
   /* Pacific/Kiritimati */ :table {
     transPre32:intvector { -1, 2117552256 }
     trans:intvector { 307622400, 788954400 }
     typeOffsets:intvector { -37760, 0, -38400, 0, -36000, 0, 50400, 0 }
     typeMap:bin { "010203" }
-  } //Z#560
+  } //Z#562
   /* Pacific/Kosrae */ :table {
     transPre32:intvector { -1, 2117475380 }
     trans:intvector { -7988400, 915105600 }
     typeOffsets:intvector { 39116, 0, 39600, 0, 43200, 0 }
     typeMap:bin { "010201" }
-  } //Z#561
+  } //Z#563
   /* Pacific/Kwajalein */ :table {
     transPre32:intvector { -1, 2117474336 }
     trans:intvector { -7988400, 745848000 }
     typeOffsets:intvector { 40160, 0, -43200, 0, 39600, 0, 43200, 0 }
     typeMap:bin { "020103" }
-    links:intvector { 523, 562 }
-  } //Z#562
+    links:intvector { 525, 564 }
+  } //Z#564
   /* Pacific/Majuro */ :table {
     transPre32:intvector { -1, 2117473408 }
     trans:intvector { -7988400 }
     typeOffsets:intvector { 41088, 0, 39600, 0, 43200, 0 }
     typeMap:bin { "0102" }
-  } //Z#563
+  } //Z#565
   /* Pacific/Marquesas */ :table {
     trans:intvector { -1806676920 }
     typeOffsets:intvector { -33480, 0, -34200, 0 }
     typeMap:bin { "01" }
-  } //Z#564
-  /* Pacific/Midway */ :int { 570 } //Z#565
+  } //Z#566
+  /* Pacific/Midway */ :int { 572 } //Z#567
   /* Pacific/Nauru */ :table {
     trans:intvector { -1545131260, -877347000, -800960400, 294323400 }
     typeOffsets:intvector { 40060, 0, 32400, 0, 41400, 0, 43200, 0 }
     typeMap:bin { "02010203" }
-  } //Z#566
+  } //Z#568
   /* Pacific/Niue */ :table {
     transPre32:intvector { -1, 2117555276 }
     trans:intvector { -599575200, 276089400 }
     typeOffsets:intvector { -40780, 0, -41400, 0, -40800, 0, -39600, 0 }
     typeMap:bin { "020103" }
-  } //Z#567
+  } //Z#569
   /* Pacific/Norfolk */ :table {
     transPre32:intvector { -1, 2117474184 }
     trans:intvector { -599656320, 152029800, 162912600, 1443882600 }
     typeOffsets:intvector { 40312, 0, 39600, 0, 40320, 0, 41400, 0, 41400, 3600 }
     typeMap:bin { "0203040301" }
-  } //Z#568
+  } //Z#570
   /* Pacific/Noumea */ :table {
     trans:intvector { -1829387148, 250002000, 257342400, 281451600, 288878400, 849366000, 857228400 }
     typeOffsets:intvector { 39948, 0, 39600, 0, 39600, 3600 }
     typeMap:bin { "01020102010201" }
-  } //Z#569
+  } //Z#571
   /* Pacific/Pago_Pago */ :table {
     transPre32:intvector { -1, 1439229064 }
     trans:intvector { -1861879032 }
     typeOffsets:intvector { 45432, 0, -40968, 0, -39600, 0 }
     typeMap:bin { "0102" }
-    links:intvector { 565, 570, 578, 619 }
-  } //Z#570
+    links:intvector { 567, 572, 580, 621 }
+  } //Z#572
   /* Pacific/Palau */ :table {
     transPre32:intvector { -1, 2117482220 }
     typeOffsets:intvector { 32276, 0, 32400, 0 }
     typeMap:bin { "01" }
-  } //Z#571
+  } //Z#573
   /* Pacific/Pitcairn */ :table {
     transPre32:intvector { -1, 2117545716 }
     trans:intvector { 893665800 }
     typeOffsets:intvector { -31220, 0, -30600, 0, -28800, 0 }
     typeMap:bin { "0102" }
-  } //Z#572
+  } //Z#574
   /* Pacific/Pohnpei */ :table {
     transPre32:intvector { -1, 2117476524 }
     typeOffsets:intvector { 37972, 0, 39600, 0 }
     typeMap:bin { "01" }
-    links:intvector { 573, 574 }
-  } //Z#573
-  /* Pacific/Ponape */ :int { 573 } //Z#574
+    links:intvector { 575, 576 }
+  } //Z#575
+  /* Pacific/Ponape */ :int { 575 } //Z#576
   /* Pacific/Port_Moresby */ :table {
     transPre32:intvector { -1, 1454791176, -1, 1928176784 }
     typeOffsets:intvector { 35320, 0, 35312, 0, 36000, 0 }
     typeMap:bin { "0102" }
-  } //Z#575
+  } //Z#577
   /* Pacific/Rarotonga */ :table {
     transPre32:intvector { -1, 2117552840 }
     trans:intvector { 279714600, 289387800, 309952800, 320837400, 341402400, 352287000, 372852000, 384341400, 404906400, 415791000, 436356000, 447240600, 467805600, 478690200, 499255200, 510139800, 530704800, 541589400, 562154400, 573643800, 594208800, 605093400, 625658400, 636543000, 657108000, 667992600 }
     typeOffsets:intvector { -38344, 0, -37800, 0, -36000, 0, -36000, 1800 }
     typeMap:bin { "010302030203020302030203020302030203020302030203020302" }
-  } //Z#576
-  /* Pacific/Saipan */ :int { 557 } //Z#577
-  /* Pacific/Samoa */ :int { 570 } //Z#578
+  } //Z#578
+  /* Pacific/Saipan */ :int { 559 } //Z#579
+  /* Pacific/Samoa */ :int { 572 } //Z#580
   /* Pacific/Tahiti */ :table {
     trans:intvector { -1806674504 }
     typeOffsets:intvector { -35896, 0, -36000, 0 }
     typeMap:bin { "01" }
-  } //Z#579
+  } //Z#581
   /* Pacific/Tarawa */ :table {
     transPre32:intvector { -1, 2117472972 }
     typeOffsets:intvector { 41524, 0, 43200, 0 }
     typeMap:bin { "01" }
-  } //Z#580
+  } //Z#582
   /* Pacific/Tongatapu */ :table {
     transPre32:intvector { -1, 2117470136 }
     trans:intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400 }
     typeOffsets:intvector { 44360, 0, 44400, 0, 46800, 0, 46800, 3600 }
     typeMap:bin { "0102030203020302" }
-  } //Z#581
-  /* Pacific/Truk */ :int { 547 } //Z#582
+  } //Z#583
+  /* Pacific/Truk */ :int { 549 } //Z#584
   /* Pacific/Wake */ :table {
     transPre32:intvector { -1, 2117474508 }
     typeOffsets:intvector { 39988, 0, 43200, 0 }
     typeMap:bin { "01" }
-  } //Z#583
+  } //Z#585
   /* Pacific/Wallis */ :table {
     transPre32:intvector { -1, 2117470376 }
     typeOffsets:intvector { 44120, 0, 43200, 0 }
     typeMap:bin { "01" }
-  } //Z#584
-  /* Pacific/Yap */ :int { 547 } //Z#585
-  /* Poland */ :int { 490 } //Z#586
-  /* Portugal */ :int { 456 } //Z#587
-  /* ROC */ :int { 313 } //Z#588
-  /* ROK */ :int { 309 } //Z#589
-  /* SST */ :int { 556 } //Z#590
-  /* Singapore */ :int { 311 } //Z#591
+  } //Z#586
+  /* Pacific/Yap */ :int { 549 } //Z#587
+  /* Poland */ :int { 492 } //Z#588
+  /* Portugal */ :int { 458 } //Z#589
+  /* ROC */ :int { 313 } //Z#590
+  /* ROK */ :int { 309 } //Z#591
+  /* SST */ :int { 558 } //Z#592
+  /* Singapore */ :int { 311 } //Z#593
   /* SystemV/AST4 */ :table {
     typeOffsets:intvector { -14400, 0 }
-  } //Z#592
+  } //Z#594
   /* SystemV/AST4ADT */ :table {
     transPre32:intvector { -1, 2096195296, -1, 2111916496, -1, 2127644896, -1, 2143366096 }
     trans:intvector { -2135872800, -2120151600, -2104423200, -2088702000, -2072973600, -2056647600, -2040919200, -2025198000, -2009469600, -1993748400, -1978020000, -1962298800, -1946570400, -1930849200, -1915120800, -1898794800, -1883671200, -1867345200, -1851616800, -1835895600, -1820167200, -1804446000, -1788717600, -1772996400, -1757268000, -1741546800, -1725818400, -1709492400, -1693764000, -1678042800, -1662314400, -1646593200, -1630864800, -1615143600, -1599415200, -1583694000, -1567965600, -1551639600, -1536516000, -1520190000, -1504461600, -1488740400, -1473012000, -1457290800, -1441562400, -1425841200, -1410112800, -1394391600, -1378663200, -1362337200, -1347213600, -1330887600, -1315159200, -1299438000, -1283709600, -1267988400, -1252260000, -1236538800, -1220810400, -1205089200, -1189360800, -1173034800, -1157306400, -1141585200, -1125856800, -1110135600, -1094407200, -1078686000, -1062957600, -1047236400, -1031508000, -1015182000, -1000058400, -983732400, -968004000, -952282800, -936554400, -920833200, -905104800, -889383600, -873655200, -857934000, -842205600, -825879600, -810151200, -794430000, -778701600, -762980400, -747252000, -731530800, -715802400, -700081200, -684352800, -668026800, -652903200, -636577200, -620848800, -605127600, -589399200, -573678000, -557949600, -542228400, -526500000, -510778800, -495050400, -478724400, -463600800, -447274800, -431546400, -415825200, -400096800, -384375600, -368647200, -352926000, -337197600, -321476400, -305748000, -289422000, -273693600, -257972400, -242244000, -226522800, -210794400, -195073200, -179344800, -163623600, -147895200, -131569200, -116445600, -100119600, -84391200, -68670000, -52941600, -37220400, -21492000, -5770800, 9957600, 25678800, 41407200, 57733200, 73461600, 89182800, 104911200, 120632400, 126684000, 154501200, 162367200, 183531600, 199260000, 215586000 }
@@ -2756,10 +2772,10 @@
     finalRule { "SystemV" }
     finalRaw:int { -14400 }
     finalYear:int { 1977 }
-  } //Z#593
+  } //Z#595
   /* SystemV/CST6 */ :table {
     typeOffsets:intvector { -21600, 0 }
-  } //Z#594
+  } //Z#596
   /* SystemV/CST6CDT */ :table {
     transPre32:intvector { -1, 2096202496, -1, 2111923696, -1, 2127652096, -1, 2143373296 }
     trans:intvector { -2135865600, -2120144400, -2104416000, -2088694800, -2072966400, -2056640400, -2040912000, -2025190800, -2009462400, -1993741200, -1978012800, -1962291600, -1946563200, -1930842000, -1915113600, -1898787600, -1883664000, -1867338000, -1851609600, -1835888400, -1820160000, -1804438800, -1788710400, -1772989200, -1757260800, -1741539600, -1725811200, -1709485200, -1693756800, -1678035600, -1662307200, -1646586000, -1630857600, -1615136400, -1599408000, -1583686800, -1567958400, -1551632400, -1536508800, -1520182800, -1504454400, -1488733200, -1473004800, -1457283600, -1441555200, -1425834000, -1410105600, -1394384400, -1378656000, -1362330000, -1347206400, -1330880400, -1315152000, -1299430800, -1283702400, -1267981200, -1252252800, -1236531600, -1220803200, -1205082000, -1189353600, -1173027600, -1157299200, -1141578000, -1125849600, -1110128400, -1094400000, -1078678800, -1062950400, -1047229200, -1031500800, -1015174800, -1000051200, -983725200, -967996800, -952275600, -936547200, -920826000, -905097600, -889376400, -873648000, -857926800, -842198400, -825872400, -810144000, -794422800, -778694400, -762973200, -747244800, -731523600, -715795200, -700074000, -684345600, -668019600, -652896000, -636570000, -620841600, -605120400, -589392000, -573670800, -557942400, -542221200, -526492800, -510771600, -495043200, -478717200, -463593600, -447267600, -431539200, -415818000, -400089600, -384368400, -368640000, -352918800, -337190400, -321469200, -305740800, -289414800, -273686400, -257965200, -242236800, -226515600, -210787200, -195066000, -179337600, -163616400, -147888000, -131562000, -116438400, -100112400, -84384000, -68662800, -52934400, -37213200, -21484800, -5763600, 9964800, 25686000, 41414400, 57740400, 73468800, 89190000, 104918400, 120639600, 126691200, 154508400, 162374400, 183538800, 199267200, 215593200 }
@@ -2768,10 +2784,10 @@
     finalRule { "SystemV" }
     finalRaw:int { -21600 }
     finalYear:int { 1977 }
-  } //Z#595
+  } //Z#597
   /* SystemV/EST5 */ :table {
     typeOffsets:intvector { -18000, 0 }
-  } //Z#596
+  } //Z#598
   /* SystemV/EST5EDT */ :table {
     transPre32:intvector { -1, 2096198896, -1, 2111920096, -1, 2127648496, -1, 2143369696 }
     trans:intvector { -2135869200, -2120148000, -2104419600, -2088698400, -2072970000, -2056644000, -2040915600, -2025194400, -2009466000, -1993744800, -1978016400, -1962295200, -1946566800, -1930845600, -1915117200, -1898791200, -1883667600, -1867341600, -1851613200, -1835892000, -1820163600, -1804442400, -1788714000, -1772992800, -1757264400, -1741543200, -1725814800, -1709488800, -1693760400, -1678039200, -1662310800, -1646589600, -1630861200, -1615140000, -1599411600, -1583690400, -1567962000, -1551636000, -1536512400, -1520186400, -1504458000, -1488736800, -1473008400, -1457287200, -1441558800, -1425837600, -1410109200, -1394388000, -1378659600, -1362333600, -1347210000, -1330884000, -1315155600, -1299434400, -1283706000, -1267984800, -1252256400, -1236535200, -1220806800, -1205085600, -1189357200, -1173031200, -1157302800, -1141581600, -1125853200, -1110132000, -1094403600, -1078682400, -1062954000, -1047232800, -1031504400, -1015178400, -1000054800, -983728800, -968000400, -952279200, -936550800, -920829600, -905101200, -889380000, -873651600, -857930400, -842202000, -825876000, -810147600, -794426400, -778698000, -762976800, -747248400, -731527200, -715798800, -700077600, -684349200, -668023200, -652899600, -636573600, -620845200, -605124000, -589395600, -573674400, -557946000, -542224800, -526496400, -510775200, -495046800, -478720800, -463597200, -447271200, -431542800, -415821600, -400093200, -384372000, -368643600, -352922400, -337194000, -321472800, -305744400, -289418400, -273690000, -257968800, -242240400, -226519200, -210790800, -195069600, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 126687600, 154504800, 162370800, 183535200, 199263600, 215589600 }
@@ -2780,13 +2796,13 @@
     finalRule { "SystemV" }
     finalRaw:int { -18000 }
     finalYear:int { 1977 }
-  } //Z#597
+  } //Z#599
   /* SystemV/HST10 */ :table {
     typeOffsets:intvector { -36000, 0 }
-  } //Z#598
+  } //Z#600
   /* SystemV/MST7 */ :table {
     typeOffsets:intvector { -25200, 0 }
-  } //Z#599
+  } //Z#601
   /* SystemV/MST7MDT */ :table {
     transPre32:intvector { -1, 2096206096, -1, 2111927296, -1, 2127655696, -1, 2143376896 }
     trans:intvector { -2135862000, -2120140800, -2104412400, -2088691200, -2072962800, -2056636800, -2040908400, -2025187200, -2009458800, -1993737600, -1978009200, -1962288000, -1946559600, -1930838400, -1915110000, -1898784000, -1883660400, -1867334400, -1851606000, -1835884800, -1820156400, -1804435200, -1788706800, -1772985600, -1757257200, -1741536000, -1725807600, -1709481600, -1693753200, -1678032000, -1662303600, -1646582400, -1630854000, -1615132800, -1599404400, -1583683200, -1567954800, -1551628800, -1536505200, -1520179200, -1504450800, -1488729600, -1473001200, -1457280000, -1441551600, -1425830400, -1410102000, -1394380800, -1378652400, -1362326400, -1347202800, -1330876800, -1315148400, -1299427200, -1283698800, -1267977600, -1252249200, -1236528000, -1220799600, -1205078400, -1189350000, -1173024000, -1157295600, -1141574400, -1125846000, -1110124800, -1094396400, -1078675200, -1062946800, -1047225600, -1031497200, -1015171200, -1000047600, -983721600, -967993200, -952272000, -936543600, -920822400, -905094000, -889372800, -873644400, -857923200, -842194800, -825868800, -810140400, -794419200, -778690800, -762969600, -747241200, -731520000, -715791600, -700070400, -684342000, -668016000, -652892400, -636566400, -620838000, -605116800, -589388400, -573667200, -557938800, -542217600, -526489200, -510768000, -495039600, -478713600, -463590000, -447264000, -431535600, -415814400, -400086000, -384364800, -368636400, -352915200, -337186800, -321465600, -305737200, -289411200, -273682800, -257961600, -242233200, -226512000, -210783600, -195062400, -179334000, -163612800, -147884400, -131558400, -116434800, -100108800, -84380400, -68659200, -52930800, -37209600, -21481200, -5760000, 9968400, 25689600, 41418000, 57744000, 73472400, 89193600, 104922000, 120643200, 126694800, 154512000, 162378000, 183542400, 199270800, 215596800 }
@@ -2795,10 +2811,10 @@
     finalRule { "SystemV" }
     finalRaw:int { -25200 }
     finalYear:int { 1977 }
-  } //Z#600
+  } //Z#602
   /* SystemV/PST8 */ :table {
     typeOffsets:intvector { -28800, 0 }
-  } //Z#601
+  } //Z#603
   /* SystemV/PST8PDT */ :table {
     transPre32:intvector { -1, 2096209696, -1, 2111930896, -1, 2127659296, -1, 2143380496 }
     trans:intvector { -2135858400, -2120137200, -2104408800, -2088687600, -2072959200, -2056633200, -2040904800, -2025183600, -2009455200, -1993734000, -1978005600, -1962284400, -1946556000, -1930834800, -1915106400, -1898780400, -1883656800, -1867330800, -1851602400, -1835881200, -1820152800, -1804431600, -1788703200, -1772982000, -1757253600, -1741532400, -1725804000, -1709478000, -1693749600, -1678028400, -1662300000, -1646578800, -1630850400, -1615129200, -1599400800, -1583679600, -1567951200, -1551625200, -1536501600, -1520175600, -1504447200, -1488726000, -1472997600, -1457276400, -1441548000, -1425826800, -1410098400, -1394377200, -1378648800, -1362322800, -1347199200, -1330873200, -1315144800, -1299423600, -1283695200, -1267974000, -1252245600, -1236524400, -1220796000, -1205074800, -1189346400, -1173020400, -1157292000, -1141570800, -1125842400, -1110121200, -1094392800, -1078671600, -1062943200, -1047222000, -1031493600, -1015167600, -1000044000, -983718000, -967989600, -952268400, -936540000, -920818800, -905090400, -889369200, -873640800, -857919600, -842191200, -825865200, -810136800, -794415600, -778687200, -762966000, -747237600, -731516400, -715788000, -700066800, -684338400, -668012400, -652888800, -636562800, -620834400, -605113200, -589384800, -573663600, -557935200, -542214000, -526485600, -510764400, -495036000, -478710000, -463586400, -447260400, -431532000, -415810800, -400082400, -384361200, -368632800, -352911600, -337183200, -321462000, -305733600, -289407600, -273679200, -257958000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 154515600, 162381600, 183546000, 199274400, 215600400 }
@@ -2807,10 +2823,10 @@
     finalRule { "SystemV" }
     finalRaw:int { -28800 }
     finalYear:int { 1977 }
-  } //Z#602
+  } //Z#604
   /* SystemV/YST9 */ :table {
     typeOffsets:intvector { -32400, 0 }
-  } //Z#603
+  } //Z#605
   /* SystemV/YST9YDT */ :table {
     transPre32:intvector { -1, 2096213296, -1, 2111934496, -1, 2127662896, -1, 2143384096 }
     trans:intvector { -2135854800, -2120133600, -2104405200, -2088684000, -2072955600, -2056629600, -2040901200, -2025180000, -2009451600, -1993730400, -1978002000, -1962280800, -1946552400, -1930831200, -1915102800, -1898776800, -1883653200, -1867327200, -1851598800, -1835877600, -1820149200, -1804428000, -1788699600, -1772978400, -1757250000, -1741528800, -1725800400, -1709474400, -1693746000, -1678024800, -1662296400, -1646575200, -1630846800, -1615125600, -1599397200, -1583676000, -1567947600, -1551621600, -1536498000, -1520172000, -1504443600, -1488722400, -1472994000, -1457272800, -1441544400, -1425823200, -1410094800, -1394373600, -1378645200, -1362319200, -1347195600, -1330869600, -1315141200, -1299420000, -1283691600, -1267970400, -1252242000, -1236520800, -1220792400, -1205071200, -1189342800, -1173016800, -1157288400, -1141567200, -1125838800, -1110117600, -1094389200, -1078668000, -1062939600, -1047218400, -1031490000, -1015164000, -1000040400, -983714400, -967986000, -952264800, -936536400, -920815200, -905086800, -889365600, -873637200, -857916000, -842187600, -825861600, -810133200, -794412000, -778683600, -762962400, -747234000, -731512800, -715784400, -700063200, -684334800, -668008800, -652885200, -636559200, -620830800, -605109600, -589381200, -573660000, -557931600, -542210400, -526482000, -510760800, -495032400, -478706400, -463582800, -447256800, -431528400, -415807200, -400078800, -384357600, -368629200, -352908000, -337179600, -321458400, -305730000, -289404000, -273675600, -257954400, -242226000, -226504800, -210776400, -195055200, -179326800, -163605600, -147877200, -131551200, -116427600, -100101600, -84373200, -68652000, -52923600, -37202400, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 154519200, 162385200, 183549600, 199278000, 215604000 }
@@ -2819,26 +2835,26 @@
     finalRule { "SystemV" }
     finalRaw:int { -32400 }
     finalYear:int { 1977 }
-  } //Z#604
-  /* Turkey */ :int { 452 } //Z#605
-  /* UCT */ :int { 428 } //Z#606
-  /* US/Alaska */ :int { 60 } //Z#607
-  /* US/Aleutian */ :int { 59 } //Z#608
-  /* US/Arizona */ :int { 184 } //Z#609
-  /* US/Central */ :int { 98 } //Z#610
-  /* US/East-Indiana */ :int { 131 } //Z#611
-  /* US/Eastern */ :int { 173 } //Z#612
-  /* US/Hawaii */ :int { 558 } //Z#613
-  /* US/Indiana-Starke */ :int { 132 } //Z#614
-  /* US/Michigan */ :int { 110 } //Z#615
-  /* US/Mountain */ :int { 109 } //Z#616
-  /* US/Pacific */ :int { 151 } //Z#617
-  /* US/Pacific-New */ :int { 151 } //Z#618
-  /* US/Samoa */ :int { 570 } //Z#619
-  /* UTC */ :int { 429 } //Z#620
-  /* Universal */ :int { 429 } //Z#621
-  /* VST */ :int { 268 } //Z#622
-  /* W-SU */ :int { 465 } //Z#623
+  } //Z#606
+  /* Turkey */ :int { 453 } //Z#607
+  /* UCT */ :int { 429 } //Z#608
+  /* US/Alaska */ :int { 60 } //Z#609
+  /* US/Aleutian */ :int { 59 } //Z#610
+  /* US/Arizona */ :int { 184 } //Z#611
+  /* US/Central */ :int { 98 } //Z#612
+  /* US/East-Indiana */ :int { 131 } //Z#613
+  /* US/Eastern */ :int { 173 } //Z#614
+  /* US/Hawaii */ :int { 560 } //Z#615
+  /* US/Indiana-Starke */ :int { 132 } //Z#616
+  /* US/Michigan */ :int { 110 } //Z#617
+  /* US/Mountain */ :int { 109 } //Z#618
+  /* US/Pacific */ :int { 151 } //Z#619
+  /* US/Pacific-New */ :int { 151 } //Z#620
+  /* US/Samoa */ :int { 572 } //Z#621
+  /* UTC */ :int { 430 } //Z#622
+  /* Universal */ :int { 430 } //Z#623
+  /* VST */ :int { 268 } //Z#624
+  /* W-SU */ :int { 467 } //Z#625
   /* WET */ :table {
     trans:intvector { 228877200, 243997200, 260326800, 276051600, 291776400, 307501200, 323830800, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 }
     typeOffsets:intvector { 0, 0, 0, 3600 }
@@ -2846,8 +2862,8 @@
     finalRule { "EU" }
     finalRaw:int { 0 }
     finalYear:int { 1997 }
-  } //Z#624
-  /* Zulu */ :int { 429 } //Z#625
+  } //Z#626
+  /* Zulu */ :int { 430 } //Z#627
  }
  Names {
     "ACT","AET","AGT","ART","AST","Africa/Abidjan","Africa/Accra" // 6
@@ -2952,87 +2968,87 @@
     ,"Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk" // 312
     ,"Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran" // 316
     ,"Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo" // 320
-    ,"Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator" // 323
-    ,"Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok" // 327
-    ,"Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan" // 330
-    ,"Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary" // 333
-    ,"Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe" // 336
-    ,"Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik" // 339
-    ,"Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley" // 342
-    ,"Australia/ACT","Australia/Adelaide","Australia/Brisbane" // 345
-    ,"Australia/Broken_Hill","Australia/Canberra","Australia/Currie" // 348
-    ,"Australia/Darwin","Australia/Eucla","Australia/Hobart" // 351
-    ,"Australia/LHI","Australia/Lindeman","Australia/Lord_Howe" // 354
-    ,"Australia/Melbourne","Australia/NSW","Australia/North" // 357
-    ,"Australia/Perth","Australia/Queensland","Australia/South" // 360
-    ,"Australia/Sydney","Australia/Tasmania","Australia/Victoria" // 363
-    ,"Australia/West","Australia/Yancowinna","BET","BST" // 367
-    ,"Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West" // 371
-    ,"CAT","CET","CNT","CST","CST6CDT","CTT","Canada/Atlantic" // 378
-    ,"Canada/Central","Canada/East-Saskatchewan","Canada/Eastern" // 381
-    ,"Canada/Mountain","Canada/Newfoundland","Canada/Pacific" // 384
-    ,"Canada/Saskatchewan","Canada/Yukon","Chile/Continental" // 387
-    ,"Chile/EasterIsland","Cuba","EAT","ECT","EET","EST" // 393
-    ,"EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1" // 399
-    ,"Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2" // 403
-    ,"Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7" // 408
-    ,"Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10" // 413
-    ,"Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14" // 417
-    ,"Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6" // 422
-    ,"Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich" // 427
-    ,"Etc/UCT","Etc/UTC","Etc/Universal","Etc/Unknown" // 431
-    ,"Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan" // 435
-    ,"Europe/Athens","Europe/Belfast","Europe/Belgrade" // 438
-    ,"Europe/Berlin","Europe/Bratislava","Europe/Brussels" // 441
-    ,"Europe/Bucharest","Europe/Budapest","Europe/Busingen" // 444
-    ,"Europe/Chisinau","Europe/Copenhagen","Europe/Dublin" // 447
-    ,"Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki" // 450
-    ,"Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey" // 453
-    ,"Europe/Kaliningrad","Europe/Kiev","Europe/Lisbon" // 456
-    ,"Europe/Ljubljana","Europe/London","Europe/Luxembourg" // 459
-    ,"Europe/Madrid","Europe/Malta","Europe/Mariehamn" // 462
-    ,"Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia" // 466
-    ,"Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague" // 470
-    ,"Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino" // 474
-    ,"Europe/Sarajevo","Europe/Simferopol","Europe/Skopje" // 477
-    ,"Europe/Sofia","Europe/Stockholm","Europe/Tallinn" // 480
-    ,"Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk" // 483
-    ,"Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican" // 486
-    ,"Europe/Vienna","Europe/Vilnius","Europe/Volgograd" // 489
-    ,"Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye" // 492
-    ,"Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0" // 498
-    ,"GMT-0","GMT0","Greenwich","HST","Hongkong","IET" // 504
-    ,"IST","Iceland","Indian/Antananarivo","Indian/Chagos" // 508
-    ,"Indian/Christmas","Indian/Cocos","Indian/Comoro" // 511
-    ,"Indian/Kerguelen","Indian/Mahe","Indian/Maldives" // 514
-    ,"Indian/Mauritius","Indian/Mayotte","Indian/Reunion" // 517
-    ,"Iran","Israel","JST","Jamaica","Japan","Kwajalein" // 523
-    ,"Libya","MET","MIT","MST","MST7MDT","Mexico/BajaNorte" // 529
-    ,"Mexico/BajaSur","Mexico/General","NET","NST","NZ" // 534
-    ,"NZ-CHAT","Navajo","PLT","PNT","PRC","PRT","PST","PST8PDT" // 542
-    ,"Pacific/Apia","Pacific/Auckland","Pacific/Bougainville" // 545
-    ,"Pacific/Chatham","Pacific/Chuuk","Pacific/Easter" // 548
-    ,"Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo" // 551
-    ,"Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos" // 554
-    ,"Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam" // 557
-    ,"Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati" // 560
-    ,"Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro" // 563
-    ,"Pacific/Marquesas","Pacific/Midway","Pacific/Nauru" // 566
-    ,"Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 569
-    ,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 572
-    ,"Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby" // 575
-    ,"Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa" // 578
-    ,"Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu" // 581
-    ,"Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap" // 585
-    ,"Poland","Portugal","ROC","ROK","SST","Singapore" // 591
-    ,"SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT" // 595
-    ,"SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7" // 599
-    ,"SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT" // 602
-    ,"SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska" // 607
-    ,"US/Aleutian","US/Arizona","US/Central","US/East-Indiana" // 611
-    ,"US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan" // 615
-    ,"US/Mountain","US/Pacific","US/Pacific-New","US/Samoa" // 619
-    ,"UTC","Universal","VST","W-SU","WET","Zulu" // 625
+    ,"Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar" // 323
+    ,"Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane" // 327
+    ,"Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg" // 330
+    ,"Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda" // 333
+    ,"Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe" // 336
+    ,"Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira" // 339
+    ,"Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena" // 342
+    ,"Atlantic/Stanley","Australia/ACT","Australia/Adelaide" // 345
+    ,"Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra" // 348
+    ,"Australia/Currie","Australia/Darwin","Australia/Eucla" // 351
+    ,"Australia/Hobart","Australia/LHI","Australia/Lindeman" // 354
+    ,"Australia/Lord_Howe","Australia/Melbourne","Australia/NSW" // 357
+    ,"Australia/North","Australia/Perth","Australia/Queensland" // 360
+    ,"Australia/South","Australia/Sydney","Australia/Tasmania" // 363
+    ,"Australia/Victoria","Australia/West","Australia/Yancowinna" // 366
+    ,"BET","BST","Brazil/Acre","Brazil/DeNoronha","Brazil/East" // 371
+    ,"Brazil/West","CAT","CET","CNT","CST","CST6CDT","CTT" // 378
+    ,"Canada/Atlantic","Canada/Central","Canada/East-Saskatchewan" // 381
+    ,"Canada/Eastern","Canada/Mountain","Canada/Newfoundland" // 384
+    ,"Canada/Pacific","Canada/Saskatchewan","Canada/Yukon" // 387
+    ,"Chile/Continental","Chile/EasterIsland","Cuba","EAT" // 391
+    ,"ECT","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT" // 398
+    ,"Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11" // 402
+    ,"Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5" // 407
+    ,"Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0" // 412
+    ,"Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12" // 416
+    ,"Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3" // 420
+    ,"Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8" // 425
+    ,"Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC" // 430
+    ,"Etc/Universal","Etc/Unknown","Etc/Zulu","Europe/Amsterdam" // 434
+    ,"Europe/Andorra","Europe/Astrakhan","Europe/Athens" // 437
+    ,"Europe/Belfast","Europe/Belgrade","Europe/Berlin" // 440
+    ,"Europe/Bratislava","Europe/Brussels","Europe/Bucharest" // 443
+    ,"Europe/Budapest","Europe/Busingen","Europe/Chisinau" // 446
+    ,"Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar" // 449
+    ,"Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man" // 452
+    ,"Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad" // 455
+    ,"Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana" // 459
+    ,"Europe/London","Europe/Luxembourg","Europe/Madrid" // 462
+    ,"Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco" // 466
+    ,"Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris" // 470
+    ,"Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome" // 474
+    ,"Europe/Samara","Europe/San_Marino","Europe/Sarajevo" // 477
+    ,"Europe/Simferopol","Europe/Skopje","Europe/Sofia" // 480
+    ,"Europe/Stockholm","Europe/Tallinn","Europe/Tirane" // 483
+    ,"Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod" // 486
+    ,"Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius" // 490
+    ,"Europe/Volgograd","Europe/Warsaw","Europe/Zagreb" // 493
+    ,"Europe/Zaporozhye","Europe/Zurich","Factory","GB" // 497
+    ,"GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich" // 503
+    ,"HST","Hongkong","IET","IST","Iceland","Indian/Antananarivo" // 509
+    ,"Indian/Chagos","Indian/Christmas","Indian/Cocos" // 512
+    ,"Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives" // 516
+    ,"Indian/Mauritius","Indian/Mayotte","Indian/Reunion" // 519
+    ,"Iran","Israel","JST","Jamaica","Japan","Kwajalein" // 525
+    ,"Libya","MET","MIT","MST","MST7MDT","Mexico/BajaNorte" // 531
+    ,"Mexico/BajaSur","Mexico/General","NET","NST","NZ" // 536
+    ,"NZ-CHAT","Navajo","PLT","PNT","PRC","PRT","PST","PST8PDT" // 544
+    ,"Pacific/Apia","Pacific/Auckland","Pacific/Bougainville" // 547
+    ,"Pacific/Chatham","Pacific/Chuuk","Pacific/Easter" // 550
+    ,"Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo" // 553
+    ,"Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos" // 556
+    ,"Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam" // 559
+    ,"Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati" // 562
+    ,"Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro" // 565
+    ,"Pacific/Marquesas","Pacific/Midway","Pacific/Nauru" // 568
+    ,"Pacific/Niue","Pacific/Norfolk","Pacific/Noumea" // 571
+    ,"Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn" // 574
+    ,"Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby" // 577
+    ,"Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa" // 580
+    ,"Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu" // 583
+    ,"Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap" // 587
+    ,"Poland","Portugal","ROC","ROK","SST","Singapore" // 593
+    ,"SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT" // 597
+    ,"SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7" // 601
+    ,"SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT" // 604
+    ,"SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska" // 609
+    ,"US/Aleutian","US/Arizona","US/Central","US/East-Indiana" // 613
+    ,"US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan" // 617
+    ,"US/Mountain","US/Pacific","US/Pacific-New","US/Samoa" // 621
+    ,"UTC","Universal","VST","W-SU","WET","Zulu" // 627
  }
  Rules { 
   AN:intvector {
@@ -3047,20 +3063,20 @@
   AV:intvector {
     9, 1, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
   } //_#3
-  Azer:intvector {
-    2, -31, -1, 14400, 0, 9, -31, -1, 18000, 0, 3600
-  } //_#4
   Brazil:intvector {
     9, 15, -1, 0, 0, 1, 15, -1, 0, 0, 3600
-  } //_#5
+  } //_#4
   C-Eur:intvector {
     2, -31, -1, 7200, 1, 9, -31, -1, 7200, 1, 3600
-  } //_#6
+  } //_#5
   Canada:intvector {
     2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
-  } //_#7
+  } //_#6
   Chatham:intvector {
     8, -30, -1, 9900, 1, 3, 1, -1, 9900, 1, 3600
+  } //_#7
+  Chile:intvector {
+    7, 9, -1, 14400, 2, 4, 9, -1, 10800, 2, 3600
   } //_#8
   Cuba:intvector {
     2, 8, -1, 0, 1, 10, 1, -1, 0, 1, 3600
@@ -3454,310 +3470,312 @@
   "BT", //Z#318 Asia/Thimbu
   "BT", //Z#319 Asia/Thimphu
   "JP", //Z#320 Asia/Tokyo
-  "ID", //Z#321 Asia/Ujung_Pandang
-  "MN", //Z#322 Asia/Ulaanbaatar
-  "MN", //Z#323 Asia/Ulan_Bator
-  "CN", //Z#324 Asia/Urumqi
-  "RU", //Z#325 Asia/Ust-Nera
-  "LA", //Z#326 Asia/Vientiane
-  "RU", //Z#327 Asia/Vladivostok
-  "RU", //Z#328 Asia/Yakutsk
-  "RU", //Z#329 Asia/Yekaterinburg
-  "AM", //Z#330 Asia/Yerevan
-  "PT", //Z#331 Atlantic/Azores
-  "BM", //Z#332 Atlantic/Bermuda
-  "ES", //Z#333 Atlantic/Canary
-  "CV", //Z#334 Atlantic/Cape_Verde
-  "FO", //Z#335 Atlantic/Faeroe
-  "FO", //Z#336 Atlantic/Faroe
-  "NO", //Z#337 Atlantic/Jan_Mayen
-  "PT", //Z#338 Atlantic/Madeira
-  "IS", //Z#339 Atlantic/Reykjavik
-  "GS", //Z#340 Atlantic/South_Georgia
-  "SH", //Z#341 Atlantic/St_Helena
-  "FK", //Z#342 Atlantic/Stanley
-  "AU", //Z#343 Australia/ACT
-  "AU", //Z#344 Australia/Adelaide
-  "AU", //Z#345 Australia/Brisbane
-  "AU", //Z#346 Australia/Broken_Hill
-  "AU", //Z#347 Australia/Canberra
-  "AU", //Z#348 Australia/Currie
-  "AU", //Z#349 Australia/Darwin
-  "AU", //Z#350 Australia/Eucla
-  "AU", //Z#351 Australia/Hobart
-  "AU", //Z#352 Australia/LHI
-  "AU", //Z#353 Australia/Lindeman
-  "AU", //Z#354 Australia/Lord_Howe
-  "AU", //Z#355 Australia/Melbourne
-  "AU", //Z#356 Australia/NSW
-  "AU", //Z#357 Australia/North
-  "AU", //Z#358 Australia/Perth
-  "AU", //Z#359 Australia/Queensland
-  "AU", //Z#360 Australia/South
-  "AU", //Z#361 Australia/Sydney
-  "AU", //Z#362 Australia/Tasmania
-  "AU", //Z#363 Australia/Victoria
-  "AU", //Z#364 Australia/West
-  "AU", //Z#365 Australia/Yancowinna
-  "BR", //Z#366 BET
-  "BD", //Z#367 BST
-  "BR", //Z#368 Brazil/Acre
-  "BR", //Z#369 Brazil/DeNoronha
-  "BR", //Z#370 Brazil/East
-  "BR", //Z#371 Brazil/West
-  "MZ", //Z#372 CAT
-  "001",//Z#373 CET
-  "CA", //Z#374 CNT
-  "US", //Z#375 CST
-  "001",//Z#376 CST6CDT
-  "CN", //Z#377 CTT
-  "CA", //Z#378 Canada/Atlantic
-  "CA", //Z#379 Canada/Central
-  "CA", //Z#380 Canada/East-Saskatchewan
-  "CA", //Z#381 Canada/Eastern
-  "CA", //Z#382 Canada/Mountain
-  "CA", //Z#383 Canada/Newfoundland
-  "CA", //Z#384 Canada/Pacific
-  "CA", //Z#385 Canada/Saskatchewan
-  "CA", //Z#386 Canada/Yukon
-  "CL", //Z#387 Chile/Continental
-  "CL", //Z#388 Chile/EasterIsland
-  "CU", //Z#389 Cuba
-  "KE", //Z#390 EAT
-  "FR", //Z#391 ECT
-  "001",//Z#392 EET
-  "001",//Z#393 EST
-  "001",//Z#394 EST5EDT
-  "EG", //Z#395 Egypt
-  "IE", //Z#396 Eire
-  "001",//Z#397 Etc/GMT
-  "001",//Z#398 Etc/GMT+0
-  "001",//Z#399 Etc/GMT+1
-  "001",//Z#400 Etc/GMT+10
-  "001",//Z#401 Etc/GMT+11
-  "001",//Z#402 Etc/GMT+12
-  "001",//Z#403 Etc/GMT+2
-  "001",//Z#404 Etc/GMT+3
-  "001",//Z#405 Etc/GMT+4
-  "001",//Z#406 Etc/GMT+5
-  "001",//Z#407 Etc/GMT+6
-  "001",//Z#408 Etc/GMT+7
-  "001",//Z#409 Etc/GMT+8
-  "001",//Z#410 Etc/GMT+9
-  "001",//Z#411 Etc/GMT-0
-  "001",//Z#412 Etc/GMT-1
-  "001",//Z#413 Etc/GMT-10
-  "001",//Z#414 Etc/GMT-11
-  "001",//Z#415 Etc/GMT-12
-  "001",//Z#416 Etc/GMT-13
-  "001",//Z#417 Etc/GMT-14
-  "001",//Z#418 Etc/GMT-2
-  "001",//Z#419 Etc/GMT-3
-  "001",//Z#420 Etc/GMT-4
-  "001",//Z#421 Etc/GMT-5
-  "001",//Z#422 Etc/GMT-6
-  "001",//Z#423 Etc/GMT-7
-  "001",//Z#424 Etc/GMT-8
-  "001",//Z#425 Etc/GMT-9
-  "001",//Z#426 Etc/GMT0
-  "001",//Z#427 Etc/Greenwich
-  "001",//Z#428 Etc/UCT
-  "001",//Z#429 Etc/UTC
-  "001",//Z#430 Etc/Universal
-  "001",//Z#431 Etc/Unknown
-  "001",//Z#432 Etc/Zulu
-  "NL", //Z#433 Europe/Amsterdam
-  "AD", //Z#434 Europe/Andorra
-  "RU", //Z#435 Europe/Astrakhan
-  "GR", //Z#436 Europe/Athens
-  "GB", //Z#437 Europe/Belfast
-  "RS", //Z#438 Europe/Belgrade
-  "DE", //Z#439 Europe/Berlin
-  "SK", //Z#440 Europe/Bratislava
-  "BE", //Z#441 Europe/Brussels
-  "RO", //Z#442 Europe/Bucharest
-  "HU", //Z#443 Europe/Budapest
-  "DE", //Z#444 Europe/Busingen
-  "MD", //Z#445 Europe/Chisinau
-  "DK", //Z#446 Europe/Copenhagen
-  "IE", //Z#447 Europe/Dublin
-  "GI", //Z#448 Europe/Gibraltar
-  "GG", //Z#449 Europe/Guernsey
-  "FI", //Z#450 Europe/Helsinki
-  "IM", //Z#451 Europe/Isle_of_Man
-  "TR", //Z#452 Europe/Istanbul
-  "JE", //Z#453 Europe/Jersey
-  "RU", //Z#454 Europe/Kaliningrad
-  "UA", //Z#455 Europe/Kiev
-  "PT", //Z#456 Europe/Lisbon
-  "SI", //Z#457 Europe/Ljubljana
-  "GB", //Z#458 Europe/London
-  "LU", //Z#459 Europe/Luxembourg
-  "ES", //Z#460 Europe/Madrid
-  "MT", //Z#461 Europe/Malta
-  "AX", //Z#462 Europe/Mariehamn
-  "BY", //Z#463 Europe/Minsk
-  "MC", //Z#464 Europe/Monaco
-  "RU", //Z#465 Europe/Moscow
-  "CY", //Z#466 Europe/Nicosia
-  "NO", //Z#467 Europe/Oslo
-  "FR", //Z#468 Europe/Paris
-  "ME", //Z#469 Europe/Podgorica
-  "CZ", //Z#470 Europe/Prague
-  "LV", //Z#471 Europe/Riga
-  "IT", //Z#472 Europe/Rome
-  "RU", //Z#473 Europe/Samara
-  "SM", //Z#474 Europe/San_Marino
-  "BA", //Z#475 Europe/Sarajevo
-  "RU", //Z#476 Europe/Simferopol
-  "MK", //Z#477 Europe/Skopje
-  "BG", //Z#478 Europe/Sofia
-  "SE", //Z#479 Europe/Stockholm
-  "EE", //Z#480 Europe/Tallinn
-  "AL", //Z#481 Europe/Tirane
-  "MD", //Z#482 Europe/Tiraspol
-  "RU", //Z#483 Europe/Ulyanovsk
-  "UA", //Z#484 Europe/Uzhgorod
-  "LI", //Z#485 Europe/Vaduz
-  "VA", //Z#486 Europe/Vatican
-  "AT", //Z#487 Europe/Vienna
-  "LT", //Z#488 Europe/Vilnius
-  "RU", //Z#489 Europe/Volgograd
-  "PL", //Z#490 Europe/Warsaw
-  "HR", //Z#491 Europe/Zagreb
-  "UA", //Z#492 Europe/Zaporozhye
-  "CH", //Z#493 Europe/Zurich
-  "001",//Z#494 Factory
-  "GB", //Z#495 GB
-  "GB", //Z#496 GB-Eire
-  "001",//Z#497 GMT
-  "001",//Z#498 GMT+0
-  "001",//Z#499 GMT-0
-  "001",//Z#500 GMT0
-  "001",//Z#501 Greenwich
-  "001",//Z#502 HST
-  "HK", //Z#503 Hongkong
-  "US", //Z#504 IET
-  "IN", //Z#505 IST
-  "IS", //Z#506 Iceland
-  "MG", //Z#507 Indian/Antananarivo
-  "IO", //Z#508 Indian/Chagos
-  "CX", //Z#509 Indian/Christmas
-  "CC", //Z#510 Indian/Cocos
-  "KM", //Z#511 Indian/Comoro
-  "TF", //Z#512 Indian/Kerguelen
-  "SC", //Z#513 Indian/Mahe
-  "MV", //Z#514 Indian/Maldives
-  "MU", //Z#515 Indian/Mauritius
-  "YT", //Z#516 Indian/Mayotte
-  "RE", //Z#517 Indian/Reunion
-  "IR", //Z#518 Iran
-  "IL", //Z#519 Israel
-  "JP", //Z#520 JST
-  "JM", //Z#521 Jamaica
-  "JP", //Z#522 Japan
-  "MH", //Z#523 Kwajalein
-  "LY", //Z#524 Libya
-  "001",//Z#525 MET
-  "WS", //Z#526 MIT
-  "001",//Z#527 MST
-  "001",//Z#528 MST7MDT
-  "MX", //Z#529 Mexico/BajaNorte
-  "MX", //Z#530 Mexico/BajaSur
-  "MX", //Z#531 Mexico/General
-  "AM", //Z#532 NET
-  "NZ", //Z#533 NST
-  "NZ", //Z#534 NZ
-  "NZ", //Z#535 NZ-CHAT
-  "US", //Z#536 Navajo
-  "PK", //Z#537 PLT
-  "US", //Z#538 PNT
-  "CN", //Z#539 PRC
-  "PR", //Z#540 PRT
-  "US", //Z#541 PST
-  "001",//Z#542 PST8PDT
-  "WS", //Z#543 Pacific/Apia
-  "NZ", //Z#544 Pacific/Auckland
-  "PG", //Z#545 Pacific/Bougainville
-  "NZ", //Z#546 Pacific/Chatham
-  "FM", //Z#547 Pacific/Chuuk
-  "CL", //Z#548 Pacific/Easter
-  "VU", //Z#549 Pacific/Efate
-  "KI", //Z#550 Pacific/Enderbury
-  "TK", //Z#551 Pacific/Fakaofo
-  "FJ", //Z#552 Pacific/Fiji
-  "TV", //Z#553 Pacific/Funafuti
-  "EC", //Z#554 Pacific/Galapagos
-  "PF", //Z#555 Pacific/Gambier
-  "SB", //Z#556 Pacific/Guadalcanal
-  "GU", //Z#557 Pacific/Guam
-  "US", //Z#558 Pacific/Honolulu
-  "UM", //Z#559 Pacific/Johnston
-  "KI", //Z#560 Pacific/Kiritimati
-  "FM", //Z#561 Pacific/Kosrae
-  "MH", //Z#562 Pacific/Kwajalein
-  "MH", //Z#563 Pacific/Majuro
-  "PF", //Z#564 Pacific/Marquesas
-  "UM", //Z#565 Pacific/Midway
-  "NR", //Z#566 Pacific/Nauru
-  "NU", //Z#567 Pacific/Niue
-  "NF", //Z#568 Pacific/Norfolk
-  "NC", //Z#569 Pacific/Noumea
-  "AS", //Z#570 Pacific/Pago_Pago
-  "PW", //Z#571 Pacific/Palau
-  "PN", //Z#572 Pacific/Pitcairn
-  "FM", //Z#573 Pacific/Pohnpei
-  "FM", //Z#574 Pacific/Ponape
-  "PG", //Z#575 Pacific/Port_Moresby
-  "CK", //Z#576 Pacific/Rarotonga
-  "MP", //Z#577 Pacific/Saipan
-  "AS", //Z#578 Pacific/Samoa
-  "PF", //Z#579 Pacific/Tahiti
-  "KI", //Z#580 Pacific/Tarawa
-  "TO", //Z#581 Pacific/Tongatapu
-  "FM", //Z#582 Pacific/Truk
-  "UM", //Z#583 Pacific/Wake
-  "WF", //Z#584 Pacific/Wallis
-  "FM", //Z#585 Pacific/Yap
-  "PL", //Z#586 Poland
-  "PT", //Z#587 Portugal
-  "TW", //Z#588 ROC
-  "KR", //Z#589 ROK
-  "SB", //Z#590 SST
-  "SG", //Z#591 Singapore
-  "001",//Z#592 SystemV/AST4
-  "001",//Z#593 SystemV/AST4ADT
-  "001",//Z#594 SystemV/CST6
-  "001",//Z#595 SystemV/CST6CDT
-  "001",//Z#596 SystemV/EST5
-  "001",//Z#597 SystemV/EST5EDT
-  "001",//Z#598 SystemV/HST10
-  "001",//Z#599 SystemV/MST7
-  "001",//Z#600 SystemV/MST7MDT
-  "001",//Z#601 SystemV/PST8
-  "001",//Z#602 SystemV/PST8PDT
-  "001",//Z#603 SystemV/YST9
-  "001",//Z#604 SystemV/YST9YDT
-  "TR", //Z#605 Turkey
-  "001",//Z#606 UCT
-  "US", //Z#607 US/Alaska
-  "US", //Z#608 US/Aleutian
-  "US", //Z#609 US/Arizona
-  "US", //Z#610 US/Central
-  "US", //Z#611 US/East-Indiana
-  "US", //Z#612 US/Eastern
-  "US", //Z#613 US/Hawaii
-  "US", //Z#614 US/Indiana-Starke
-  "US", //Z#615 US/Michigan
-  "US", //Z#616 US/Mountain
-  "US", //Z#617 US/Pacific
-  "US", //Z#618 US/Pacific-New
-  "AS", //Z#619 US/Samoa
-  "001",//Z#620 UTC
-  "001",//Z#621 Universal
-  "VN", //Z#622 VST
-  "RU", //Z#623 W-SU
-  "001",//Z#624 WET
-  "001",//Z#625 Zulu
+  "RU", //Z#321 Asia/Tomsk
+  "ID", //Z#322 Asia/Ujung_Pandang
+  "MN", //Z#323 Asia/Ulaanbaatar
+  "MN", //Z#324 Asia/Ulan_Bator
+  "CN", //Z#325 Asia/Urumqi
+  "RU", //Z#326 Asia/Ust-Nera
+  "LA", //Z#327 Asia/Vientiane
+  "RU", //Z#328 Asia/Vladivostok
+  "RU", //Z#329 Asia/Yakutsk
+  "RU", //Z#330 Asia/Yekaterinburg
+  "AM", //Z#331 Asia/Yerevan
+  "PT", //Z#332 Atlantic/Azores
+  "BM", //Z#333 Atlantic/Bermuda
+  "ES", //Z#334 Atlantic/Canary
+  "CV", //Z#335 Atlantic/Cape_Verde
+  "FO", //Z#336 Atlantic/Faeroe
+  "FO", //Z#337 Atlantic/Faroe
+  "NO", //Z#338 Atlantic/Jan_Mayen
+  "PT", //Z#339 Atlantic/Madeira
+  "IS", //Z#340 Atlantic/Reykjavik
+  "GS", //Z#341 Atlantic/South_Georgia
+  "SH", //Z#342 Atlantic/St_Helena
+  "FK", //Z#343 Atlantic/Stanley
+  "AU", //Z#344 Australia/ACT
+  "AU", //Z#345 Australia/Adelaide
+  "AU", //Z#346 Australia/Brisbane
+  "AU", //Z#347 Australia/Broken_Hill
+  "AU", //Z#348 Australia/Canberra
+  "AU", //Z#349 Australia/Currie
+  "AU", //Z#350 Australia/Darwin
+  "AU", //Z#351 Australia/Eucla
+  "AU", //Z#352 Australia/Hobart
+  "AU", //Z#353 Australia/LHI
+  "AU", //Z#354 Australia/Lindeman
+  "AU", //Z#355 Australia/Lord_Howe
+  "AU", //Z#356 Australia/Melbourne
+  "AU", //Z#357 Australia/NSW
+  "AU", //Z#358 Australia/North
+  "AU", //Z#359 Australia/Perth
+  "AU", //Z#360 Australia/Queensland
+  "AU", //Z#361 Australia/South
+  "AU", //Z#362 Australia/Sydney
+  "AU", //Z#363 Australia/Tasmania
+  "AU", //Z#364 Australia/Victoria
+  "AU", //Z#365 Australia/West
+  "AU", //Z#366 Australia/Yancowinna
+  "BR", //Z#367 BET
+  "BD", //Z#368 BST
+  "BR", //Z#369 Brazil/Acre
+  "BR", //Z#370 Brazil/DeNoronha
+  "BR", //Z#371 Brazil/East
+  "BR", //Z#372 Brazil/West
+  "MZ", //Z#373 CAT
+  "001",//Z#374 CET
+  "CA", //Z#375 CNT
+  "US", //Z#376 CST
+  "001",//Z#377 CST6CDT
+  "CN", //Z#378 CTT
+  "CA", //Z#379 Canada/Atlantic
+  "CA", //Z#380 Canada/Central
+  "CA", //Z#381 Canada/East-Saskatchewan
+  "CA", //Z#382 Canada/Eastern
+  "CA", //Z#383 Canada/Mountain
+  "CA", //Z#384 Canada/Newfoundland
+  "CA", //Z#385 Canada/Pacific
+  "CA", //Z#386 Canada/Saskatchewan
+  "CA", //Z#387 Canada/Yukon
+  "CL", //Z#388 Chile/Continental
+  "CL", //Z#389 Chile/EasterIsland
+  "CU", //Z#390 Cuba
+  "KE", //Z#391 EAT
+  "FR", //Z#392 ECT
+  "001",//Z#393 EET
+  "001",//Z#394 EST
+  "001",//Z#395 EST5EDT
+  "EG", //Z#396 Egypt
+  "IE", //Z#397 Eire
+  "001",//Z#398 Etc/GMT
+  "001",//Z#399 Etc/GMT+0
+  "001",//Z#400 Etc/GMT+1
+  "001",//Z#401 Etc/GMT+10
+  "001",//Z#402 Etc/GMT+11
+  "001",//Z#403 Etc/GMT+12
+  "001",//Z#404 Etc/GMT+2
+  "001",//Z#405 Etc/GMT+3
+  "001",//Z#406 Etc/GMT+4
+  "001",//Z#407 Etc/GMT+5
+  "001",//Z#408 Etc/GMT+6
+  "001",//Z#409 Etc/GMT+7
+  "001",//Z#410 Etc/GMT+8
+  "001",//Z#411 Etc/GMT+9
+  "001",//Z#412 Etc/GMT-0
+  "001",//Z#413 Etc/GMT-1
+  "001",//Z#414 Etc/GMT-10
+  "001",//Z#415 Etc/GMT-11
+  "001",//Z#416 Etc/GMT-12
+  "001",//Z#417 Etc/GMT-13
+  "001",//Z#418 Etc/GMT-14
+  "001",//Z#419 Etc/GMT-2
+  "001",//Z#420 Etc/GMT-3
+  "001",//Z#421 Etc/GMT-4
+  "001",//Z#422 Etc/GMT-5
+  "001",//Z#423 Etc/GMT-6
+  "001",//Z#424 Etc/GMT-7
+  "001",//Z#425 Etc/GMT-8
+  "001",//Z#426 Etc/GMT-9
+  "001",//Z#427 Etc/GMT0
+  "001",//Z#428 Etc/Greenwich
+  "001",//Z#429 Etc/UCT
+  "001",//Z#430 Etc/UTC
+  "001",//Z#431 Etc/Universal
+  "001",//Z#432 Etc/Unknown
+  "001",//Z#433 Etc/Zulu
+  "NL", //Z#434 Europe/Amsterdam
+  "AD", //Z#435 Europe/Andorra
+  "RU", //Z#436 Europe/Astrakhan
+  "GR", //Z#437 Europe/Athens
+  "GB", //Z#438 Europe/Belfast
+  "RS", //Z#439 Europe/Belgrade
+  "DE", //Z#440 Europe/Berlin
+  "SK", //Z#441 Europe/Bratislava
+  "BE", //Z#442 Europe/Brussels
+  "RO", //Z#443 Europe/Bucharest
+  "HU", //Z#444 Europe/Budapest
+  "DE", //Z#445 Europe/Busingen
+  "MD", //Z#446 Europe/Chisinau
+  "DK", //Z#447 Europe/Copenhagen
+  "IE", //Z#448 Europe/Dublin
+  "GI", //Z#449 Europe/Gibraltar
+  "GG", //Z#450 Europe/Guernsey
+  "FI", //Z#451 Europe/Helsinki
+  "IM", //Z#452 Europe/Isle_of_Man
+  "TR", //Z#453 Europe/Istanbul
+  "JE", //Z#454 Europe/Jersey
+  "RU", //Z#455 Europe/Kaliningrad
+  "UA", //Z#456 Europe/Kiev
+  "RU", //Z#457 Europe/Kirov
+  "PT", //Z#458 Europe/Lisbon
+  "SI", //Z#459 Europe/Ljubljana
+  "GB", //Z#460 Europe/London
+  "LU", //Z#461 Europe/Luxembourg
+  "ES", //Z#462 Europe/Madrid
+  "MT", //Z#463 Europe/Malta
+  "AX", //Z#464 Europe/Mariehamn
+  "BY", //Z#465 Europe/Minsk
+  "MC", //Z#466 Europe/Monaco
+  "RU", //Z#467 Europe/Moscow
+  "CY", //Z#468 Europe/Nicosia
+  "NO", //Z#469 Europe/Oslo
+  "FR", //Z#470 Europe/Paris
+  "ME", //Z#471 Europe/Podgorica
+  "CZ", //Z#472 Europe/Prague
+  "LV", //Z#473 Europe/Riga
+  "IT", //Z#474 Europe/Rome
+  "RU", //Z#475 Europe/Samara
+  "SM", //Z#476 Europe/San_Marino
+  "BA", //Z#477 Europe/Sarajevo
+  "RU", //Z#478 Europe/Simferopol
+  "MK", //Z#479 Europe/Skopje
+  "BG", //Z#480 Europe/Sofia
+  "SE", //Z#481 Europe/Stockholm
+  "EE", //Z#482 Europe/Tallinn
+  "AL", //Z#483 Europe/Tirane
+  "MD", //Z#484 Europe/Tiraspol
+  "RU", //Z#485 Europe/Ulyanovsk
+  "UA", //Z#486 Europe/Uzhgorod
+  "LI", //Z#487 Europe/Vaduz
+  "VA", //Z#488 Europe/Vatican
+  "AT", //Z#489 Europe/Vienna
+  "LT", //Z#490 Europe/Vilnius
+  "RU", //Z#491 Europe/Volgograd
+  "PL", //Z#492 Europe/Warsaw
+  "HR", //Z#493 Europe/Zagreb
+  "UA", //Z#494 Europe/Zaporozhye
+  "CH", //Z#495 Europe/Zurich
+  "001",//Z#496 Factory
+  "GB", //Z#497 GB
+  "GB", //Z#498 GB-Eire
+  "001",//Z#499 GMT
+  "001",//Z#500 GMT+0
+  "001",//Z#501 GMT-0
+  "001",//Z#502 GMT0
+  "001",//Z#503 Greenwich
+  "001",//Z#504 HST
+  "HK", //Z#505 Hongkong
+  "US", //Z#506 IET
+  "IN", //Z#507 IST
+  "IS", //Z#508 Iceland
+  "MG", //Z#509 Indian/Antananarivo
+  "IO", //Z#510 Indian/Chagos
+  "CX", //Z#511 Indian/Christmas
+  "CC", //Z#512 Indian/Cocos
+  "KM", //Z#513 Indian/Comoro
+  "TF", //Z#514 Indian/Kerguelen
+  "SC", //Z#515 Indian/Mahe
+  "MV", //Z#516 Indian/Maldives
+  "MU", //Z#517 Indian/Mauritius
+  "YT", //Z#518 Indian/Mayotte
+  "RE", //Z#519 Indian/Reunion
+  "IR", //Z#520 Iran
+  "IL", //Z#521 Israel
+  "JP", //Z#522 JST
+  "JM", //Z#523 Jamaica
+  "JP", //Z#524 Japan
+  "MH", //Z#525 Kwajalein
+  "LY", //Z#526 Libya
+  "001",//Z#527 MET
+  "WS", //Z#528 MIT
+  "001",//Z#529 MST
+  "001",//Z#530 MST7MDT
+  "MX", //Z#531 Mexico/BajaNorte
+  "MX", //Z#532 Mexico/BajaSur
+  "MX", //Z#533 Mexico/General
+  "AM", //Z#534 NET
+  "NZ", //Z#535 NST
+  "NZ", //Z#536 NZ
+  "NZ", //Z#537 NZ-CHAT
+  "US", //Z#538 Navajo
+  "PK", //Z#539 PLT
+  "US", //Z#540 PNT
+  "CN", //Z#541 PRC
+  "PR", //Z#542 PRT
+  "US", //Z#543 PST
+  "001",//Z#544 PST8PDT
+  "WS", //Z#545 Pacific/Apia
+  "NZ", //Z#546 Pacific/Auckland
+  "PG", //Z#547 Pacific/Bougainville
+  "NZ", //Z#548 Pacific/Chatham
+  "FM", //Z#549 Pacific/Chuuk
+  "CL", //Z#550 Pacific/Easter
+  "VU", //Z#551 Pacific/Efate
+  "KI", //Z#552 Pacific/Enderbury
+  "TK", //Z#553 Pacific/Fakaofo
+  "FJ", //Z#554 Pacific/Fiji
+  "TV", //Z#555 Pacific/Funafuti
+  "EC", //Z#556 Pacific/Galapagos
+  "PF", //Z#557 Pacific/Gambier
+  "SB", //Z#558 Pacific/Guadalcanal
+  "GU", //Z#559 Pacific/Guam
+  "US", //Z#560 Pacific/Honolulu
+  "UM", //Z#561 Pacific/Johnston
+  "KI", //Z#562 Pacific/Kiritimati
+  "FM", //Z#563 Pacific/Kosrae
+  "MH", //Z#564 Pacific/Kwajalein
+  "MH", //Z#565 Pacific/Majuro
+  "PF", //Z#566 Pacific/Marquesas
+  "UM", //Z#567 Pacific/Midway
+  "NR", //Z#568 Pacific/Nauru
+  "NU", //Z#569 Pacific/Niue
+  "NF", //Z#570 Pacific/Norfolk
+  "NC", //Z#571 Pacific/Noumea
+  "AS", //Z#572 Pacific/Pago_Pago
+  "PW", //Z#573 Pacific/Palau
+  "PN", //Z#574 Pacific/Pitcairn
+  "FM", //Z#575 Pacific/Pohnpei
+  "FM", //Z#576 Pacific/Ponape
+  "PG", //Z#577 Pacific/Port_Moresby
+  "CK", //Z#578 Pacific/Rarotonga
+  "MP", //Z#579 Pacific/Saipan
+  "AS", //Z#580 Pacific/Samoa
+  "PF", //Z#581 Pacific/Tahiti
+  "KI", //Z#582 Pacific/Tarawa
+  "TO", //Z#583 Pacific/Tongatapu
+  "FM", //Z#584 Pacific/Truk
+  "UM", //Z#585 Pacific/Wake
+  "WF", //Z#586 Pacific/Wallis
+  "FM", //Z#587 Pacific/Yap
+  "PL", //Z#588 Poland
+  "PT", //Z#589 Portugal
+  "TW", //Z#590 ROC
+  "KR", //Z#591 ROK
+  "SB", //Z#592 SST
+  "SG", //Z#593 Singapore
+  "001",//Z#594 SystemV/AST4
+  "001",//Z#595 SystemV/AST4ADT
+  "001",//Z#596 SystemV/CST6
+  "001",//Z#597 SystemV/CST6CDT
+  "001",//Z#598 SystemV/EST5
+  "001",//Z#599 SystemV/EST5EDT
+  "001",//Z#600 SystemV/HST10
+  "001",//Z#601 SystemV/MST7
+  "001",//Z#602 SystemV/MST7MDT
+  "001",//Z#603 SystemV/PST8
+  "001",//Z#604 SystemV/PST8PDT
+  "001",//Z#605 SystemV/YST9
+  "001",//Z#606 SystemV/YST9YDT
+  "TR", //Z#607 Turkey
+  "001",//Z#608 UCT
+  "US", //Z#609 US/Alaska
+  "US", //Z#610 US/Aleutian
+  "US", //Z#611 US/Arizona
+  "US", //Z#612 US/Central
+  "US", //Z#613 US/East-Indiana
+  "US", //Z#614 US/Eastern
+  "US", //Z#615 US/Hawaii
+  "US", //Z#616 US/Indiana-Starke
+  "US", //Z#617 US/Michigan
+  "US", //Z#618 US/Mountain
+  "US", //Z#619 US/Pacific
+  "US", //Z#620 US/Pacific-New
+  "AS", //Z#621 US/Samoa
+  "001",//Z#622 UTC
+  "001",//Z#623 Universal
+  "VN", //Z#624 VST
+  "RU", //Z#625 W-SU
+  "001",//Z#626 WET
+  "001",//Z#627 Zulu
  }
 }
diff --git a/source/data/region/af.txt b/source/data/region/af.txt
index cd33fb1..c9cc4ee 100644
--- a/source/data/region/af.txt
+++ b/source/data/region/af.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinee-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong SAS Sjina"}
+        HK{"Hongkong"}
         HM{"Heard- en McDonaldeilande"}
         HN{"Honduras"}
         HR{"Kroasië"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mianmar (Birma)"}
         MN{"Mongolië"}
-        MO{"Macau SAS Sjina"}
+        MO{"Macau"}
         MP{"Noord-Mariane-eilande"}
         MQ{"Martinique"}
         MR{"Mauritanië"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre en Miquelon"}
         PN{"Pitcairneilande"}
         PR{"Puerto Rico"}
-        PS{"Palestynse gebiede"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"VK"}
-        HK{"Hongkong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"VSA"}
     }
     Countries%variant{
diff --git a/source/data/region/am.txt b/source/data/region/am.txt
index a00a2be..a6bd5ba 100644
--- a/source/data/region/am.txt
+++ b/source/data/region/am.txt
@@ -137,7 +137,7 @@
         GU{"ጉዋም"}
         GW{"ጊኒ ቢሳኦ"}
         GY{"ጉያና"}
-        HK{"ሆንግ ኮንግ SAR ቻይና"}
+        HK{"ሆንግ ኮንግ"}
         HM{"ኽርድ ደሴቶችና ማክዶናልድ ደሴቶች"}
         HN{"ሆንዱራስ"}
         HR{"ክሮኤሽያ"}
@@ -191,7 +191,7 @@
         ML{"ማሊ"}
         MM{"ማይናማር(በርማ)"}
         MN{"ሞንጎሊያ"}
-        MO{"ማካኡ ልዩ የአስተዳደር ክልል ቻይና"}
+        MO{"ማካኡ"}
         MP{"የሰሜናዊ ማሪያና ደሴቶች"}
         MQ{"ማርቲኒክ"}
         MR{"ሞሪቴኒያ"}
@@ -226,7 +226,7 @@
         PM{"ቅዱስ ፒዬር እና ሚኩኤሎን"}
         PN{"ፒትካኢርን አይስላንድ"}
         PR{"ፖርታ ሪኮ"}
-        PS{"የፍልስጤም ግዛት"}
+        PS{"ፍልስጥኤም"}
         PT{"ፖርቱጋል"}
         PW{"ፓላው"}
         PY{"ፓራጓይ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ዩናይትድ ኪንግደም"}
-        HK{"ሆንግ ኮንግ"}
-        MO{"ማካኡ"}
-        PS{"ፍልስጥኤም"}
         US{"ዩ ኤስ"}
     }
     Countries%variant{
diff --git a/source/data/region/ar.txt b/source/data/region/ar.txt
index 200f3c9..bdb3e3c 100644
--- a/source/data/region/ar.txt
+++ b/source/data/region/ar.txt
@@ -137,7 +137,7 @@
         GU{"غوام"}
         GW{"غينيا بيساو"}
         GY{"غيانا"}
-        HK{"هونغ كونغ الصينية"}
+        HK{"هونغ كونغ"}
         HM{"جزيرة هيرد وجزر ماكدونالد"}
         HN{"هندوراس"}
         HR{"كرواتيا"}
@@ -191,7 +191,7 @@
         ML{"مالي"}
         MM{"ميانمار -بورما"}
         MN{"منغوليا"}
-        MO{"مكاو الصينية (منطقة إدارية خاصة)"}
+        MO{"مكاو"}
         MP{"جزر ماريانا الشمالية"}
         MQ{"مارتينيك"}
         MR{"موريتانيا"}
@@ -226,7 +226,7 @@
         PM{"سانت بيير وميكولون"}
         PN{"جزر بيتكيرن"}
         PR{"بورتوريكو"}
-        PS{"الأراضي الفلسطينية"}
+        PS{"فلسطين"}
         PT{"البرتغال"}
         PW{"بالاو"}
         PY{"باراغواي"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"المملكة المتحدة"}
-        HK{"هونغ كونغ"}
-        MO{"مكاو"}
-        PS{"فلسطين"}
         US{"الولايات المتحدة"}
     }
     Countries%variant{
diff --git a/source/data/region/az.txt b/source/data/region/az.txt
index ac065ba..dcf1246 100644
--- a/source/data/region/az.txt
+++ b/source/data/region/az.txt
@@ -137,7 +137,7 @@
         GU{"Quam"}
         GW{"Qvineya-Bisau"}
         GY{"Qviyana"}
-        HK{"Honq Konq Xüsusi İnzibati Ərazi Çin"}
+        HK{"Honq Konq"}
         HM{"Herd və Mak Donald Adaları"}
         HN{"Honduras"}
         HR{"Xorvatiya"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanma"}
         MN{"Monqoliya"}
-        MO{"Makao Xüsusi İnzibati Ərazi Çin"}
+        MO{"Makao"}
         MP{"Şimali Mariana Adaları"}
         MQ{"Martinik"}
         MR{"Mavritaniya"}
@@ -226,7 +226,7 @@
         PM{"San Pier və Mikelon"}
         PN{"Pitkern Adaları"}
         PR{"Puerto Riko"}
-        PS{"Fələstin Əraziləri"}
+        PS{"Fələstin"}
         PT{"Portuqal"}
         PW{"Palau"}
         PY{"Paraqvay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"B.K."}
-        HK{"Honq Konq"}
-        MO{"Makao"}
-        PS{"Fələstin"}
         US{"A.B.Ş."}
     }
     Countries%variant{
diff --git a/source/data/region/be.txt b/source/data/region/be.txt
index 4ef3c23..f0b8217 100644
--- a/source/data/region/be.txt
+++ b/source/data/region/be.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвінея-Бісау"}
         GY{"Гаяна"}
-        HK{"Ганконг, САР (Кітай)"}
+        HK{"Ганконг"}
         HM{"Востраў Херд і астравы Макдональд"}
         HN{"Гандурас"}
         HR{"Харватыя"}
@@ -191,7 +191,7 @@
         ML{"Малі"}
         MM{"М’янма (Бірма)"}
         MN{"Манголія"}
-        MO{"Макаа, САР (Кітай)"}
+        MO{"Макаа"}
         MP{"Паўночныя Марыянскія астравы"}
         MQ{"Марцініка"}
         MR{"Маўрытанія"}
@@ -226,7 +226,7 @@
         PM{"Сен-П’ер і Мікелон"}
         PN{"Астравы Піткэрн"}
         PR{"Пуэрта-Рыка"}
-        PS{"Палестынскія тэрыторыі"}
+        PS{"Палесціна"}
         PT{"Партугалія"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Брытанія"}
-        HK{"Ганконг"}
-        MO{"Макаа"}
-        PS{"Палесціна"}
         US{"ЗША"}
     }
     Countries%variant{
diff --git a/source/data/region/bg.txt b/source/data/region/bg.txt
index 7d687f7..87fdba5 100644
--- a/source/data/region/bg.txt
+++ b/source/data/region/bg.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвинея-Бисау"}
         GY{"Гаяна"}
-        HK{"Хонконг, САР на Китай"}
+        HK{"Хонконг"}
         HM{"остров Хърд и острови Макдоналд"}
         HN{"Хондурас"}
         HR{"Хърватия"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мианмар (Бирма)"}
         MN{"Монголия"}
-        MO{"Макао, САР на Китай"}
+        MO{"Макао"}
         MP{"Северни Мариански острови"}
         MQ{"Мартиника"}
         MR{"Мавритания"}
@@ -226,7 +226,7 @@
         PM{"Сен Пиер и Микелон"}
         PN{"Острови Питкерн"}
         PR{"Пуерто Рико"}
-        PS{"Палестински територии"}
+        PS{"Палестина"}
         PT{"Португалия"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Обединеното кралство"}
-        HK{"Хонконг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"САЩ"}
     }
     Countries%variant{
diff --git a/source/data/region/bn.txt b/source/data/region/bn.txt
index 4b93b43..6059443 100644
--- a/source/data/region/bn.txt
+++ b/source/data/region/bn.txt
@@ -137,7 +137,7 @@
         GU{"গুয়াম"}
         GW{"গিনি-বিসাউ"}
         GY{"গিয়ানা"}
-        HK{"হংকং এসএআর চীনা"}
+        HK{"হংকং"}
         HM{"হার্ড দ্বীপ এবং ম্যাকডোনাল্ড দ্বীপপুঞ্জ"}
         HN{"হণ্ডুরাস"}
         HR{"ক্রোয়েশিয়া"}
@@ -191,7 +191,7 @@
         ML{"মালি"}
         MM{"মায়ানমার (বার্মা)"}
         MN{"মঙ্গোলিয়া"}
-        MO{"ম্যাকাও এস এ আর চায়না"}
+        MO{"ম্যাকাও"}
         MP{"উত্তরাঞ্চলীয় মারিয়ানা দ্বীপপুঞ্জ"}
         MQ{"মার্টিনিক"}
         MR{"মরিতানিয়া"}
@@ -226,7 +226,7 @@
         PM{"সেন্ট পিয়ের ও মিকুয়েলন"}
         PN{"পিটকেয়ার্ন দ্বীপপুঞ্জ"}
         PR{"পুয়ের্তো রিকো"}
-        PS{"ফিলিস্তিন অঞ্চলসমূহ"}
+        PS{"ফিলিস্তিন"}
         PT{"পর্তুগাল"}
         PW{"পালাউ"}
         PY{"প্যারাগুয়ে"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ইউ. কে"}
-        HK{"হংকং"}
-        MO{"ম্যাকাও"}
-        PS{"ফিলিস্তিন"}
         US{"ইউ এস"}
     }
     Countries%variant{
diff --git a/source/data/region/br.txt b/source/data/region/br.txt
index 9d11193..c7b16ba 100755
--- a/source/data/region/br.txt
+++ b/source/data/region/br.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Ginea-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong RMD Sina"}
+        HK{"Hong Kong"}
         HM{"Inizi Heard ha McDonald"}
         HN{"Honduras"}
         HR{"Kroatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmania)"}
         MN{"Mongolia"}
-        MO{"Macau RMD Sina"}
+        MO{"Macau"}
         MP{"Inizi Mariana an Norzh"}
         MQ{"Martinik"}
         MR{"Maouritania"}
@@ -226,7 +226,7 @@
         PM{"Sant-Pêr-ha-Mikelon"}
         PN{"Enez Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Tiriadoù Palestina"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"RU"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"SU"}
     }
     Countries%variant{
diff --git a/source/data/region/bs.txt b/source/data/region/bs.txt
index 48027e6..dd11de6 100644
--- a/source/data/region/bs.txt
+++ b/source/data/region/bs.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gvineja-Bisao"}
         GY{"Gvajana"}
-        HK{"Hong Kong (S. A. R. Kina)"}
+        HK{"Hong Kong"}
         HM{"Heard i arhipelag McDonald"}
         HN{"Honduras"}
         HR{"Hrvatska"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mijanmar"}
         MN{"Mongolija"}
-        MO{"Makao (S. A. R. Kina)"}
+        MO{"Makao"}
         MP{"Sjeverna Marijanska Ostrva"}
         MQ{"Martinik"}
         MR{"Mauritanija"}
@@ -226,7 +226,7 @@
         PM{"Sveti Petar i Mikelon"}
         PN{"Pitkern"}
         PR{"Porto Riko"}
-        PS{"Palestinska Teritorija"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paragvaj"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Palestina"}
         US{"SAD"}
     }
     Countries%variant{
diff --git a/source/data/region/bs_Cyrl.txt b/source/data/region/bs_Cyrl.txt
index 0a89bb5..b34317f 100755
--- a/source/data/region/bs_Cyrl.txt
+++ b/source/data/region/bs_Cyrl.txt
@@ -136,7 +136,7 @@
         GU{"Гуам"}
         GW{"Гвинеја-Бисао"}
         GY{"Гвајана"}
-        HK{"Хонг Конг С. А. Р. Кина"}
+        HK{"Хонг Конг"}
         HM{"Херд и Мекдоналд Острва"}
         HN{"Хондурас"}
         HR{"Хрватска"}
@@ -190,7 +190,7 @@
         ML{"Мали"}
         MM{"Мијанмар (Бурма)"}
         MN{"Монголија"}
-        MO{"Макао С. А. Р. Кина"}
+        MO{"Макао"}
         MP{"Северна Маријанска Острва"}
         MQ{"Мартиник"}
         MR{"Мауританија"}
@@ -294,10 +294,6 @@
         ZW{"Зимбабве"}
         ZZ{"Непозната или неважећа област"}
     }
-    Countries%short{
-        HK{"Хонг Конг"}
-        MO{"Макао"}
-    }
     Countries%variant{
         CD{"Конго (ДРК)"}
         CG{"Конго (Република)"}
diff --git a/source/data/region/ca.txt b/source/data/region/ca.txt
index 4aa7420..d7bfb78 100644
--- a/source/data/region/ca.txt
+++ b/source/data/region/ca.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong (RAE Xina)"}
+        HK{"Hong Kong"}
         HM{"Illa Heard i Illes McDonald"}
         HN{"Hondures"}
         HR{"Croàcia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmània)"}
         MN{"Mongòlia"}
-        MO{"Macau (RAE Xina)"}
+        MO{"Macau"}
         MP{"Illes Mariannes del Nord"}
         MQ{"Martinica"}
         MR{"Mauritània"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"EUA"}
     }
     Countries%variant{
diff --git a/source/data/region/ce.txt b/source/data/region/ce.txt
index 0c67ba9..96c6e56 100755
--- a/source/data/region/ce.txt
+++ b/source/data/region/ce.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвиней-Бисау"}
         GY{"Гайана"}
-        HK{"Гонконг (ша-къаьстина кӀошт)"}
+        HK{"Гонконг"}
         HM{"Херд гӀайре а, Макдональд гӀайренаш а"}
         HN{"Гондурас"}
         HR{"Хорвати"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мьянма (Бирма)"}
         MN{"Монголи"}
-        MO{"Макао (ша-къаьстина кӀошт)"}
+        MO{"Макао"}
         MP{"Къилбаседа Марианан гӀайренаш"}
         MQ{"Мартиника"}
         MR{"Мавритани"}
@@ -226,7 +226,7 @@
         PM{"Сен-Пьер а, Микелон а"}
         PN{"Питкэрн гӀайренаш"}
         PR{"Пуэрто-Рико"}
-        PS{"Палестинан латтанаш"}
+        PS{"Палестина"}
         PT{"Португали"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Йоккха Британи"}
-        HK{"Гонконг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"АЦШ"}
     }
     Countries%variant{
diff --git a/source/data/region/chr.txt b/source/data/region/chr.txt
index 93c20a6..4b76038 100755
--- a/source/data/region/chr.txt
+++ b/source/data/region/chr.txt
@@ -154,7 +154,7 @@
         ML{"ᎹᎵ"}
         MM{"ᎹᏯᎹᎵ"}
         MN{"ᎹᏂᎪᎵᎠ"}
-        MO{"ᎹᎧᎣ (ᎤᏓᏤᎵᏓ ᏧᏂᎸᏫᏍᏓᏁᏗ ᎢᎬᎾᏕᎾ) ᏣᎢ"}
+        MO{"ᎹᎧᎣ"}
         MP{"ᎾᏍᎩ ᎤᏴᏢ ᏗᏜ ᎹᎵᎠᎾ ᏚᎦᏚᏛ"}
         MQ{"ᎹᏘᏂᎨ"}
         MR{"ᎹᏘᎢᏯ"}
@@ -210,9 +210,6 @@
         US{"ᎠᎹᏰᏟ"}
         ZZ{"ᏄᏬᎵᏍᏛᎾ ᎤᏔᏂᏗᎦᏙᎯ"}
     }
-    Countries%short{
-        MO{"ᎹᎧᎣ"}
-    }
     Countries%variant{
         FK{"ᏩᎩ ᎤᎦᏚᏛ (ᎢᏍᎳᏍ ᎹᎸᏫᎾᏍ)"}
     }
diff --git a/source/data/region/cs.txt b/source/data/region/cs.txt
index 85e970a..069aad4 100644
--- a/source/data/region/cs.txt
+++ b/source/data/region/cs.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong – ZAO Číny"}
+        HK{"Hongkong"}
         HM{"Heardův ostrov a McDonaldovy ostrovy"}
         HN{"Honduras"}
         HR{"Chorvatsko"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Barma)"}
         MN{"Mongolsko"}
-        MO{"Macao – ZAO Číny"}
+        MO{"Macao"}
         MP{"Severní Mariany"}
         MQ{"Martinik"}
         MR{"Mauritánie"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre a Miquelon"}
         PN{"Pitcairnovy ostrovy"}
         PR{"Portoriko"}
-        PS{"Palestinská území"}
+        PS{"Palestina"}
         PT{"Portugalsko"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"VB"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/cy.txt b/source/data/region/cy.txt
index 004ad8d..b42ea8b 100644
--- a/source/data/region/cy.txt
+++ b/source/data/region/cy.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guiné-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong RhGA Tsieina"}
+        HK{"Hong Kong"}
         HM{"Ynys Heard ac Ynysoedd McDonald"}
         HN{"Honduras"}
         HR{"Croatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macau RhGA Tsieina"}
+        MO{"Macau"}
         MP{"Ynysoedd Gogledd Mariana"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre-et-Miquelon"}
         PN{"Ynysoedd Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Tiriogaethau Palesteinaidd"}
+        PS{"Palesteina"}
         PT{"Portiwgal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"DU"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palesteina"}
         US{"UDA"}
     }
     Countries%variant{
diff --git a/source/data/region/da.txt b/source/data/region/da.txt
index be476a3..43e9bbc 100644
--- a/source/data/region/da.txt
+++ b/source/data/region/da.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong SAR"}
+        HK{"Hongkong"}
         HM{"Heard Island og McDonald Islands"}
         HN{"Honduras"}
         HR{"Kroatien"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongoliet"}
-        MO{"Macao SAR"}
+        MO{"Macao"}
         MP{"Nordmarianerne"}
         MQ{"Martinique"}
         MR{"Mauretanien"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre og Miquelon"}
         PN{"Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"De palæstinensiske områder"}
+        PS{"Palæstina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palæstina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/de.txt b/source/data/region/de.txt
index 42a53db..d6bd68c 100644
--- a/source/data/region/de.txt
+++ b/source/data/region/de.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Sonderverwaltungszone Hongkong"}
+        HK{"Hongkong"}
         HM{"Heard und McDonaldinseln"}
         HN{"Honduras"}
         HR{"Kroatien"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolei"}
-        MO{"Sonderverwaltungsregion Macau"}
+        MO{"Macau"}
         MP{"Nördliche Marianen"}
         MQ{"Martinique"}
         MR{"Mauretanien"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre und Miquelon"}
         PN{"Pitcairninseln"}
         PR{"Puerto Rico"}
-        PS{"Palästinensische Autonomiegebiete"}
+        PS{"Palästina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hongkong"}
-        MO{"Macau"}
-        PS{"Palästina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/dsb.txt b/source/data/region/dsb.txt
index 8948d25..b688fb6 100644
--- a/source/data/region/dsb.txt
+++ b/source/data/region/dsb.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gineja-Bissau"}
         GY{"Guyana"}
-        HK{"Wósebna zastojnstwowa cona Hongkong"}
+        HK{"Hongkong"}
         HM{"Heardowa kupa a McDonaldowe kupy"}
         HN{"Honduras"}
         HR{"Chorwatska"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolska"}
-        MO{"Wósebna zastojnstwowa cona Macao"}
+        MO{"Macao"}
         MP{"Pódpołnocne Mariany"}
         MQ{"Martinique"}
         MR{"Mawretańska"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre a Miquelon"}
         PN{"Pitcairnowe kupy"}
         PR{"Puerto Rico"}
-        PS{"Palestinski awtonomny teritorium"}
+        PS{"Palestina"}
         PT{"Portugalska"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/dz.txt b/source/data/region/dz.txt
index 1c2dc5c..3271489 100755
--- a/source/data/region/dz.txt
+++ b/source/data/region/dz.txt
@@ -137,7 +137,7 @@
         GU{"གུ་འམ་ མཚོ་གླིང"}
         GW{"གྷི་ནི་ བྷི་སཱའུ"}
         GY{"གྷ་ཡ་ན"}
-        HK{"ཧོང་ཀོང་ཅཱའི་ན"}
+        HK{"ཧོང་ཀོང"}
         HM{"ཧཱརཌ་མཚོ་གླིང་ དང་ མེཀ་ཌོ་ནལཌ྄་གླིང་ཚོམ"}
         HN{"ཧཱན་ཌུ་རཱས྄"}
         HR{"ཀྲོ་ཨེ་ཤ"}
@@ -191,7 +191,7 @@
         ML{"མཱ་ལི"}
         MM{"མི་ཡཱན་མར་ (བྷར་མ)"}
         MN{"སོག་པོ་ཡུལ"}
-        MO{"མཀ་ཨའུ་ཅཱའི་ན"}
+        MO{"མཀ་ཨའུ"}
         MP{"བྱང་ཕྱོགས་ཀྱི་མ་ར་ཡ་ན་གླིང་ཚོམ"}
         MQ{"མཱར་ཊི་ནིཀ"}
         MR{"མོ་རི་ཊེ་ནི་ཡ"}
@@ -297,10 +297,6 @@
         ZW{"ཛིམ་བྷབ་ཝེ"}
         ZZ{"ངོ་མ་ཤེས་པའི་ལུང་ཕྱོགས"}
     }
-    Countries%short{
-        HK{"ཧོང་ཀོང"}
-        MO{"མཀ་ཨའུ"}
-    }
     Countries%variant{
         CD{"ཌེ་མོ་ཀེརེ་ཊིཀ་ རི་པབ་ལིཀ་ ཨོཕ་ ཀོང་གྷོ"}
         CG{"རི་པབ་ལིཀ་ ཨོཕ་ ཀོང་གྷོ"}
diff --git a/source/data/region/ee.txt b/source/data/region/ee.txt
index 4eefb88..6dd6325 100755
--- a/source/data/region/ee.txt
+++ b/source/data/region/ee.txt
@@ -135,7 +135,7 @@
         GU{"Guam nutome"}
         GW{"Gini-Bisao nutome"}
         GY{"Guyanadu"}
-        HK{"Hɔng Kɔng SAR Tsaina nutome"}
+        HK{"Hɔng Kɔng nutome"}
         HM{"Heard kple Mcdonald ƒudomekpowo nutome"}
         HN{"Hondurasdu"}
         HR{"Kroatsia nutome"}
@@ -189,7 +189,7 @@
         ML{"Mali nutome"}
         MM{"Myanmar (Burma) nutome"}
         MN{"Mongolia nutome"}
-        MO{"Macau SAR Tsaina nutome"}
+        MO{"Macau nutome"}
         MP{"Dziehe Marina ƒudomekpowo nutome"}
         MQ{"Martiniki nutome"}
         MR{"Mauritania nutome"}
@@ -292,10 +292,6 @@
         ZW{"Zimbabwe nutome"}
         ZZ{"nutome manya"}
     }
-    Countries%short{
-        HK{"Hɔng Kɔng nutome"}
-        MO{"Macau nutome"}
-    }
     Countries%variant{
         CD{"Kongo demokratik repɔblik nutome"}
         CG{"Kongo repɔblik nutome"}
diff --git a/source/data/region/el.txt b/source/data/region/el.txt
index 9d40a86..db2a82d 100644
--- a/source/data/region/el.txt
+++ b/source/data/region/el.txt
@@ -137,7 +137,7 @@
         GU{"Γκουάμ"}
         GW{"Γουινέα Μπισάου"}
         GY{"Γουιάνα"}
-        HK{"Χονγκ Κονγκ ΕΔΠ Κίνας"}
+        HK{"Χονγκ Κονγκ"}
         HM{"Νήσοι Χερντ και Μακντόναλντ"}
         HN{"Ονδούρα"}
         HR{"Κροατία"}
@@ -191,7 +191,7 @@
         ML{"Μάλι"}
         MM{"Μιανμάρ/Βιρμανία"}
         MN{"Μογγολία"}
-        MO{"Μακάο ΕΔΠ Κίνας"}
+        MO{"Μακάο"}
         MP{"Νήσοι Βόρειες Μαριάνες"}
         MQ{"Μαρτινίκα"}
         MR{"Μαυριτανία"}
@@ -226,7 +226,7 @@
         PM{"Σεν Πιερ και Μικελόν"}
         PN{"Νήσοι Πίτκερν"}
         PR{"Πουέρτο Ρίκο"}
-        PS{"Παλαιστινιακά Εδάφη"}
+        PS{"Παλαιστίνη"}
         PT{"Πορτογαλία"}
         PW{"Παλάου"}
         PY{"Παραγουάη"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ΗΒ"}
-        HK{"Χονγκ Κονγκ"}
-        MO{"Μακάο"}
-        PS{"Παλαιστίνη"}
         US{"ΗΠΑ"}
     }
     Countries%variant{
diff --git a/source/data/region/en.txt b/source/data/region/en.txt
index 86390f4..cfe7e9f 100644
--- a/source/data/region/en.txt
+++ b/source/data/region/en.txt
@@ -78,9 +78,9 @@
         BZ{"Belize"}
         CA{"Canada"}
         CC{"Cocos (Keeling) Islands"}
-        CD{"Congo - Kinshasa"}
+        CD{"Congo (DRC)"}
         CF{"Central African Republic"}
-        CG{"Congo - Brazzaville"}
+        CG{"Congo (Republic)"}
         CH{"Switzerland"}
         CI{"Côte d’Ivoire"}
         CK{"Cook Islands"}
@@ -114,7 +114,7 @@
         EU{"European Union"}
         FI{"Finland"}
         FJ{"Fiji"}
-        FK{"Falkland Islands"}
+        FK{"Falkland Islands (Islas Malvinas)"}
         FM{"Micronesia"}
         FO{"Faroe Islands"}
         FR{"France"}
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong SAR China"}
+        HK{"Hong Kong"}
         HM{"Heard & McDonald Islands"}
         HN{"Honduras"}
         HR{"Croatia"}
@@ -187,11 +187,11 @@
         MF{"St. Martin"}
         MG{"Madagascar"}
         MH{"Marshall Islands"}
-        MK{"Macedonia"}
+        MK{"Macedonia (FYROM)"}
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macau SAR China"}
+        MO{"Macau"}
         MP{"Northern Mariana Islands"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre & Miquelon"}
         PN{"Pitcairn Islands"}
         PR{"Puerto Rico"}
-        PS{"Palestinian Territories"}
+        PS{"Palestine"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -301,10 +301,7 @@
     Countries%short{
         BA{"Bosnia"}
         GB{"UK"}
-        HK{"Hong Kong"}
         MM{"Myanmar"}
-        MO{"Macau"}
-        PS{"Palestine"}
         US{"US"}
     }
     Countries%variant{
diff --git a/source/data/region/es.txt b/source/data/region/es.txt
index 801b91d..807da6a 100644
--- a/source/data/region/es.txt
+++ b/source/data/region/es.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bisáu"}
         GY{"Guyana"}
-        HK{"RAE de Hong Kong (China)"}
+        HK{"Hong Kong"}
         HM{"Islas Heard y McDonald"}
         HN{"Honduras"}
         HR{"Croacia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmania)"}
         MN{"Mongolia"}
-        MO{"RAE de Macao (China)"}
+        MO{"Macao"}
         MP{"Islas Marianas del Norte"}
         MQ{"Martinica"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"San Pedro y Miquelón"}
         PN{"Islas Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Territorios Palestinos"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palaos"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"RU"}
-        HK{"Hong Kong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"EE. UU."}
     }
     Countries%variant{
diff --git a/source/data/region/et.txt b/source/data/region/et.txt
index e03f249..68e72b8 100644
--- a/source/data/region/et.txt
+++ b/source/data/region/et.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkongi erihalduspiirkond"}
+        HK{"Hongkong"}
         HM{"Heardi ja McDonaldi saared"}
         HN{"Honduras"}
         HR{"Horvaatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birma)"}
         MN{"Mongoolia"}
-        MO{"Macau erihalduspiirkond"}
+        MO{"Macau"}
         MP{"Põhja-Mariaanid"}
         MQ{"Martinique"}
         MR{"Mauritaania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre ja Miquelon"}
         PN{"Pitcairni saared"}
         PR{"Puerto Rico"}
-        PS{"Palestiina alad"}
+        PS{"Palestiina"}
         PT{"Portugal"}
         PW{"Belau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ÜK"}
-        HK{"Hongkong"}
-        MO{"Macau"}
-        PS{"Palestiina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/eu.txt b/source/data/region/eu.txt
index bf989d5..06d3f04 100644
--- a/source/data/region/eu.txt
+++ b/source/data/region/eu.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Ginea-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong AEB Txina"}
+        HK{"Hong Kong"}
         HM{"Heard eta McDonald uharteak"}
         HN{"Honduras"}
         HR{"Kroazia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolia"}
-        MO{"Macau AEB Txina"}
+        MO{"Macau"}
         MP{"Iparraldeko Mariana uharteak"}
         MQ{"Martinika"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre eta Mikelune"}
         PN{"Pitcairn uharteak"}
         PR{"Puerto Rico"}
-        PS{"Palestinako Lurraldeak"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"EB"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"AEB"}
     }
     Countries%variant{
diff --git a/source/data/region/fa.txt b/source/data/region/fa.txt
index 79bd46e..3843e30 100644
--- a/source/data/region/fa.txt
+++ b/source/data/region/fa.txt
@@ -137,7 +137,7 @@
         GU{"گوام"}
         GW{"گینهٔ بیسائو"}
         GY{"گویان"}
-        HK{"هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین"}
+        HK{"هنگ‌کنگ"}
         HM{"جزیرهٔ هرد و جزایر مک‌دونالد"}
         HN{"هندوراس"}
         HR{"کرواسی"}
@@ -191,7 +191,7 @@
         ML{"مالی"}
         MM{"میانمار (برمه)"}
         MN{"مغولستان"}
-        MO{"ماکائو، ناحیهٔ ویژهٔ حکومتی چین"}
+        MO{"ماکائو"}
         MP{"جزایر ماریانای شمالی"}
         MQ{"مارتینیک"}
         MR{"موریتانی"}
@@ -226,7 +226,7 @@
         PM{"سن پیر و میکلن"}
         PN{"جزایر پیت‌کرن"}
         PR{"پورتوریکو"}
-        PS{"سرزمین‌های فلسطینی"}
+        PS{"فلسطین"}
         PT{"پرتغال"}
         PW{"پالائو"}
         PY{"پاراگوئه"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"بریتانیا"}
-        HK{"هنگ‌کنگ"}
-        MO{"ماکائو"}
-        PS{"فلسطین"}
         SA{"عربستان"}
         US{"ایالات متحده"}
     }
diff --git a/source/data/region/fi.txt b/source/data/region/fi.txt
index 8854342..72a0926 100644
--- a/source/data/region/fi.txt
+++ b/source/data/region/fi.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong – Kiinan e.h.a."}
+        HK{"Hongkong"}
         HM{"Heard ja McDonaldinsaaret"}
         HN{"Honduras"}
         HR{"Kroatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macao – Kiinan e.h.a."}
+        MO{"Macao"}
         MP{"Pohjois-Mariaanit"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre ja Miquelon"}
         PN{"Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Palestiinalaisalueet"}
+        PS{"Palestiina"}
         PT{"Portugali"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Britannia"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestiina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/fil.txt b/source/data/region/fil.txt
index 358f38f..7251df4 100755
--- a/source/data/region/fil.txt
+++ b/source/data/region/fil.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong SAR China"}
+        HK{"Hong Kong"}
         HM{"Heard Island and McDonald Islands"}
         HN{"Honduras"}
         HR{"Croatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macau SAR China"}
+        MO{"Macau"}
         MP{"Northern Mariana Islands"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre and Miquelon"}
         PN{"Pitcairn Islands"}
         PR{"Puerto Rico"}
-        PS{"Palestinian Territories"}
+        PS{"Palestine"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"U.K."}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestine"}
         US{"U.S."}
     }
     Countries%variant{
diff --git a/source/data/region/fo.txt b/source/data/region/fo.txt
index 4ebd8be..8afd5e9 100644
--- a/source/data/region/fo.txt
+++ b/source/data/region/fo.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Gujana"}
-        HK{"Hong Kong SAR Kina"}
+        HK{"Hong Kong"}
         HM{"Heard og McDonaldoyggjar"}
         HN{"Honduras"}
         HR{"Kroatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Makao SAR Kina"}
+        MO{"Makao"}
         MP{"Norðaru Mariuoyggjar"}
         MQ{"Martinique"}
         MR{"Móritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre og Miquelon"}
         PN{"Pitcairnoyggjar"}
         PR{"Puerto Riko"}
-        PS{"Palestinskt landøki"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/fr.txt b/source/data/region/fr.txt
index 06ca809..3d2aa74 100644
--- a/source/data/region/fr.txt
+++ b/source/data/region/fr.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinée-Bissau"}
         GY{"Guyana"}
-        HK{"R.A.S. chinoise de Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Îles Heard et McDonald"}
         HN{"Honduras"}
         HR{"Croatie"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmanie)"}
         MN{"Mongolie"}
-        MO{"R.A.S. chinoise de Macao"}
+        MO{"Macao"}
         MP{"Îles Mariannes du Nord"}
         MQ{"Martinique"}
         MR{"Mauritanie"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre-et-Miquelon"}
         PN{"Îles Pitcairn"}
         PR{"Porto Rico"}
-        PS{"Territoires palestiniens"}
+        PS{"Palestine"}
         PT{"Portugal"}
         PW{"Palaos"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"R.-U."}
-        HK{"Hong Kong"}
-        MO{"Macao"}
-        PS{"Palestine"}
         US{"É.-U."}
     }
     Countries%variant{
diff --git a/source/data/region/fur.txt b/source/data/region/fur.txt
index 9c885f0..24af6a8 100644
--- a/source/data/region/fur.txt
+++ b/source/data/region/fur.txt
@@ -134,7 +134,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Regjon aministrative speciâl de Cine di Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Isule Heard e Isulis McDonald"}
         HN{"Honduras"}
         HR{"Cravuazie"}
@@ -188,7 +188,7 @@
         ML{"Mali"}
         MM{"Birmanie"}
         MN{"Mongolie"}
-        MO{"Regjon aministrative speciâl de Cine di Macao"}
+        MO{"Macao"}
         MP{"Isulis Mariana dal Nord"}
         MQ{"Martiniche"}
         MR{"Mauritanie"}
@@ -292,10 +292,6 @@
         ZW{"Zimbabwe"}
         ZZ{"Regjon no cognossude o no valide"}
     }
-    Countries%short{
-        HK{"Hong Kong"}
-        MO{"Macao"}
-    }
     Countries%variant{
         CD{"Congo (RDC)"}
         CG{"Congo (Republiche)"}
diff --git a/source/data/region/fy.txt b/source/data/region/fy.txt
index 060c33e..4ea5984 100644
--- a/source/data/region/fy.txt
+++ b/source/data/region/fy.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinee-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong SAR van Sina"}
+        HK{"Hongkong"}
         HM{"Heard- en McDonaldeilannen"}
         HN{"Honduras"}
         HR{"Kroatië"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birma)"}
         MN{"Mongolië"}
-        MO{"Macao SAR van Sina"}
+        MO{"Macao"}
         MP{"Noardlike Marianeneilannen"}
         MQ{"Martinique"}
         MR{"Mauritanië"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre en Miquelon"}
         PN{"Pitcairneilannen"}
         PR{"Puerto Rico"}
-        PS{"Palestynske gebieten"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"VK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"VS"}
     }
     Countries%variant{
diff --git a/source/data/region/ga.txt b/source/data/region/ga.txt
index 59e0eca..2c1de1c 100644
--- a/source/data/region/ga.txt
+++ b/source/data/region/ga.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guine Bissau"}
         GY{"An Ghuáin"}
-        HK{"S.R.R. na Síne Hong Cong"}
+        HK{"Hong Cong"}
         HM{"Oileán Heard agus Oileáin McDonald"}
         HN{"Hondúras"}
         HR{"An Chróit"}
@@ -191,7 +191,7 @@
         ML{"Mailí"}
         MM{"Maenmar (Burma)"}
         MN{"An Mhongóil"}
-        MO{"S.R.R. na Síne Macao"}
+        MO{"Macao"}
         MP{"Na hOileáin Mháirianacha Thuaidh"}
         MQ{"Martinique"}
         MR{"An Mháratáin"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre-et-Miquelon"}
         PN{"Oileáin Pitcairn"}
         PR{"Portó Ríce"}
-        PS{"Na Críocha Palaistíneacha"}
+        PS{"An Phalaistín"}
         PT{"An Phortaingéil"}
         PW{"Palau"}
         PY{"Paragua"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"RA"}
-        HK{"Hong Cong"}
-        MO{"Macao"}
-        PS{"An Phalaistín"}
         US{"SAM"}
     }
     Countries%variant{
diff --git a/source/data/region/gd.txt b/source/data/region/gd.txt
index b0394f1..c557082 100644
--- a/source/data/region/gd.txt
+++ b/source/data/region/gd.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gini-Bioso"}
         GY{"Guidheàna"}
-        HK{"Hong Kong SAR na Sìne"}
+        HK{"Hong Kong"}
         HM{"Eilean Heard is MhicDhòmhnaill"}
         HN{"Hondùras"}
         HR{"A’ Chròthais"}
@@ -191,7 +191,7 @@
         ML{"Màili"}
         MM{"Miànmar"}
         MN{"Dùthaich nam Mongol"}
-        MO{"Macàthu SAR na Sìne"}
+        MO{"Macàthu"}
         MP{"Na h-Eileanan Mairianach a Tuath"}
         MQ{"Mairtinic"}
         MR{"Moratàinea"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre agus Miquelon"}
         PN{"Eilean Peit a’ Chàirn"}
         PR{"Porto Rìceo"}
-        PS{"Na Ranntairean Palastaineach"}
+        PS{"Palastain"}
         PT{"A’ Phortagail"}
         PW{"Palabh"}
         PY{"Paraguaidh"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"RA"}
-        HK{"Hong Kong"}
-        MO{"Macàthu"}
-        PS{"Palastain"}
         US{"SA"}
     }
     Countries%variant{
diff --git a/source/data/region/gl.txt b/source/data/region/gl.txt
index 8cad8e9..6fb8648 100644
--- a/source/data/region/gl.txt
+++ b/source/data/region/gl.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Güiana"}
-        HK{"Hong Kong RAE de China"}
+        HK{"Hong Kong"}
         HM{"Illa Heard e Illas McDonald"}
         HN{"Honduras"}
         HR{"Croacia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmania)"}
         MN{"Mongolia"}
-        MO{"Macau RAE de China"}
+        MO{"Macau"}
         MP{"Illas Marianas do norte"}
         MQ{"Martinica"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"San Pedro e Miguelón"}
         PN{"Illas Pitcairn"}
         PR{"Porto Rico"}
-        PS{"Territorios palestinos"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"RU"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"EUA"}
     }
     Countries%variant{
diff --git a/source/data/region/gsw.txt b/source/data/region/gsw.txt
index 63200c2..7a6a1f2 100644
--- a/source/data/region/gsw.txt
+++ b/source/data/region/gsw.txt
@@ -131,7 +131,7 @@
         GU{"Guam"}
         GW{"Gineea-Bissau"}
         GY{"Guäjaana"}
-        HK{"Sonderverwaltigszone Hongkong"}
+        HK{"Hongkong"}
         HM{"Höörd- und MäcDonald-Insle"}
         HN{"Honduras"}
         HR{"Kroaazie"}
@@ -184,7 +184,7 @@
         ML{"Maali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolei"}
-        MO{"Sonderverwaltigszone Macao"}
+        MO{"Macao"}
         MP{"Nördlichi Mariaane"}
         MQ{"Martinigg"}
         MR{"Mauretaanie"}
@@ -287,10 +287,6 @@
         ZW{"Simbabwe"}
         ZZ{"Unbekannti oder ungültigi Regioon"}
     }
-    Countries%short{
-        HK{"Hongkong"}
-        MO{"Macao"}
-    }
     Countries%variant{
         MK{"Mazedoonie (EJRM)"}
     }
diff --git a/source/data/region/gu.txt b/source/data/region/gu.txt
index 657bd13..292e11d 100644
--- a/source/data/region/gu.txt
+++ b/source/data/region/gu.txt
@@ -137,7 +137,7 @@
         GU{"ગ્વામ"}
         GW{"ગિની-બિસાઉ"}
         GY{"ગયાના"}
-        HK{"હોંગકોંગ SAR ચીન"}
+        HK{"હોંગ કોંગ"}
         HM{"હર્ડ અને મેકડોનાલ્ડ આઇલેન્ડ્સ"}
         HN{"હોન્ડુરસ"}
         HR{"ક્રોએશિયા"}
@@ -191,7 +191,7 @@
         ML{"માલી"}
         MM{"મ્યાંમાર (બર્મા)"}
         MN{"મંગોલિયા"}
-        MO{"મકાઉ SAR ચીન"}
+        MO{"મકાઉ"}
         MP{"ઉત્તરીય મારિયાના આઇલેન્ડ્સ"}
         MQ{"માર્ટીનીક"}
         MR{"મૌરિટાનિયા"}
@@ -226,7 +226,7 @@
         PM{"સેન્ટ પિયર અને મીક્વેલન"}
         PN{"પીટકૈર્ન આઇલેન્ડ્સ"}
         PR{"પ્યુઅર્ટો રિકો"}
-        PS{"પેલેસ્ટિનિયન ટેરિટરી"}
+        PS{"પેલેસ્ટાઇન"}
         PT{"પોર્ટુગલ"}
         PW{"પલાઉ"}
         PY{"પેરાગ્વે"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"યુ.કે."}
-        HK{"હોંગ કોંગ"}
-        MO{"મકાઉ"}
-        PS{"પેલેસ્ટાઇન"}
         US{"યુ.એસ."}
     }
     Countries%variant{
diff --git a/source/data/region/he.txt b/source/data/region/he.txt
index 166eeae..7f2a7e1 100644
--- a/source/data/region/he.txt
+++ b/source/data/region/he.txt
@@ -137,7 +137,7 @@
         GU{"גואם"}
         GW{"גיניאה-ביסאו"}
         GY{"גיאנה"}
-        HK{"הונג קונג - מחוז מנהלי מיוחד של סין"}
+        HK{"הונג קונג"}
         HM{"האי הרד ואיי מקדונלד"}
         HN{"הונדורס"}
         HR{"קרואטיה"}
@@ -191,7 +191,7 @@
         ML{"מאלי"}
         MM{"מיאנמאר (בורמה)‎"}
         MN{"מונגוליה"}
-        MO{"מקאו - מחוז מנהלי מיוחד של סין"}
+        MO{"מקאו"}
         MP{"איי מריאנה הצפוניים"}
         MQ{"מרטיניק"}
         MR{"מאוריטניה"}
@@ -226,7 +226,7 @@
         PM{"סנט פייר ומיקלון"}
         PN{"איי פיטקרן"}
         PR{"פוארטו ריקו"}
-        PS{"השטחים הפלסטיניים"}
+        PS{"פלסטין"}
         PT{"פורטוגל"}
         PW{"פאלאו"}
         PY{"פרגוואי"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"בריטניה"}
-        HK{"הונג קונג"}
-        MO{"מקאו"}
-        PS{"פלסטין"}
         US{"ארה״ב"}
     }
     Countries%variant{
diff --git a/source/data/region/hi.txt b/source/data/region/hi.txt
index 320b905..a56d04b 100644
--- a/source/data/region/hi.txt
+++ b/source/data/region/hi.txt
@@ -137,7 +137,7 @@
         GU{"गुआम"}
         GW{"गिनी-बिसाउ"}
         GY{"गयाना"}
-        HK{"हाँग काँग (चीन विशेष प्रशासनिक क्षेत्र)"}
+        HK{"हाँग काँग"}
         HM{"हर्ड द्वीप और मैकडोनॉल्ड द्वीपसमूह"}
         HN{"होंडूरास"}
         HR{"क्रोएशिया"}
@@ -191,7 +191,7 @@
         ML{"माली"}
         MM{"म्यांमार (बर्मा)"}
         MN{"मंगोलिया"}
-        MO{"मकाऊ (विशेष प्रशासनिक क्षेत्र चीन)"}
+        MO{"मकाऊ"}
         MP{"उत्तरी मारियाना द्वीपसमूह"}
         MQ{"मार्टीनिक"}
         MR{"मॉरिटानिया"}
@@ -226,7 +226,7 @@
         PM{"सेंट पिएरे और मिक्वेलान"}
         PN{"पिटकैर्न द्वीपसमूह"}
         PR{"पोर्टो रिको"}
-        PS{"फ़िलिस्तीनी क्षेत्र"}
+        PS{"फ़िलिस्तीन"}
         PT{"पुर्तगाल"}
         PW{"पलाऊ"}
         PY{"पेराग्वे"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"यू.के."}
-        HK{"हाँग काँग"}
-        MO{"मकाऊ"}
-        PS{"फ़िलिस्तीन"}
         US{"अमेरिका"}
     }
     Countries%variant{
diff --git a/source/data/region/hr.txt b/source/data/region/hr.txt
index 4b978cd..80c1867 100644
--- a/source/data/region/hr.txt
+++ b/source/data/region/hr.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gvineja Bisau"}
         GY{"Gvajana"}
-        HK{"Hong Kong PUP Kina"}
+        HK{"Hong Kong"}
         HM{"Otoci Heard i McDonald"}
         HN{"Honduras"}
         HR{"Hrvatska"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mijanmar (Burma)"}
         MN{"Mongolija"}
-        MO{"Makao PUP Kina"}
+        MO{"Makao"}
         MP{"Sjeverni Marijanski Otoci"}
         MQ{"Martinique"}
         MR{"Mauritanija"}
@@ -226,7 +226,7 @@
         PM{"Sveti Petar i Mikelon"}
         PN{"Otoci Pitcairn"}
         PR{"Portoriko"}
-        PS{"Palestinsko Područje"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paragvaj"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Palestina"}
         US{"SAD"}
     }
     Countries%variant{
diff --git a/source/data/region/hsb.txt b/source/data/region/hsb.txt
index 5aed06c..e38227b 100644
--- a/source/data/region/hsb.txt
+++ b/source/data/region/hsb.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gineja-Bissau"}
         GY{"Guyana"}
-        HK{"Wosebita zarjadniska cona Hongkong"}
+        HK{"Hongkong"}
         HM{"Heardowa kupa a McDonaldowe kupy"}
         HN{"Honduras"}
         HR{"Chorwatska"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolska"}
-        MO{"Wosebita zarjadniska cona Macao"}
+        MO{"Macao"}
         MP{"Sewjerne Mariany"}
         MQ{"Martinique"}
         MR{"Mawretanska"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre a Miquelon"}
         PN{"Pitcairnowe kupy"}
         PR{"Puerto Rico"}
-        PS{"Palestinski awtonomny teritorij"}
+        PS{"Palestina"}
         PT{"Portugalska"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/hu.txt b/source/data/region/hu.txt
index 33966a4..8d89bce 100644
--- a/source/data/region/hu.txt
+++ b/source/data/region/hu.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Bissau-Guinea"}
         GY{"Guyana"}
-        HK{"Hongkong SAR Kína"}
+        HK{"Hongkong"}
         HM{"Heard-sziget és McDonald-szigetek"}
         HN{"Honduras"}
         HR{"Horvátország"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mianmar (Burma)"}
         MN{"Mongólia"}
-        MO{"Makaó SAR Kína"}
+        MO{"Makaó"}
         MP{"Északi Mariana-szigetek"}
         MQ{"Martinique"}
         MR{"Mauritánia"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre és Miquelon"}
         PN{"Pitcairn-szigetek"}
         PR{"Puerto Rico"}
-        PS{"Palesztin Terület"}
+        PS{"Palesztina"}
         PT{"Portugália"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hongkong"}
-        MO{"Makaó"}
-        PS{"Palesztina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/hy.txt b/source/data/region/hy.txt
index f7e6d69..9ed5e97 100644
--- a/source/data/region/hy.txt
+++ b/source/data/region/hy.txt
@@ -137,7 +137,7 @@
         GU{"Գուամ"}
         GW{"Գվինեա-Բիսաու"}
         GY{"Գայանա"}
-        HK{"Հոնկոնգի ՀՎՇ"}
+        HK{"Հոնկոնգ"}
         HM{"Հերդ կղզի և ՄակԴոնալդի կղզիներ"}
         HN{"Հոնդուրաս"}
         HR{"Խորվաթիա"}
@@ -191,7 +191,7 @@
         ML{"Մալի"}
         MM{"Մյանմա (Բիրմա)"}
         MN{"Մոնղոլիա"}
-        MO{"Չինաստանի Մակաո ՀՎՇ"}
+        MO{"Մակաո"}
         MP{"Հյուսիսային Մարիանյան կղզիներ"}
         MQ{"Մարտինիկա"}
         MR{"Մավրիտանիա"}
@@ -226,7 +226,7 @@
         PM{"Սեն Պիեռ և Միքելոն"}
         PN{"Պիտկեռն կղզիներ"}
         PR{"Պուերտո Ռիկո"}
-        PS{"Պաղեստինյան տարածքներ"}
+        PS{"Պաղեստին"}
         PT{"Պորտուգալիա"}
         PW{"Պալաու"}
         PY{"Պարագվայ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Բրիտանիա"}
-        HK{"Հոնկոնգ"}
-        MO{"Մակաո"}
-        PS{"Պաղեստին"}
         US{"ԱՄՆ"}
     }
     Countries%variant{
diff --git a/source/data/region/id.txt b/source/data/region/id.txt
index bffac5e..6076a50 100644
--- a/source/data/region/id.txt
+++ b/source/data/region/id.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong SAR Tiongkok"}
+        HK{"Hong Kong"}
         HM{"Pulau Heard dan Kepulauan McDonald"}
         HN{"Honduras"}
         HR{"Kroasia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Makau SAR Tiongkok"}
+        MO{"Makau"}
         MP{"Kepulauan Mariana Utara"}
         MQ{"Martinik"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre dan Miquelon"}
         PN{"Kepulauan Pitcairn"}
         PR{"Puerto Riko"}
-        PS{"Wilayah Palestina"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hong Kong"}
-        MO{"Makau"}
-        PS{"Palestina"}
         US{"A.S."}
     }
     Countries%variant{
diff --git a/source/data/region/is.txt b/source/data/region/is.txt
index bb209fd..7d646e8 100644
--- a/source/data/region/is.txt
+++ b/source/data/region/is.txt
@@ -137,7 +137,7 @@
         GU{"Gvam"}
         GW{"Gínea-Bissá"}
         GY{"Gvæjana"}
-        HK{"Sjálfstjórnarsvæðið Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Heard og McDonaldseyjar"}
         HN{"Hondúras"}
         HR{"Króatía"}
@@ -191,7 +191,7 @@
         ML{"Malí"}
         MM{"Mjanmar (Búrma)"}
         MN{"Mongólía"}
-        MO{"Sjálfstjórnarsvæðið Makaó"}
+        MO{"Makaó"}
         MP{"Norður-Maríanaeyjar"}
         MQ{"Martiník"}
         MR{"Máritanía"}
@@ -226,7 +226,7 @@
         PM{"Sankti Pierre og Miquelon"}
         PN{"Pitcairn-eyjar"}
         PR{"Púertó Ríkó"}
-        PS{"Heimastjórnarsvæði Palestínumanna"}
+        PS{"Palestína"}
         PT{"Portúgal"}
         PW{"Palá"}
         PY{"Paragvæ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Bretland"}
-        HK{"Hong Kong"}
-        MO{"Makaó"}
-        PS{"Palestína"}
         US{"BNA"}
     }
     Countries%variant{
diff --git a/source/data/region/it.txt b/source/data/region/it.txt
index 1571e93..4a3a467 100644
--- a/source/data/region/it.txt
+++ b/source/data/region/it.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"RAS di Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Isole Heard e McDonald"}
         HN{"Honduras"}
         HR{"Croazia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmania)"}
         MN{"Mongolia"}
-        MO{"RAS di Macao"}
+        MO{"Macao"}
         MP{"Isole Marianne settentrionali"}
         MQ{"Martinica"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre e Miquelon"}
         PN{"Isole Pitcairn"}
         PR{"Portorico"}
-        PS{"Territori palestinesi"}
+        PS{"Palestina"}
         PT{"Portogallo"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hong Kong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/ja.txt b/source/data/region/ja.txt
index bd3a937..28f8493 100644
--- a/source/data/region/ja.txt
+++ b/source/data/region/ja.txt
@@ -137,7 +137,7 @@
         GU{"グアム"}
         GW{"ギニアビサウ"}
         GY{"ガイアナ"}
-        HK{"中華人民共和国香港特別行政区"}
+        HK{"香港"}
         HM{"ハード島・マクドナルド諸島"}
         HN{"ホンジュラス"}
         HR{"クロアチア"}
@@ -191,7 +191,7 @@
         ML{"マリ"}
         MM{"ミャンマー"}
         MN{"モンゴル"}
-        MO{"中華人民共和国マカオ特別行政区"}
+        MO{"マカオ"}
         MP{"北マリアナ諸島"}
         MQ{"マルティニーク"}
         MR{"モーリタニア"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"英国"}
-        HK{"香港"}
-        MO{"マカオ"}
-        PS{"パレスチナ"}
         US{"アメリカ"}
     }
     Countries%variant{
diff --git a/source/data/region/ka.txt b/source/data/region/ka.txt
index 97e2781..a29b952 100644
--- a/source/data/region/ka.txt
+++ b/source/data/region/ka.txt
@@ -137,7 +137,7 @@
         GU{"გუამი"}
         GW{"გვინეა-ბისაუ"}
         GY{"გაიანა"}
-        HK{"ჰონკონგის სპეციალური ადმინისტრაციული რეგიონი ჩინეთი"}
+        HK{"ჰონკონგი"}
         HM{"ჰერდი და მაკდონალდის კუნძულები"}
         HN{"ჰონდურასი"}
         HR{"ხორვატია"}
@@ -191,7 +191,7 @@
         ML{"მალი"}
         MM{"მიანმარი (ბირმა)"}
         MN{"მონღოლეთი"}
-        MO{"მაკაოს სპეციალური ადმინისტრაციული რეგიონი ჩინეთი"}
+        MO{"მაკაო"}
         MP{"ჩრდილოეთ მარიანას კუნძულები"}
         MQ{"მარტინიკა"}
         MR{"მავრიტანია"}
@@ -226,7 +226,7 @@
         PM{"სენ-პიერი და მიკელონი"}
         PN{"პიტკერნის კუნძულები"}
         PR{"პუერტო-რიკო"}
-        PS{"პალესტინის ტერიტორიები"}
+        PS{"პალესტინა"}
         PT{"პორტუგალია"}
         PW{"პალაუ"}
         PY{"პარაგვაი"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"გაერთ.სამ."}
-        HK{"ჰონკონგი"}
-        MO{"მაკაო"}
-        PS{"პალესტინა"}
         US{"აშშ"}
     }
     Countries%variant{
diff --git a/source/data/region/kea.txt b/source/data/region/kea.txt
index 27226d9..1cde23f 100755
--- a/source/data/region/kea.txt
+++ b/source/data/region/kea.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gine-Bisau"}
         GY{"Giana"}
-        HK{"Rejiãu Administrativu Special di Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Ilha Heard i Ilhas McDonald"}
         HN{"Onduras"}
         HR{"Kroasia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mianmar"}
         MN{"Mongolia"}
-        MO{"Rejiãu Administrativu Special di Makau"}
+        MO{"Makau"}
         MP{"Ilhas Marianas di Norti"}
         MQ{"Martinika"}
         MR{"Mauritania"}
@@ -300,8 +300,6 @@
     }
     Countries%short{
         GB{"R.U."}
-        HK{"Hong Kong"}
-        MO{"Makau"}
         US{"S.U."}
     }
     Countries%variant{
diff --git a/source/data/region/kk.txt b/source/data/region/kk.txt
index da4390c..097faee 100644
--- a/source/data/region/kk.txt
+++ b/source/data/region/kk.txt
@@ -78,7 +78,7 @@
         BZ{"Белиз"}
         CA{"Канада"}
         CC{"Кокос (Килинг) аралдары"}
-        CD{"Конго"}
+        CD{"Конго Демократиялық Республикасы"}
         CF{"Орталық Африка Республикасы"}
         CG{"Конго-Браззавиль Республикасы"}
         CH{"Швейцария"}
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвинея-Бисау"}
         GY{"Гайана"}
-        HK{"Қытай Халық Республикасының Гонг-Конг арнайы әкімшілік ауданы"}
+        HK{"Гонконг"}
         HM{"Херд аралы мен Макдональд аралдары"}
         HN{"Гондурас"}
         HR{"Хорватия"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мьянма (Бирма)"}
         MN{"Моңғолия"}
-        MO{"Қытай Халық Республикасының Макао арнайы әкімшілік ауданы"}
+        MO{"Макао"}
         MP{"Солтүстік Мариан аралдары"}
         MQ{"Мартиника"}
         MR{"Мавритания"}
@@ -226,7 +226,7 @@
         PM{"Сен-Пьер және Микелон"}
         PN{"Питкэрн аралдары"}
         PR{"Пуэрто-Рико"}
-        PS{"Палестина аймақтары"}
+        PS{"Палестина"}
         PT{"Португалия"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Біріккен Корольдік"}
-        HK{"Гонконг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"АҚШ"}
     }
     Countries%variant{
diff --git a/source/data/region/km.txt b/source/data/region/km.txt
index 1f99e4e..878f8c8 100644
--- a/source/data/region/km.txt
+++ b/source/data/region/km.txt
@@ -226,7 +226,7 @@
         PM{"សង់ព្យែរ និង​មីគីឡុង"}
         PN{"កោះ​ភីតខារិន"}
         PR{"ព័រតូរីកូ"}
-        PS{"ដែន​ប៉ាលេស្ទីន"}
+        PS{"ប៉ាលេស្ទីន"}
         PT{"ព័រទុយហ្កាល់"}
         PW{"ផៅឡូ"}
         PY{"ប៉ារ៉ាហ្គាយ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ច.អ."}
-        HK{"ហុងកុង"}
-        MO{"ម៉ាកាវ"}
-        PS{"ប៉ាលេស្ទីន"}
         US{"ស.រ.អ"}
     }
     Countries%variant{
diff --git a/source/data/region/kn.txt b/source/data/region/kn.txt
index 3a7f731..7f84c33 100644
--- a/source/data/region/kn.txt
+++ b/source/data/region/kn.txt
@@ -137,7 +137,7 @@
         GU{"ಗುಯಾಮ್"}
         GW{"ಗಿನಿ-ಬಿಸ್ಸಾವ್"}
         GY{"ಗಯಾನಾ"}
-        HK{"ಹಾಂಗ್ ಕಾಂಗ್ SAR ಚೈನಾ"}
+        HK{"ಹಾಂಗ್ ಕಾಂಗ್"}
         HM{"ಹರ್ಡ್ ದ್ವೀಪ ಮತ್ತು ಮ್ಯಾಕ್‍ಡೊನಾಲ್ಡ್ ದ್ವೀಪಗಳು"}
         HN{"ಹೊಂಡುರಾಸ್"}
         HR{"ಕ್ರೊಯೇಶಿಯಾ"}
@@ -191,7 +191,7 @@
         ML{"ಮಾಲಿ"}
         MM{"ಮಯನ್ಮಾರ್ (ಬರ್ಮಾ)"}
         MN{"ಮೊಂಗೋಲಿಯಾ"}
-        MO{"ಮಖಾವ್ (SAR) ಚೈನಾ"}
+        MO{"ಮಖಾವ್"}
         MP{"ಉತ್ತರ ಮರಿಯಾನಾ ದ್ವೀಪಗಳು"}
         MQ{"ಮಾರ್ಟಿನಿಕ್"}
         MR{"ಮಾರಿಟೇನಿಯಾ"}
@@ -226,7 +226,7 @@
         PM{"ಸೇಂಟ್ ಪಿಯರೆ ಮತ್ತು ಮಿಕೆಲನ್"}
         PN{"ಪಿಟ್‌ಕೈರ್ನ್ ದ್ವೀಪಗಳು"}
         PR{"ಪ್ಯೂರ್ಟೋ ರಿಕೊ"}
-        PS{"ಪ್ಯಾಲೇಸ್ಟೇನಿಯನ್ ಪ್ರದೇಶ"}
+        PS{"ಪ್ಯಾಲೆಸ್ಟೇನ್"}
         PT{"ಪೋರ್ಚುಗಲ್"}
         PW{"ಪಲಾವು"}
         PY{"ಪರಾಗ್ವೇ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ಯು.ಕೆ."}
-        HK{"ಹಾಂಗ್ ಕಾಂಗ್"}
-        MO{"ಮಖಾವ್"}
-        PS{"ಪ್ಯಾಲೆಸ್ಟೇನ್"}
         US{"ಯು.ಎಸ್"}
     }
     Countries%variant{
diff --git a/source/data/region/ko.txt b/source/data/region/ko.txt
index f80d639..d42fa94 100644
--- a/source/data/region/ko.txt
+++ b/source/data/region/ko.txt
@@ -137,7 +137,7 @@
         GU{"괌"}
         GW{"기니비사우"}
         GY{"가이아나"}
-        HK{"홍콩(중국 특별행정구)"}
+        HK{"홍콩"}
         HM{"허드 맥도널드 제도"}
         HN{"온두라스"}
         HR{"크로아티아"}
@@ -191,7 +191,7 @@
         ML{"말리"}
         MM{"미얀마"}
         MN{"몽골"}
-        MO{"마카오(중국 특별행정구)"}
+        MO{"마카오"}
         MP{"북마리아나제도"}
         MQ{"마르티니크"}
         MR{"모리타니"}
@@ -226,7 +226,7 @@
         PM{"생피에르 미클롱"}
         PN{"핏케언 섬"}
         PR{"푸에르토리코"}
-        PS{"팔레스타인 지구"}
+        PS{"팔레스타인"}
         PT{"포르투갈"}
         PW{"팔라우"}
         PY{"파라과이"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"영국"}
-        HK{"홍콩"}
-        MO{"마카오"}
-        PS{"팔레스타인"}
         US{"미국"}
     }
     Countries%variant{
diff --git a/source/data/region/ksh.txt b/source/data/region/ksh.txt
index 09fc2fe..0bfffa4 100644
--- a/source/data/region/ksh.txt
+++ b/source/data/region/ksh.txt
@@ -300,8 +300,6 @@
     }
     Countries%short{
         GB{"Jruußbrettannije"}
-        HK{"Hongkong"}
-        MO{"Makau"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/ky.txt b/source/data/region/ky.txt
index 02e8024..03abf60 100755
--- a/source/data/region/ky.txt
+++ b/source/data/region/ky.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвинея-Бисау"}
         GY{"Гайана"}
-        HK{"Гонконг Кытай ААА"}
+        HK{"Гонконг"}
         HM{"Херд жана Макдоналд аралдары"}
         HN{"Гондурас"}
         HR{"Хорватия"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мьянма (Бирма)"}
         MN{"Монголия"}
-        MO{"Макау Кытай ААА"}
+        MO{"Макау"}
         MP{"Түндүк Мариана аралдары"}
         MQ{"Мартиника"}
         MR{"Мавритания"}
@@ -226,7 +226,7 @@
         PM{"Сен-Пьер жана Микелон"}
         PN{"Питкэрн аралдары"}
         PR{"Пуэрто-Рико"}
-        PS{"Палестина аймактары"}
+        PS{"Палестина"}
         PT{"Португалия"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"УБ"}
-        HK{"Гонконг"}
-        MO{"Макау"}
-        PS{"Палестина"}
         US{"АКШ"}
     }
     Countries%variant{
diff --git a/source/data/region/lb.txt b/source/data/region/lb.txt
index 271c27b..90618e7 100644
--- a/source/data/region/lb.txt
+++ b/source/data/region/lb.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Spezialverwaltungszon Hong Kong"}
+        HK{"Hong Kong"}
         HM{"Heard- a McDonald-Inselen"}
         HN{"Honduras"}
         HR{"Kroatien"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolei"}
-        MO{"Spezialverwaltungszon Macau"}
+        MO{"Macau"}
         MP{"Nërdlech Marianen"}
         MQ{"Martinique"}
         MR{"Mauretanien"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre a Miquelon"}
         PN{"Pitcairninselen"}
         PR{"Puerto Rico"}
-        PS{"Palestinensesch Autonomiegebidder"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"US"}
     }
     Countries%variant{
diff --git a/source/data/region/lo.txt b/source/data/region/lo.txt
index 3dc9675..4e7710c 100755
--- a/source/data/region/lo.txt
+++ b/source/data/region/lo.txt
@@ -137,7 +137,7 @@
         GU{"ກວມ"}
         GW{"ກິນີ-ບິສເຊົາ"}
         GY{"ກາຍຢານາ"}
-        HK{"ຮອງກົງ ເຂດປົກຄອງພິເສດ ຈີນ"}
+        HK{"ຮອງກົງ"}
         HM{"ໝູ່ເກາະເຮີດ & ແມັກໂດນອລ"}
         HN{"ຮອນດູຣັສ"}
         HR{"ໂຄຣເອເທຍ"}
@@ -191,7 +191,7 @@
         ML{"ມາລິ"}
         MM{"ມຽນມາ (ເບີມາ)"}
         MN{"ມົງໂກລີ"}
-        MO{"ມາເກົ້າ ເຂດປົກຄອງພິເສດ ຈີນ"}
+        MO{"ມາເກົ້າ"}
         MP{"ຫມູ່ເກາະມາແຊວຕອນເຫນືອ"}
         MQ{"ມາຕິນີກ"}
         MR{"ມົວຣິເທເນຍ"}
@@ -226,7 +226,7 @@
         PM{"ເຊນ ປີແອ ມິເກວລອນ"}
         PN{"ໝູ່ເກາະພິດແຄນ"}
         PR{"ເພືອໂຕ ຣິໂກ"}
-        PS{"ດິນແດນ ປາເລສຕິນຽນ"}
+        PS{"ປາເລສຕິນ"}
         PT{"ພອລທູໂກ"}
         PW{"ປາເລົາ"}
         PY{"ພາຣາກວຍ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ສະຫະລາດຊະອະນາຈັກຯ"}
-        HK{"ຮອງກົງ"}
-        MO{"ມາເກົ້າ"}
-        PS{"ປາເລສຕິນ"}
         US{"ສະຫະລັດຯ"}
     }
     Countries%variant{
diff --git a/source/data/region/lt.txt b/source/data/region/lt.txt
index caa5424..3be255c 100644
--- a/source/data/region/lt.txt
+++ b/source/data/region/lt.txt
@@ -137,7 +137,7 @@
         GU{"Guamas"}
         GW{"Bisau Gvinėja"}
         GY{"Gajana"}
-        HK{"Ypatingasis Administracinis Kinijos Regionas Honkongas"}
+        HK{"Honkongas"}
         HM{"Herdo ir Makdonaldo Salos"}
         HN{"Hondūras"}
         HR{"Kroatija"}
@@ -191,7 +191,7 @@
         ML{"Malis"}
         MM{"Mianmaras (Birma)"}
         MN{"Mongolija"}
-        MO{"Ypatingasis Administracinis Kinijos Regionas Makao"}
+        MO{"Makao"}
         MP{"Marianos Šiaurinės Salos"}
         MQ{"Martinika"}
         MR{"Mauritanija"}
@@ -226,7 +226,7 @@
         PM{"Sen Pjeras ir Mikelonas"}
         PN{"Pitkernas"}
         PR{"Puerto Rikas"}
-        PS{"Palestinos teritorija"}
+        PS{"Palestina"}
         PT{"Portugalija"}
         PW{"Palau"}
         PY{"Paragvajus"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Didžioji Britanija"}
-        HK{"Honkongas"}
-        MO{"Makao"}
-        PS{"Palestina"}
         US{"JAV"}
     }
     Countries%variant{
diff --git a/source/data/region/lv.txt b/source/data/region/lv.txt
index d8d5a1d..d8fe794 100644
--- a/source/data/region/lv.txt
+++ b/source/data/region/lv.txt
@@ -137,7 +137,7 @@
         GU{"Guama"}
         GW{"Gvineja-Bisava"}
         GY{"Gajāna"}
-        HK{"Ķīnas īpašās pārvaldes apgabals Honkonga"}
+        HK{"Honkonga"}
         HM{"Hērda un Makdonalda salas"}
         HN{"Hondurasa"}
         HR{"Horvātija"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mjanma (Birma)"}
         MN{"Mongolija"}
-        MO{"Ķīnas īpašās pārvaldes apgabals Makao"}
+        MO{"Makao"}
         MP{"Ziemeļu Marianas salas"}
         MQ{"Martinika"}
         MR{"Mauritānija"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Lielbritānija"}
-        HK{"Honkonga"}
-        MO{"Makao"}
-        PS{"Palestīna"}
         US{"ASV"}
     }
     Countries%variant{
diff --git a/source/data/region/mk.txt b/source/data/region/mk.txt
index bf336ac..4d7b356 100644
--- a/source/data/region/mk.txt
+++ b/source/data/region/mk.txt
@@ -137,7 +137,7 @@
         GU{"Гвам"}
         GW{"Гвинеја-Бисау"}
         GY{"Гвајана"}
-        HK{"Хонг Конг С.А.Р Кина"}
+        HK{"Хонг Конг"}
         HM{"Остров Херд и Острови Макдоналд"}
         HN{"Хондурас"}
         HR{"Хрватска"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мјанмар (Бурма)"}
         MN{"Монголија"}
-        MO{"Макао С.А.Р Кина"}
+        MO{"Макао"}
         MP{"Северни Маријански Острови"}
         MQ{"Мартиник"}
         MR{"Мавританија"}
@@ -226,7 +226,7 @@
         PM{"Сент Пјер и Микелан"}
         PN{"Питкернски Острови"}
         PR{"Порторико"}
-        PS{"Палестински територии"}
+        PS{"Палестина"}
         PT{"Португалија"}
         PW{"Палау"}
         PY{"Парагвај"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ОК"}
-        HK{"Хонг Конг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"САД"}
     }
     Countries%variant{
diff --git a/source/data/region/ml.txt b/source/data/region/ml.txt
index 772f1ac..dd814d6 100644
--- a/source/data/region/ml.txt
+++ b/source/data/region/ml.txt
@@ -137,7 +137,7 @@
         GU{"ഗ്വാം"}
         GW{"ഗിനിയ-ബിസൗ"}
         GY{"ഗയാന"}
-        HK{"ഹോങ്കോങ്ങ് (SAR) ചൈന"}
+        HK{"ഹോങ്കോങ്ങ്"}
         HM{"ഹിയേർഡും മക്‌ഡൊണാൾഡ് ദ്വീപുകളും"}
         HN{"ഹോണ്ടുറാസ്"}
         HR{"ക്രൊയേഷ്യ"}
@@ -191,7 +191,7 @@
         ML{"മാലി"}
         MM{"മ്യാൻമാർ (ബർമ്മ)"}
         MN{"മംഗോളിയ"}
-        MO{"മക്കാവു (SAR) ചൈന"}
+        MO{"മക്കാവു"}
         MP{"ഉത്തര മറിയാനാ ദ്വീപുകൾ"}
         MQ{"മാർട്ടിനിക്ക്"}
         MR{"മൗറിറ്റാനിയ"}
@@ -226,7 +226,7 @@
         PM{"സെന്റ് പിയറിയും മിക്കലണും"}
         PN{"പിറ്റ്‌കെയ്‌ൻ ദ്വീപുകൾ"}
         PR{"പ്യൂർട്ടോ റിക്കോ"}
-        PS{"പാലസ്‌തീൻ പ്രദേശങ്ങൾ"}
+        PS{"പലസ്‌തീൻ"}
         PT{"പോർച്ചുഗൽ"}
         PW{"പലാവു"}
         PY{"പരാഗ്വേ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"യു.കെ."}
-        HK{"ഹോങ്കോങ്ങ്"}
-        MO{"മക്കാവു"}
-        PS{"പലസ്‌തീൻ"}
         US{"യു.എസ്"}
     }
     Countries%variant{
diff --git a/source/data/region/mn.txt b/source/data/region/mn.txt
index 211d40f..e7247ec 100755
--- a/source/data/region/mn.txt
+++ b/source/data/region/mn.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвиней-Бисау"}
         GY{"Гайана"}
-        HK{"БНХАУ-ын Тусгай захиргааны бүс Хонг Конг"}
+        HK{"Хонг Конг"}
         HM{"Хэрд болон Макдоналд Арлууд"}
         HN{"Гондурас"}
         HR{"Хорват"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мьянмар (Бурма)"}
         MN{"Монгол"}
-        MO{"БНХАУ-ын Тусгай захиргааны бүс Макао"}
+        MO{"Макао"}
         MP{"Хойд Марианы Арлууд"}
         MQ{"Мартиник"}
         MR{"Мавритани"}
@@ -226,7 +226,7 @@
         PM{"Сэнт Пьер ба Микелон"}
         PN{"Питкэрн Арлууд"}
         PR{"Пуэрто Рико"}
-        PS{"Палестины нутаг дэвсгэрүүд"}
+        PS{"Палестин"}
         PT{"Португал"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ИБ"}
-        HK{"Хонг Конг"}
-        MO{"Макао"}
-        PS{"Палестин"}
         US{"АНУ"}
     }
     Countries%variant{
diff --git a/source/data/region/mr.txt b/source/data/region/mr.txt
index a35c84f..509e57b 100644
--- a/source/data/region/mr.txt
+++ b/source/data/region/mr.txt
@@ -137,7 +137,7 @@
         GU{"गुआम"}
         GW{"गिनी-बिसाउ"}
         GY{"गयाना"}
-        HK{"हाँगकाँग एसएआर चीन"}
+        HK{"हाँगकाँग"}
         HM{"हर्ड आणि मॅक्डोनाल्ड बेटे"}
         HN{"होंडुरास"}
         HR{"क्रोएशिया"}
@@ -191,7 +191,7 @@
         ML{"माली"}
         MM{"म्यानमार (बर्मा)"}
         MN{"मंगोलिया"}
-        MO{"मकाओ एसएआर चीन"}
+        MO{"मकाओ"}
         MP{"उत्तरी मारियाना बेटे"}
         MQ{"मार्टिनिक"}
         MR{"मॉरिटानिया"}
@@ -226,7 +226,7 @@
         PM{"सेंट पियरे आणि मिक्वेलोन"}
         PN{"पिटकैर्न बेटे"}
         PR{"प्युएर्तो रिको"}
-        PS{"पॅलेस्टिनियन प्रदेश"}
+        PS{"पॅलेस्टाईन"}
         PT{"पोर्तुगाल"}
         PW{"पलाऊ"}
         PY{"पराग्वे"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"यू.के."}
-        HK{"हाँगकाँग"}
-        MO{"मकाओ"}
-        PS{"पॅलेस्टाईन"}
         US{"यू.एस."}
     }
     Countries%variant{
diff --git a/source/data/region/ms.txt b/source/data/region/ms.txt
index 98d3e7b..6db768f 100644
--- a/source/data/region/ms.txt
+++ b/source/data/region/ms.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea Bissau"}
         GY{"Guyana"}
-        HK{"Hong Kong SAR China"}
+        HK{"Hong Kong"}
         HM{"Kepulauan Heard & McDonald"}
         HN{"Honduras"}
         HR{"Croatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macau SAR China"}
+        MO{"Macau"}
         MP{"Kepulauan Mariana Utara"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre dan Miquelon"}
         PN{"Kepulauan Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Wilayah Palestin"}
+        PS{"Palestin"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestin"}
         US{"A.S"}
     }
     Countries%variant{
diff --git a/source/data/region/my.txt b/source/data/region/my.txt
index aa3f57c..034f6de 100644
--- a/source/data/region/my.txt
+++ b/source/data/region/my.txt
@@ -137,7 +137,7 @@
         GU{"ဂူအမ်"}
         GW{"ဂီရာနာ-ဘီစ်စာဥ"}
         GY{"ဂူရာနာ"}
-        HK{"တရုတ်၏ အထူးအုပ်ချုပ်ခွင့်ရ ဟောင်ကောင်"}
+        HK{"ဟောင်ကောင်"}
         HM{"ဟတ်ကျွန်းနှင့်မက်ဒေါနယ်ကျွန်းစု"}
         HN{"ဟွန်ဒူးရပ်စ်"}
         HR{"ခရိုအေးရှား"}
@@ -191,7 +191,7 @@
         ML{"မာလီ"}
         MM{"မြန်မာ"}
         MN{"မွန်ဂိုးလီးယား"}
-        MO{"တရုတ်၏ အထူးအုပ်ချုပ်ခွင့်ရ မကာအို"}
+        MO{"မကာအို"}
         MP{"တောင်ပိုင်းမာရီအာနာကျွန်းစု"}
         MQ{"မာတီနီကီ"}
         MR{"မောရီတာနီအာ"}
@@ -226,7 +226,7 @@
         PM{"စိန့်ပီအဲရီနှင့်မီကွီလွန်"}
         PN{"ပစ်တ်ကိန်းကျွန်းစု"}
         PR{"ပေါ်တူရီကို"}
-        PS{"ပါလက်စတိုင်း ပိုင်နက်"}
+        PS{"ပါလက်စတိုင်း"}
         PT{"ပေါ်တူဂီ"}
         PW{"ပလောင်"}
         PY{"ပါရာဂွေး"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ယူကေ"}
-        HK{"ဟောင်ကောင်"}
-        MO{"မကာအို"}
-        PS{"ပါလက်စတိုင်း"}
         US{"ယူအက်စ်"}
     }
     Countries%variant{
diff --git a/source/data/region/mzn.txt b/source/data/region/mzn.txt
index eaa2aa2..4667df8 100755
--- a/source/data/region/mzn.txt
+++ b/source/data/region/mzn.txt
@@ -137,7 +137,7 @@
         GU{"گوئام"}
         GW{"گینه بیسائو"}
         GY{"گویان"}
-        HK{"هنگ کنگ"}
+        HK{"هونگ کونگ"}
         HM{"هارد و مک‌دونالد جزایر"}
         HN{"هندوراس"}
         HR{"کرواسی"}
@@ -191,7 +191,7 @@
         ML{"مالی"}
         MM{"میانمار"}
         MN{"مغولستون"}
-        MO{"ماکائو (چین دله)"}
+        MO{"ماکائو"}
         MP{"شمالی ماریانا جزایر"}
         MQ{"مارتینیک جزیره‌ئون"}
         MR{"موریتانی"}
@@ -226,7 +226,7 @@
         PM{"سن پییر و میکلن"}
         PN{"پیتکارین جزایر"}
         PR{"پورتوریکو"}
-        PS{"فلسطین ِسرزمین"}
+        PS{"فلسطین"}
         PT{"پرتغال"}
         PW{"پالائو"}
         PY{"پاراگوئه"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"بریتانیا"}
-        HK{"هونگ کونگ"}
-        MO{"ماکائو"}
-        PS{"فلسطین"}
         US{"آمریکا متحده ایالات"}
     }
     Countries%variant{
diff --git a/source/data/region/nb.txt b/source/data/region/nb.txt
index 5298d69..58e373f 100644
--- a/source/data/region/nb.txt
+++ b/source/data/region/nb.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong S.A.R. Kina"}
+        HK{"Hongkong"}
         HM{"Heard- og McDonaldøyene"}
         HN{"Honduras"}
         HR{"Kroatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macao S.A.R. Kina"}
+        MO{"Macao"}
         MP{"Nord-Marianene"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"St. Pierre og Miquelon"}
         PN{"Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Det palestinske området"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Storbritannia"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/ne.txt b/source/data/region/ne.txt
index e19611b..2e73b66 100644
--- a/source/data/region/ne.txt
+++ b/source/data/region/ne.txt
@@ -137,7 +137,7 @@
         GU{"गुवाम"}
         GW{"गिनी-बिसाउ"}
         GY{"गुयाना"}
-        HK{"हङकङ चिनिया समाजवादी स्वायत्त क्षेत्र"}
+        HK{"हङकङ"}
         HM{"हर्ड टापु एण्ड म्याकडोनाल्ड टापुहरु"}
         HN{"हन्डुरास"}
         HR{"क्रोएशिया"}
@@ -191,7 +191,7 @@
         ML{"माली"}
         MM{"म्यान्मार (बर्मा)"}
         MN{"मङ्गोलिया"}
-        MO{"मकावो चिनिँया स्वशासित क्षेत्र"}
+        MO{"मकावो"}
         MP{"उत्तरी मारिआना टापु"}
         MQ{"मार्टिनिक"}
         MR{"माउरिटानिया"}
@@ -226,7 +226,7 @@
         PM{"सेन्ट पिर्रे र मिक्केलोन"}
         PN{"पिटकाइर्न टापुहरु"}
         PR{"पुएर्टो रिको"}
-        PS{"प्यालेस्टनी भू-भागहरु"}
+        PS{"प्यालेसटाइन"}
         PT{"पोर्चुगल"}
         PW{"पलाउ"}
         PY{"प्याराग्वे"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"बेलायत"}
-        HK{"हङकङ"}
-        MO{"मकावो"}
-        PS{"प्यालेसटाइन"}
         US{"अमेरिका"}
     }
     Countries%variant{
diff --git a/source/data/region/nl.txt b/source/data/region/nl.txt
index 453f78b..2e13509 100644
--- a/source/data/region/nl.txt
+++ b/source/data/region/nl.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinee-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong SAR van China"}
+        HK{"Hongkong"}
         HM{"Heard en McDonaldeilanden"}
         HN{"Honduras"}
         HR{"Kroatië"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birma)"}
         MN{"Mongolië"}
-        MO{"Macau SAR van China"}
+        MO{"Macau"}
         MP{"Noordelijke Marianen"}
         MQ{"Martinique"}
         MR{"Mauritanië"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre en Miquelon"}
         PN{"Pitcairneilanden"}
         PR{"Puerto Rico"}
-        PS{"Palestijnse gebieden"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"VK"}
-        HK{"Hongkong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"VS"}
     }
     Countries%variant{
diff --git a/source/data/region/nn.txt b/source/data/region/nn.txt
index 6b1c999..8160f25 100644
--- a/source/data/region/nn.txt
+++ b/source/data/region/nn.txt
@@ -135,7 +135,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong S.A.R. Kina"}
+        HK{"Hongkong"}
         HM{"Heard- og McDonaldsøyane"}
         HN{"Honduras"}
         HR{"Kroatia"}
@@ -189,7 +189,7 @@
         ML{"Mali"}
         MM{"Myanmar"}
         MN{"Mongolia"}
-        MO{"Macao S.A.R. Kina"}
+        MO{"Macao"}
         MP{"Nord-Marianane"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -293,9 +293,5 @@
         ZW{"Zimbabwe"}
         ZZ{"ukjent område"}
     }
-    Countries%short{
-        HK{"Hongkong"}
-        MO{"Macao"}
-    }
     Version{"2.1.23.66"}
 }
diff --git a/source/data/region/pa.txt b/source/data/region/pa.txt
index aec9949..b119204 100644
--- a/source/data/region/pa.txt
+++ b/source/data/region/pa.txt
@@ -137,7 +137,7 @@
         GU{"ਗੁਆਮ"}
         GW{"ਗਿਨੀ-ਬਿਸਾਉ"}
         GY{"ਗੁਯਾਨਾ"}
-        HK{"ਹਾਂਗ ਕਾਂਗ ਐਸਏਆਰ ਚੀਨ"}
+        HK{"ਹਾਂਗ ਕਾਂਗ"}
         HM{"ਹਰਡ ਤੇ ਮੈਕਡੋਨਾਲਡ ਟਾਪੂ"}
         HN{"ਹੋਂਡੁਰਸ"}
         HR{"ਕਰੋਏਸ਼ੀਆ"}
@@ -191,7 +191,7 @@
         ML{"ਮਾਲੀ"}
         MM{"ਮਿਆਂਮਾਰ (ਬਰਮਾ)"}
         MN{"ਮੰਗੋਲੀਆ"}
-        MO{"ਮਕਾਉ ਐਸਏਆਰ ਚੀਨ"}
+        MO{"ਮਕਾਉ"}
         MP{"ਉੱਤਰੀ ਮਾਰੀਆਨਾ ਟਾਪੂ"}
         MQ{"ਮਾਰਟੀਨਿਕ"}
         MR{"ਮੋਰਿਟਾਨੀਆ"}
@@ -226,7 +226,7 @@
         PM{"ਸੈਂਟ ਪੀਅਰੇ ਐਂਡ ਮਿਕੇਲਨ"}
         PN{"ਪਿਟਕੇਰਨ ਟਾਪੂ"}
         PR{"ਪਿਊਰਟੋ ਰਿਕੋ"}
-        PS{"ਫਿਲੀਸਤੀਨੀ ਖੇਤਰ"}
+        PS{"ਫਿਲੀਸਤੀਨ"}
         PT{"ਪੁਰਤਗਾਲ"}
         PW{"ਪਲਾਉ"}
         PY{"ਪੈਰਾਗਵੇ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ਯੂ.ਕੇ."}
-        HK{"ਹਾਂਗ ਕਾਂਗ"}
-        MO{"ਮਕਾਉ"}
-        PS{"ਫਿਲੀਸਤੀਨ"}
         US{"ਯੂ.ਐਸ."}
     }
     Countries%variant{
diff --git a/source/data/region/pl.txt b/source/data/region/pl.txt
index 4d6a026..f376064 100644
--- a/source/data/region/pl.txt
+++ b/source/data/region/pl.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gwinea Bissau"}
         GY{"Gujana"}
-        HK{"SRA Hongkong (Chiny)"}
+        HK{"Hongkong"}
         HM{"Wyspy Heard i McDonalda"}
         HN{"Honduras"}
         HR{"Chorwacja"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mjanma (Birma)"}
         MN{"Mongolia"}
-        MO{"SRA Makau (Chiny)"}
+        MO{"Makau"}
         MP{"Mariany Północne"}
         MQ{"Martynika"}
         MR{"Mauretania"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre i Miquelon"}
         PN{"Pitcairn"}
         PR{"Portoryko"}
-        PS{"Terytoria Palestyńskie"}
+        PS{"Palestyna"}
         PT{"Portugalia"}
         PW{"Palau"}
         PY{"Paragwaj"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"GB"}
-        HK{"Hongkong"}
-        MO{"Makau"}
-        PS{"Palestyna"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/pt.txt b/source/data/region/pt.txt
index a18a979..04f851d 100644
--- a/source/data/region/pt.txt
+++ b/source/data/region/pt.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guiné-Bissau"}
         GY{"Guiana"}
-        HK{"Hong Kong, RAE da China"}
+        HK{"Hong Kong"}
         HM{"Ilhas Heard e McDonald"}
         HN{"Honduras"}
         HR{"Croácia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mianmar (Birmânia)"}
         MN{"Mongólia"}
-        MO{"Macau, RAE da China"}
+        MO{"Macau"}
         MP{"Ilhas Marianas do Norte"}
         MQ{"Martinica"}
         MR{"Mauritânia"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre e Miquelon"}
         PN{"Ilhas Pitcairn"}
         PR{"Porto Rico"}
-        PS{"Territórios palestinos"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Reino Unido"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"EUA"}
     }
     Countries%variant{
diff --git a/source/data/region/ro.txt b/source/data/region/ro.txt
index e641b57..af2f17a 100644
--- a/source/data/region/ro.txt
+++ b/source/data/region/ro.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guineea-Bissau"}
         GY{"Guyana"}
-        HK{"R.A.S. Hong Kong a Chinei"}
+        HK{"Hong Kong"}
         HM{"Insula Heard și Insulele McDonald"}
         HN{"Honduras"}
         HR{"Croația"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Birmania)"}
         MN{"Mongolia"}
-        MO{"R.A.S. Macao a Chinei"}
+        MO{"Macao"}
         MP{"Insulele Mariane de Nord"}
         MQ{"Martinica"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint-Pierre și Miquelon"}
         PN{"Insulele Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Teritoriile Palestiniene"}
+        PS{"Palestina"}
         PT{"Portugalia"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Regatul Unit"}
-        HK{"Hong Kong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"S.U.A."}
     }
     Countries%variant{
diff --git a/source/data/region/ru.txt b/source/data/region/ru.txt
index 3457a5e..8616b94 100644
--- a/source/data/region/ru.txt
+++ b/source/data/region/ru.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвинея-Бисау"}
         GY{"Гайана"}
-        HK{"Гонконг (специальный административный район)"}
+        HK{"Гонконг"}
         HM{"о-ва Херд и Макдональд"}
         HN{"Гондурас"}
         HR{"Хорватия"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мьянма (Бирма)"}
         MN{"Монголия"}
-        MO{"Макао (специальный административный район)"}
+        MO{"Макао"}
         MP{"Северные Марианские о-ва"}
         MQ{"Мартиника"}
         MR{"Мавритания"}
@@ -226,7 +226,7 @@
         PM{"Сен-Пьер и Микелон"}
         PN{"острова Питкэрн"}
         PR{"Пуэрто-Рико"}
-        PS{"Палестинские территории"}
+        PS{"Палестина"}
         PT{"Португалия"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Британия"}
-        HK{"Гонконг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"США"}
     }
     Countries%variant{
diff --git a/source/data/region/se.txt b/source/data/region/se.txt
index 133d10c..a78b230 100644
--- a/source/data/region/se.txt
+++ b/source/data/region/se.txt
@@ -295,9 +295,6 @@
     }
     Countries%short{
         GB{"Stuorra-Británnia"}
-        HK{"Hongkong"}
-        MO{"Makáo"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Version{"2.1.19.14"}
diff --git a/source/data/region/si.txt b/source/data/region/si.txt
index fcf1ffe..f48a152 100644
--- a/source/data/region/si.txt
+++ b/source/data/region/si.txt
@@ -137,7 +137,7 @@
         GU{"ගුවාම්"}
         GW{"ගිනි බිසව්"}
         GY{"ගයනාව"}
-        HK{"හොංකොං චීන විශේෂ පරිපාලන කලාපය"}
+        HK{"හොංකොං"}
         HM{"හර්ඩ් දූපත සහ මැක්ඩොනල්ඩ් දූපත්"}
         HN{"හොන්ඩුරාස්"}
         HR{"ක්‍රොඒෂියාව"}
@@ -191,7 +191,7 @@
         ML{"මාලි"}
         MM{"මියන්මාරය (බුරුමය)"}
         MN{"මොන්ගෝලියාව"}
-        MO{"මකාවු චීන විශේෂ පරිපාලන කලාපය"}
+        MO{"මකාවු"}
         MP{"උතුරු මරියානා දූපත්"}
         MQ{"මර්ටිනික්"}
         MR{"මොරිටේනියාව"}
@@ -226,7 +226,7 @@
         PM{"ශාන්ත පියරේ සහ මැකෝලන්"}
         PN{"පිට්කෙය්න් දූපත්"}
         PR{"පුවර්ටෝ රිකෝ"}
-        PS{"පලස්තීන රාජ්‍යය"}
+        PS{"පලස්තීනය"}
         PT{"පෘතුගාලය"}
         PW{"පලාවු"}
         PY{"පැරගුවේ"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"එ.රා"}
-        HK{"හොංකොං"}
-        MO{"මකාවු"}
-        PS{"පලස්තීනය"}
         US{"එ.ජ"}
     }
     Countries%variant{
diff --git a/source/data/region/sk.txt b/source/data/region/sk.txt
index bf6d570..02684b6 100644
--- a/source/data/region/sk.txt
+++ b/source/data/region/sk.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guayana"}
-        HK{"Hongkong – OAO Číny"}
+        HK{"Hongkong"}
         HM{"Heardov ostrov a McDonaldove ostrovy"}
         HN{"Honduras"}
         HR{"Chorvátsko"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mjanmarsko"}
         MN{"Mongolsko"}
-        MO{"Macao – OAO Číny"}
+        MO{"Macao"}
         MP{"Severné Mariány"}
         MQ{"Martinik"}
         MR{"Mauritánia"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre a Miquelon"}
         PN{"Pitcairnove ostrovy"}
         PR{"Portoriko"}
-        PS{"Palestínske územia"}
+        PS{"Palestína"}
         PT{"Portugalsko"}
         PW{"Palau"}
         PY{"Paraguaj"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestína"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/sl.txt b/source/data/region/sl.txt
index 20c9f43..d1b3318 100644
--- a/source/data/region/sl.txt
+++ b/source/data/region/sl.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gvineja Bissau"}
         GY{"Gvajana"}
-        HK{"Posebno administrativno območje LR Kitajske Hong Kong"}
+        HK{"Hongkong"}
         HM{"Heardov otok in McDonaldovi otoki"}
         HN{"Honduras"}
         HR{"Hrvaška"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mjanmar (Burma)"}
         MN{"Mongolija"}
-        MO{"Posebno administrativno območje LR Kitajske Macao"}
+        MO{"Macao"}
         MP{"Severni Marianski otoki"}
         MQ{"Martinik"}
         MR{"Mavretanija"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre in Miquelon"}
         PN{"Pitcairn"}
         PR{"Portoriko"}
-        PS{"Palestinsko ozemlje"}
+        PS{"Palestina"}
         PT{"Portugalska"}
         PW{"Palau"}
         PY{"Paragvaj"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ZK"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"ZDA"}
     }
     Countries%variant{
diff --git a/source/data/region/sq.txt b/source/data/region/sq.txt
index 32ca591..e228810 100644
--- a/source/data/region/sq.txt
+++ b/source/data/region/sq.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guine-Bisau"}
         GY{"Guajanë"}
-        HK{"RVAK i Hong Kongut"}
+        HK{"Hong Kong"}
         HM{"Ishulli Hërd dhe Ishujt Mekdonaldë"}
         HN{"Honduras"}
         HR{"Kroaci"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Mianmar (Burma)"}
         MN{"Mongoli"}
-        MO{"RVAK i Makaos"}
+        MO{"Makao"}
         MP{"Ishujt e Marianës Veriore"}
         MQ{"Martinik"}
         MR{"Mauritani"}
@@ -226,7 +226,7 @@
         PM{"Shën-Peir dhe Mikuelon"}
         PN{"Ishujt Pitkernë"}
         PR{"Porto-Riko"}
-        PS{"Territoret Palestineze"}
+        PS{"Palestinë"}
         PT{"Portugali"}
         PW{"Palau"}
         PY{"Paraguai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Mbretëria e Bashkuar"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Palestinë"}
         US{"SHBA"}
     }
     Countries%variant{
diff --git a/source/data/region/sr.txt b/source/data/region/sr.txt
index 440056c..71781e2 100644
--- a/source/data/region/sr.txt
+++ b/source/data/region/sr.txt
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвинеја-Бисао"}
         GY{"Гвајана"}
-        HK{"САР Хонгконг (Кина)"}
+        HK{"Хонг Конг"}
         HM{"Острва Херд и Мекдоналд"}
         HN{"Хондурас"}
         HR{"Хрватска"}
@@ -191,7 +191,7 @@
         ML{"Мали"}
         MM{"Мијанмар (Бурма)"}
         MN{"Монголија"}
-        MO{"САР Макао (Кина)"}
+        MO{"Макао"}
         MP{"Северна Маријанска Острва"}
         MQ{"Мартиник"}
         MR{"Мауританија"}
@@ -226,7 +226,7 @@
         PM{"Сен Пјер и Микелон"}
         PN{"Питкерн"}
         PR{"Порторико"}
-        PS{"Палестинске територије"}
+        PS{"Палестина"}
         PT{"Португал"}
         PW{"Палау"}
         PY{"Парагвај"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"УК"}
-        HK{"Хонг Конг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"САД"}
     }
     Countries%variant{
diff --git a/source/data/region/sr_Latn.txt b/source/data/region/sr_Latn.txt
index 69bca1a..6ef7399 100644
--- a/source/data/region/sr_Latn.txt
+++ b/source/data/region/sr_Latn.txt
@@ -138,7 +138,7 @@
         GU{"Guam"}
         GW{"Gvineja-Bisao"}
         GY{"Gvajana"}
-        HK{"SAR Hongkong (Kina)"}
+        HK{"Hong Kong"}
         HM{"Ostrva Herd i Mekdonald"}
         HN{"Honduras"}
         HR{"Hrvatska"}
@@ -192,7 +192,7 @@
         ML{"Mali"}
         MM{"Mijanmar (Burma)"}
         MN{"Mongolija"}
-        MO{"SAR Makao (Kina)"}
+        MO{"Makao"}
         MP{"Severna Marijanska Ostrva"}
         MQ{"Martinik"}
         MR{"Mauritanija"}
@@ -227,7 +227,7 @@
         PM{"Sen Pjer i Mikelon"}
         PN{"Pitkern"}
         PR{"Portoriko"}
-        PS{"Palestinske teritorije"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paragvaj"}
@@ -301,9 +301,6 @@
     }
     Countries%short{
         GB{"UK"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Palestina"}
         US{"SAD"}
     }
     Countries%variant{
diff --git a/source/data/region/sv.txt b/source/data/region/sv.txt
index 8583b98..24bfde7 100644
--- a/source/data/region/sv.txt
+++ b/source/data/region/sv.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hongkong, S.A.R. Kina"}
+        HK{"Hongkong"}
         HM{"Heardön och McDonaldöarna"}
         HN{"Honduras"}
         HR{"Kroatien"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongoliet"}
-        MO{"Macao, S.A.R. Kina"}
+        MO{"Macao"}
         MP{"Nordmarianerna"}
         MQ{"Martinique"}
         MR{"Mauretanien"}
@@ -226,7 +226,7 @@
         PM{"S:t Pierre och Miquelon"}
         PN{"Pitcairnöarna"}
         PR{"Puerto Rico"}
-        PS{"Palestinska territorierna"}
+        PS{"Palestina"}
         PT{"Portugal"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Storbritannien"}
-        HK{"Hongkong"}
-        MO{"Macao"}
-        PS{"Palestina"}
         US{"USA"}
     }
     Countries%variant{
diff --git a/source/data/region/sw.txt b/source/data/region/sw.txt
index 5cf2ffc..3e2889b 100644
--- a/source/data/region/sw.txt
+++ b/source/data/region/sw.txt
@@ -137,7 +137,7 @@
         GU{"Gwam"}
         GW{"Ginebisau"}
         GY{"Guyana"}
-        HK{"Hong Kong SAR China"}
+        HK{"Hong Kong"}
         HM{"Kisiwa cha Heard na Visiwa vya McDonald"}
         HN{"Hondurasi"}
         HR{"Korasia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Mongolia"}
-        MO{"Macau SAR China"}
+        MO{"Macau"}
         MP{"Visiwa vya Mariana vya Kaskazini"}
         MQ{"Martiniki"}
         MR{"Moritania"}
@@ -226,7 +226,7 @@
         PM{"Santapierre na Miquelon"}
         PN{"Visiwa vya Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Maeneo ya Palestina"}
+        PS{"Palestina"}
         PT{"Ureno"}
         PW{"Palau"}
         PY{"Paragwai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Uingereza"}
-        HK{"Hong Kong"}
-        MO{"Macau"}
-        PS{"Palestina"}
         US{"US"}
     }
     Countries%variant{
diff --git a/source/data/region/ta.txt b/source/data/region/ta.txt
index 4e59a02..0c1a07e 100644
--- a/source/data/region/ta.txt
+++ b/source/data/region/ta.txt
@@ -137,7 +137,7 @@
         GU{"குவாம்"}
         GW{"கினியா-பிஸ்ஸாவ்"}
         GY{"கயானா"}
-        HK{"ஹாங்காங் எஸ்ஏஆர் சீனா"}
+        HK{"ஹாங்காங்"}
         HM{"ஹேர்ட் மற்றும் மெக்டொனால்டு தீவுகள்"}
         HN{"ஹோண்டூராஸ்"}
         HR{"குரேஷியா"}
@@ -191,7 +191,7 @@
         ML{"மாலி"}
         MM{"மியான்மார் (பர்மா)"}
         MN{"மங்கோலியா"}
-        MO{"மகாவ் எஸ்ஏஆர் சீனா"}
+        MO{"மகாவ்"}
         MP{"வடக்கு மரியானா தீவுகள்"}
         MQ{"மார்டினிக்"}
         MR{"மௌரிடானியா"}
@@ -226,7 +226,7 @@
         PM{"செயின்ட் பியர் & மிக்வேலான்"}
         PN{"பிட்கெய்ர்ன் தீவுகள்"}
         PR{"பியூர்டோ ரிகோ"}
-        PS{"பாலஸ்தீனிய பிரதேசங்கள்"}
+        PS{"பாலஸ்தீனம்"}
         PT{"போர்ச்சுக்கல்"}
         PW{"பாலோ"}
         PY{"பராகுவே"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"யூகே"}
-        HK{"ஹாங்காங்"}
-        MO{"மகாவ்"}
-        PS{"பாலஸ்தீனம்"}
         US{"யூஎஸ்"}
     }
     Countries%variant{
diff --git a/source/data/region/te.txt b/source/data/region/te.txt
index 679db86..f2450e5 100644
--- a/source/data/region/te.txt
+++ b/source/data/region/te.txt
@@ -137,7 +137,7 @@
         GU{"గ్వామ్"}
         GW{"గినియా-బిస్సావ్"}
         GY{"గయానా"}
-        HK{"హాంకాంగ్ ఎస్ఏఆర్ చైనా"}
+        HK{"హాంకాంగ్"}
         HM{"హెర్డ్ & మెక్ డొనాల్డ్ దీవులు"}
         HN{"హోండురాస్"}
         HR{"క్రోయేషియా"}
@@ -191,7 +191,7 @@
         ML{"మాలి"}
         MM{"మయన్మార్ (బర్మా)"}
         MN{"మంగోలియా"}
-        MO{"మాకావ్ ఎస్ఏఆర్ చైనా"}
+        MO{"మకావు"}
         MP{"ఉత్తర మరియానా దీవులు"}
         MQ{"మార్టినిక్"}
         MR{"మౌరిటేనియా"}
@@ -226,7 +226,7 @@
         PM{"సెంట్ పియెర్ మరియు మికెలాన్"}
         PN{"పిట్‌కెయిర్న్ దీవులు"}
         PR{"ఫ్యూర్టో రికో"}
-        PS{"పాలస్తీనియన్ ప్రాంతాలు"}
+        PS{"పాలస్తీనా"}
         PT{"పోర్చుగల్"}
         PW{"పలావు"}
         PY{"పరాగ్వే"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"యు.కె."}
-        HK{"హాంకాంగ్"}
-        MO{"మకావు"}
-        PS{"పాలస్తీనా"}
         US{"యు.ఎస్."}
     }
     Countries%variant{
diff --git a/source/data/region/th.txt b/source/data/region/th.txt
index 0d1b9e5..7e33a2c 100644
--- a/source/data/region/th.txt
+++ b/source/data/region/th.txt
@@ -137,7 +137,7 @@
         GU{"กวม"}
         GW{"กินี-บิสเซา"}
         GY{"กายอานา"}
-        HK{"เขตปกครองพิเศษฮ่องกงแห่งสาธารณรัฐประชาชนจีน"}
+        HK{"ฮ่องกง"}
         HM{"เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์"}
         HN{"ฮอนดูรัส"}
         HR{"โครเอเชีย"}
@@ -191,7 +191,7 @@
         ML{"มาลี"}
         MM{"เมียนม่าร์ (พม่า)"}
         MN{"มองโกเลีย"}
-        MO{"เขตปกครองพิเศษมาเก๊าแห่งสาธารณรัฐประชาชนจีน"}
+        MO{"มาเก๊า"}
         MP{"หมู่เกาะนอร์เทิร์นมาเรียนา"}
         MQ{"มาร์ตินีก"}
         MR{"มอริเตเนีย"}
@@ -226,7 +226,7 @@
         PM{"แซงปีแยร์และมีเกอลง"}
         PN{"หมู่เกาะพิตแคร์น"}
         PR{"เปอร์โตริโก"}
-        PS{"ดินแดนปาเลสไตน์"}
+        PS{"ปาเลสไตน์"}
         PT{"โปรตุเกส"}
         PW{"ปาเลา"}
         PY{"ปารากวัย"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"อังกฤษ"}
-        HK{"ฮ่องกง"}
-        MO{"มาเก๊า"}
-        PS{"ปาเลสไตน์"}
         US{"สหรัฐฯ"}
     }
     Countries%variant{
diff --git a/source/data/region/to.txt b/source/data/region/to.txt
index f88a90d..b45e7ba 100755
--- a/source/data/region/to.txt
+++ b/source/data/region/to.txt
@@ -137,7 +137,7 @@
         GU{"Kuamu"}
         GW{"Kini-Pisau"}
         GY{"Kuiana"}
-        HK{"Hongi Kongi SAR Siaina"}
+        HK{"Hongi Kongi"}
         HM{"ʻOtumotu Heati mo Makitonali"}
         HN{"Honitulasi"}
         HR{"Kuloisia"}
@@ -191,7 +191,7 @@
         ML{"Māli"}
         MM{"Pema"}
         MN{"Mongokōlia"}
-        MO{"Makau SAR Siaina"}
+        MO{"Makau"}
         MP{"ʻOtumotu Maliana tokelau"}
         MQ{"Māteniki"}
         MR{"Maulitenia"}
@@ -226,7 +226,7 @@
         PM{"Sā Piea mo Mikeloni"}
         PN{"ʻOtumotu Pitikeni"}
         PR{"Pueto Liko"}
-        PS{"Potu Palesitaine"}
+        PS{"Palesitaine"}
         PT{"Potukali"}
         PW{"Palau"}
         PY{"Palakuai"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Pilitānia"}
-        HK{"Hongi Kongi"}
-        MO{"Makau"}
-        PS{"Palesitaine"}
         US{"ʻAmelika"}
     }
     Countries%variant{
diff --git a/source/data/region/tr.txt b/source/data/region/tr.txt
index c039138..a3108aa 100644
--- a/source/data/region/tr.txt
+++ b/source/data/region/tr.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gine-Bissau"}
         GY{"Guyana"}
-        HK{"Çin Hong Kong ÖYB"}
+        HK{"Hong Kong"}
         HM{"Heard Adası ve McDonald Adaları"}
         HN{"Honduras"}
         HR{"Hırvatistan"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Burma)"}
         MN{"Moğolistan"}
-        MO{"Çin Makao ÖYB"}
+        MO{"Makao"}
         MP{"Kuzey Mariana Adaları"}
         MQ{"Martinik"}
         MR{"Moritanya"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre ve Miquelon"}
         PN{"Pitcairn Adaları"}
         PR{"Porto Riko"}
-        PS{"Filistin Bölgeleri"}
+        PS{"Filistin"}
         PT{"Portekiz"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"BK"}
-        HK{"Hong Kong"}
-        MO{"Makao"}
-        PS{"Filistin"}
         US{"ABD"}
     }
     Countries%variant{
diff --git a/source/data/region/ug.txt b/source/data/region/ug.txt
index c3fbae7..a71ebeb 100755
--- a/source/data/region/ug.txt
+++ b/source/data/region/ug.txt
@@ -137,7 +137,7 @@
         GU{"گۇئام"}
         GW{"گىۋىنېيە-بىسسائۇ"}
         GY{"گىۋىيانا"}
-        HK{"شياڭگاڭ ئالاھىدە مەمۇرىي رايونى (جۇڭگو)"}
+        HK{"شياڭگاڭ"}
         HM{"خېرد ۋە ماك-دونالد ئارىلى"}
         HN{"ھوندۇراس"}
         HR{"كىرودىيە"}
@@ -191,7 +191,7 @@
         ML{"مالى"}
         MM{"بىرما"}
         MN{"موڭغۇلىيە"}
-        MO{"ئاۋمېن ئالاھىدە مەمۇرىي رايونى (جۇڭگو)"}
+        MO{"ئاۋمېن"}
         MP{"شىمالىي مارىيانا ئاراللىرى"}
         MQ{"مارتىنىكا"}
         MR{"ماۋرىتانىيە"}
@@ -226,7 +226,7 @@
         PM{"ساينىت-پىئېر ۋە مىكېلون ئاراللىرى"}
         PN{"پىتكاير ئاراللىرى"}
         PR{"پۇئېرتو-رىكو"}
-        PS{"پەلەستىن زېمىنى"}
+        PS{"پەلەستىن"}
         PT{"پورتۇگالىيە"}
         PW{"پالاۋ"}
         PY{"پاراگۋاي"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"ئەنگلىيە"}
-        HK{"شياڭگاڭ"}
-        MO{"ئاۋمېن"}
-        PS{"پەلەستىن"}
         US{"ئا ق ش"}
     }
     Countries%variant{
diff --git a/source/data/region/uk.txt b/source/data/region/uk.txt
index d76f66c..82b8d9b 100644
--- a/source/data/region/uk.txt
+++ b/source/data/region/uk.txt
@@ -115,7 +115,7 @@
         FI{"Фінляндія"}
         FJ{"Фіджі"}
         FK{"Фолклендські острови"}
-        FM{"Мікронезія"}
+        FM{"Мікронезія Федеративні Штати"}
         FO{"Фарерські острови"}
         FR{"Франція"}
         GA{"Габон"}
@@ -137,7 +137,7 @@
         GU{"Гуам"}
         GW{"Гвінея-Бісау"}
         GY{"Гаяна"}
-        HK{"Гонконг, О.А.Р. Китаю"}
+        HK{"Гонконг"}
         HM{"Острови Херд і Мак-Дональд"}
         HN{"Гондурас"}
         HR{"Хорватія"}
@@ -191,7 +191,7 @@
         ML{"Малі"}
         MM{"Мʼянма (Бірма)"}
         MN{"Монголія"}
-        MO{"Макао, О.А.Р Китаю"}
+        MO{"Макао"}
         MP{"Північні Маріанські острови"}
         MQ{"Мартиніка"}
         MR{"Мавританія"}
@@ -226,7 +226,7 @@
         PM{"Сен-Пʼєр і Мікелон"}
         PN{"Острови Піткерн"}
         PR{"Пуерто-Рико"}
-        PS{"Палестинські території"}
+        PS{"Палестина"}
         PT{"Португалія"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Велика Британія"}
-        HK{"Гонконг"}
-        MO{"Макао"}
-        PS{"Палестина"}
         US{"США"}
     }
     Countries%variant{
diff --git a/source/data/region/ur.txt b/source/data/region/ur.txt
index da500ef..c3205cf 100644
--- a/source/data/region/ur.txt
+++ b/source/data/region/ur.txt
@@ -137,7 +137,7 @@
         GU{"گوآم"}
         GW{"گنی بساؤ"}
         GY{"گیانا"}
-        HK{"ہانگ کانگ SAR چین"}
+        HK{"ہانگ کانگ"}
         HM{"ہیئرڈ آئلینڈ اور میکڈونالڈ آئلینڈز"}
         HN{"ہونڈاروس"}
         HR{"کروشیا"}
@@ -191,7 +191,7 @@
         ML{"مالی"}
         MM{"میانمار (برما)"}
         MN{"منگولیا"}
-        MO{"مکاؤ SAR چین"}
+        MO{"مکاؤ"}
         MP{"شمالی ماریانا آئلینڈز"}
         MQ{"مارٹینک"}
         MR{"موریطانیہ"}
@@ -226,7 +226,7 @@
         PM{"سینٹ پیئر اور میکلیئون"}
         PN{"پٹکائرن جزائر"}
         PR{"پیورٹو ریکو"}
-        PS{"فلسطینی خطے"}
+        PS{"فلسطین"}
         PT{"پرتگال"}
         PW{"پلاؤ"}
         PY{"پیراگوئے"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"یو کے"}
-        HK{"ہانگ کانگ"}
-        MO{"مکاؤ"}
-        PS{"فلسطین"}
         US{"امریکا"}
     }
     Countries%variant{
diff --git a/source/data/region/uz.txt b/source/data/region/uz.txt
index a5f016e..30cae05 100644
--- a/source/data/region/uz.txt
+++ b/source/data/region/uz.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Gvineya-Bisau"}
         GY{"Gayana"}
-        HK{"Gonkong (Xitoy MMH)"}
+        HK{"Gonkong"}
         HM{"Xerd va Makdonald orollari"}
         HN{"Gonduras"}
         HR{"Xorvatiya"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanma (Birma)"}
         MN{"Mongoliya"}
-        MO{"Makao (Xitoy MMH)"}
+        MO{"Makao"}
         MP{"Shimoliy Mariana orollari"}
         MQ{"Martinika"}
         MR{"Mavritaniya"}
@@ -226,7 +226,7 @@
         PM{"Sent-Pyer va Mikelon"}
         PN{"Pitkern orollari"}
         PR{"Puerto-Riko"}
-        PS{"Falastin hududi"}
+        PS{"Falastin"}
         PT{"Portugaliya"}
         PW{"Palau"}
         PY{"Paragvay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"B.Q."}
-        HK{"Gonkong"}
-        MO{"Makao"}
-        PS{"Falastin"}
         US{"AQSH"}
     }
     Countries%variant{
diff --git a/source/data/region/uz_Cyrl.txt b/source/data/region/uz_Cyrl.txt
index b9e6222..d78fcaa 100644
--- a/source/data/region/uz_Cyrl.txt
+++ b/source/data/region/uz_Cyrl.txt
@@ -138,7 +138,7 @@
         GU{"Гуам"}
         GW{"Гвинея-Бисау"}
         GY{"Гаяна"}
-        HK{"Гонконг Хитой ММҲ"}
+        HK{"Гонконг"}
         HM{"Герд ороли ва МакДоналд ороллари"}
         HN{"Гондурас"}
         HR{"Хорватия"}
@@ -192,7 +192,7 @@
         ML{"Мали"}
         MM{"Мьянма (Бирма)"}
         MN{"Муғулистон"}
-        MO{"Макао Хитой ММҲ"}
+        MO{"Макао"}
         MP{"Шимолий Марианна ороллари"}
         MQ{"Мартиника"}
         MR{"Мавритания"}
@@ -227,7 +227,7 @@
         PM{"Сент-Пьер ва Микелон"}
         PN{"Питкарин ороллари"}
         PR{"Пуэрто-Рико"}
-        PS{"Фаластин ҳудуди"}
+        PS{"Фаластина"}
         PT{"Португалия"}
         PW{"Палау"}
         PY{"Парагвай"}
@@ -301,9 +301,6 @@
     }
     Countries%short{
         GB{"Бирлашган Қироллик"}
-        HK{"Гонконг"}
-        MO{"Макао"}
-        PS{"Фаластина"}
         US{"АКШ"}
     }
     Countries%variant{
diff --git a/source/data/region/vi.txt b/source/data/region/vi.txt
index 1552ea2..a46bdd7 100644
--- a/source/data/region/vi.txt
+++ b/source/data/region/vi.txt
@@ -137,7 +137,7 @@
         GU{"Guam"}
         GW{"Guinea-Bissau"}
         GY{"Guyana"}
-        HK{"Hồng Kông, Trung Quốc"}
+        HK{"Hồng Kông"}
         HM{"Quần đảo Heard và McDonald"}
         HN{"Honduras"}
         HR{"Croatia"}
@@ -191,7 +191,7 @@
         ML{"Mali"}
         MM{"Myanmar (Miến Điện)"}
         MN{"Mông Cổ"}
-        MO{"Macao, Trung Quốc"}
+        MO{"Macao"}
         MP{"Quần đảo Bắc Mariana"}
         MQ{"Martinique"}
         MR{"Mauritania"}
@@ -226,7 +226,7 @@
         PM{"Saint Pierre và Miquelon"}
         PN{"Quần đảo Pitcairn"}
         PR{"Puerto Rico"}
-        PS{"Lãnh thổ Palestine"}
+        PS{"Palestine"}
         PT{"Bồ Đào Nha"}
         PW{"Palau"}
         PY{"Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"Vương quốc Anh"}
-        HK{"Hồng Kông"}
-        MO{"Macao"}
-        PS{"Palestine"}
         US{"Hoa Kỳ"}
     }
     Countries%variant{
diff --git a/source/data/region/wae.txt b/source/data/region/wae.txt
index b3d6a6c..0626281 100644
--- a/source/data/region/wae.txt
+++ b/source/data/region/wae.txt
@@ -135,7 +135,7 @@
         GU{"Guam"}
         GW{"Ginea Bissau"}
         GY{"Guyana"}
-        HK{"Sonderverwaltigszona Hongkong"}
+        HK{"Hongkong"}
         HM{"Heard- und McDonald-Inslä"}
         HN{"Honduras"}
         HR{"Kroatie"}
@@ -189,7 +189,7 @@
         ML{"Mali"}
         MM{"Burma"}
         MN{"Mongolei"}
-        MO{"Sonderverwaltigszona Makau"}
+        MO{"Makau"}
         MP{"Nördliči Mariane"}
         MQ{"Martinique"}
         MR{"Mauretanie"}
@@ -293,10 +293,6 @@
         ZW{"Simbabwe"}
         ZZ{"Unbekannti Regio"}
     }
-    Countries%short{
-        HK{"Hongkong"}
-        MO{"Makau"}
-    }
     Countries%variant{
         CD{"Kongo (Demokratiši Rebublik)"}
         CG{"Kongo (Rebublik)"}
diff --git a/source/data/region/zh.txt b/source/data/region/zh.txt
index 8284be0..ca5c0c5 100644
--- a/source/data/region/zh.txt
+++ b/source/data/region/zh.txt
@@ -137,7 +137,7 @@
         GU{"关岛"}
         GW{"几内亚比绍"}
         GY{"圭亚那"}
-        HK{"中国香港特别行政区"}
+        HK{"香港"}
         HM{"赫德岛和麦克唐纳群岛"}
         HN{"洪都拉斯"}
         HR{"克罗地亚"}
@@ -191,7 +191,7 @@
         ML{"马里"}
         MM{"缅甸"}
         MN{"蒙古"}
-        MO{"中国澳门特别行政区"}
+        MO{"澳门"}
         MP{"北马里亚纳群岛"}
         MQ{"马提尼克"}
         MR{"毛里塔尼亚"}
@@ -226,7 +226,7 @@
         PM{"圣皮埃尔和密克隆群岛"}
         PN{"皮特凯恩群岛"}
         PR{"波多黎各"}
-        PS{"巴勒斯坦领土"}
+        PS{"巴勒斯坦"}
         PT{"葡萄牙"}
         PW{"帕劳"}
         PY{"巴拉圭"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"英国"}
-        HK{"香港"}
-        MO{"澳门"}
-        PS{"巴勒斯坦"}
         US{"美国"}
     }
     Countries%variant{
diff --git a/source/data/region/zh_Hant.txt b/source/data/region/zh_Hant.txt
index 4719e8b..c93ba9d 100644
--- a/source/data/region/zh_Hant.txt
+++ b/source/data/region/zh_Hant.txt
@@ -138,7 +138,7 @@
         GU{"關島"}
         GW{"幾內亞比索"}
         GY{"蓋亞那"}
-        HK{"中華人民共和國香港特別行政區"}
+        HK{"香港"}
         HM{"赫德島和麥克唐納群島"}
         HN{"宏都拉斯"}
         HR{"克羅埃西亞"}
@@ -192,7 +192,7 @@
         ML{"馬利"}
         MM{"緬甸"}
         MN{"蒙古"}
-        MO{"中華人民共和國澳門特別行政區"}
+        MO{"澳門"}
         MP{"北馬里亞納群島"}
         MQ{"馬丁尼克島"}
         MR{"茅利塔尼亞"}
@@ -227,7 +227,7 @@
         PM{"聖皮埃爾和密克隆群島"}
         PN{"皮特肯群島"}
         PR{"波多黎各"}
-        PS{"巴勒斯坦自治區"}
+        PS{"巴勒斯坦"}
         PT{"葡萄牙"}
         PW{"帛琉"}
         PY{"巴拉圭"}
@@ -301,9 +301,6 @@
     }
     Countries%short{
         GB{"英國"}
-        HK{"香港"}
-        MO{"澳門"}
-        PS{"巴勒斯坦"}
         US{"美國"}
     }
     Countries%variant{
diff --git a/source/data/region/zu.txt b/source/data/region/zu.txt
index 4a90065..7bfa116 100644
--- a/source/data/region/zu.txt
+++ b/source/data/region/zu.txt
@@ -137,7 +137,7 @@
         GU{"i-Guam"}
         GW{"i-Guinea-Bissau"}
         GY{"i-Guyana"}
-        HK{"i-Hong Kong SAR China"}
+        HK{"i-Hong Kong"}
         HM{"i-Heard Island ne-McDonald Islands"}
         HN{"i-Honduras"}
         HR{"i-Croatia"}
@@ -191,7 +191,7 @@
         ML{"iMali"}
         MM{"i-Myanmar (Burma)"}
         MN{"i-Mongolia"}
-        MO{"i-Macau SAR China"}
+        MO{"i-Macau"}
         MP{"i-Northern Mariana Islands"}
         MQ{"i-Martinique"}
         MR{"i-Mauritania"}
@@ -226,7 +226,7 @@
         PM{"i-Saint Pierre kanye ne-Miquelon"}
         PN{"i-Pitcairn Islands"}
         PR{"i-Puerto Rico"}
-        PS{"i-Palestinian Territories"}
+        PS{"i-Phalestine"}
         PT{"i-Portugal"}
         PW{"i-Palau"}
         PY{"i-Paraguay"}
@@ -300,9 +300,6 @@
     }
     Countries%short{
         GB{"i-U.K."}
-        HK{"i-Hong Kong"}
-        MO{"i-Macau"}
-        PS{"i-Phalestine"}
         US{"i-U.S"}
     }
     Countries%variant{
diff --git a/source/data/zone/ko.txt b/source/data/zone/ko.txt
index af6dda5..690ad10 100644
--- a/source/data/zone/ko.txt
+++ b/source/data/zone/ko.txt
@@ -1300,24 +1300,24 @@
             ls{"아마존 표준시"}
         }
         "meta:America_Central"{
-            ld{"미 중부 하계 표준시"}
-            lg{"미 중부 시간"}
-            ls{"미 중부 표준시"}
+            ld{"묵미 중부 하계 표준시"}
+            lg{"묵미 중부 시간"}
+            ls{"묵미 중부 표준시"}
         }
         "meta:America_Eastern"{
-            ld{"미 동부 하계 표준시"}
-            lg{"미 동부 시간"}
-            ls{"미 동부 표준시"}
+            ld{"묵미 동부 하계 표준시"}
+            lg{"묵미 동부 시간"}
+            ls{"묵미 동부 표준시"}
         }
         "meta:America_Mountain"{
-            ld{"미 산지 하계 표준시"}
-            lg{"미 산지 시간"}
-            ls{"미 산악 표준시"}
+            ld{"묵미 로키 산맥 하계 표준시"}
+            lg{"묵미 로키 산맥 시간"}
+            ls{"북미 로키 산맥 표준시"}
         }
         "meta:America_Pacific"{
-            ld{"미 태평양 하계 표준시"}
-            lg{"미 태평양 시간"}
-            ls{"미 태평양 표준시"}
+            ld{"북미 태평양 하계 표준시"}
+            lg{"묵미 태평양 시간"}
+            ls{"묵미 태평양 표준시"}
         }
         "meta:Anadyr"{
             ld{"아나디리 하계 표준시"}
@@ -1360,29 +1360,29 @@
             ls{"아르메니아 표준시"}
         }
         "meta:Atlantic"{
-            ld{"미 대서양 하계 표준시"}
-            lg{"대서양 시간"}
-            ls{"대서양 표준시"}
+            ld{"북미 대서양 하계 표준시"}
+            lg{"북미 대서양 시간"}
+            ls{"북미 대서양 표준시"}
         }
         "meta:Australia_Central"{
-            ld{"오스트레일리아 중부 하계 표준시"}
-            lg{"오스트레일리아 중부 시간"}
-            ls{"오스트레일리아 중부 표준시"}
+            ld{"호주 중부 하계 표준시"}
+            lg{"호주 중부 시간"}
+            ls{"호주 중부 표준시"}
         }
         "meta:Australia_CentralWestern"{
-            ld{"오스트레일리아 중서부 하계 표준시"}
-            lg{"오스트레일리아 중서부 시간"}
-            ls{"오스트레일리아 중서부 표준시"}
+            ld{"호주 중서부 하계 표준시"}
+            lg{"호주 중서부 시간"}
+            ls{"호주 중서부 표준시"}
         }
         "meta:Australia_Eastern"{
-            ld{"오스트레일리아 동부 하계 표준시"}
-            lg{"오스트레일리아 동부 시간"}
-            ls{"오스트레일리아 동부 표준시"}
+            ld{"호주 동부 하계 표준시"}
+            lg{"호주 동부 시간"}
+            ls{"호주 동부 표준시"}
         }
         "meta:Australia_Western"{
-            ld{"오스트레일리아 서부 하계 표준시"}
-            lg{"오스트레일리아 서부 시간"}
-            ls{"오스트레일리아 서부 표준시"}
+            ld{"호주 서부 하계 표준시"}
+            lg{"호주 서부 시간"}
+            ls{"호주 서부 표준시"}
         }
         "meta:Azerbaijan"{
             ld{"아제르바이잔 하계 표준시"}
@@ -1614,9 +1614,9 @@
             ls{"서부 카자흐스탄 시간"}
         }
         "meta:Korea"{
-            ld{"대한민국 하계 표준시"}
-            lg{"대한민국 시간"}
-            ls{"대한민국 표준시"}
+            ld{"한국 하계 표준시"}
+            lg{"한국 시간"}
+            ls{"한국 표준시"}
         }
         "meta:Kosrae"{
             ls{"코스라에섬 시간"}
diff --git a/source/data/zone/zh.txt b/source/data/zone/zh.txt
index 0f03f29..248682b 100644
--- a/source/data/zone/zh.txt
+++ b/source/data/zone/zh.txt
@@ -833,6 +833,12 @@
         }
         "Asia:Taipei"{
             ec{"台北"}
+            ld{"台北夏令时间"}
+            lg{"台北时间"}
+            ls{"台北标准时间"}
+            sd{"台北"}
+            sg{"台北"}
+            ss{"台北"}
         }
         "Asia:Tashkent"{
             ec{"塔什干"}
diff --git a/source/data/zone/zh_Hant.txt b/source/data/zone/zh_Hant.txt
index 4f8eaf0..d328066 100644
--- a/source/data/zone/zh_Hant.txt
+++ b/source/data/zone/zh_Hant.txt
@@ -834,6 +834,12 @@
         }
         "Asia:Taipei"{
             ec{"台北"}
+            ld{"台北夏令時間"}
+            lg{"台北時間"}
+            ls{"台北標準時間"}
+            sd{"台北"}
+            sg{"台北"}
+            ss{"台北"}
         }
         "Asia:Tashkent"{
             ec{"塔什干"}
diff --git a/source/i18n/region.cpp b/source/i18n/region.cpp
index 085f704..15c5dd0 100644
--- a/source/i18n/region.cpp
+++ b/source/i18n/region.cpp
@@ -67,8 +67,7 @@
 static const UChar UNKNOWN_REGION_ID [] = { 0x5A, 0x5A, 0 };  /* "ZZ" */
 static const UChar OUTLYING_OCEANIA_REGION_ID [] = { 0x51, 0x4F, 0 };  /* "QO" */
 static const UChar WORLD_ID [] = { 0x30, 0x30, 0x31, 0 };  /* "001" */
-static const UChar RANGE_MARKER [] = { 0x7e, 0 }; /* "~" */
-static const UnicodeString RANGE_MARKER_STRING(RANGE_MARKER);
+static const UChar RANGE_MARKER = 0x7eu; /* '~' */
 
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(RegionNameEnumeration)
 
@@ -121,7 +120,7 @@
 
     while ( ures_hasNext(regionRegular.getAlias()) ) {
         UnicodeString regionName = ures_getNextUnicodeString(regionRegular.getAlias(),NULL,&status);
-        int32_t rangeMarkerLocation = regionName.indexOf(RANGE_MARKER_STRING);
+        int32_t rangeMarkerLocation = regionName.indexOf(RANGE_MARKER);
         UChar buf[6];
         regionName.extract(buf,6,status);
         if ( rangeMarkerLocation > 0 ) {
@@ -140,7 +139,7 @@
 
     while ( ures_hasNext(regionMacro.getAlias()) ) {
         UnicodeString regionName = ures_getNextUnicodeString(regionMacro.getAlias(),NULL,&status);
-        int32_t rangeMarkerLocation = regionName.indexOf(RANGE_MARKER_STRING);
+        int32_t rangeMarkerLocation = regionName.indexOf(RANGE_MARKER);
         UChar buf[6];
         regionName.extract(buf,6,status);
         if ( rangeMarkerLocation > 0 ) {
diff --git a/source/i18n/timezone.cpp b/source/i18n/timezone.cpp
index 59c3891..00eca38 100644
--- a/source/i18n/timezone.cpp
+++ b/source/i18n/timezone.cpp
@@ -458,6 +458,8 @@
 
     uprv_tzset(); // Initialize tz... system data
 
+    uprv_tzname_clear_cache();
+
     // Get the timezone ID from the host.  This function should do
     // any required host-specific remapping; e.g., on Windows this
     // function maps the Date and Time control panel setting to an
diff --git a/source/stubdata/stubdata.c b/source/stubdata/stubdata.c
index 69a5876..1426497 100644
--- a/source/stubdata/stubdata.c
+++ b/source/stubdata/stubdata.c
@@ -20,45 +20,34 @@
 #include "unicode/utypes.h"
 #include "unicode/udata.h"
 #include "unicode/uversion.h"
+#include "ucmndata.h"
 
 
-typedef struct {
-    uint16_t headerSize;
-    uint8_t magic1, magic2;
-    UDataInfo info;
-    char padding[8];
-    uint32_t count, reserved;
-    /*
-    const struct {
-    const char *const name; 
-    const void *const data;
-    } toc[1];
-    */
-   int   fakeNameAndData[4];       /* TODO:  Change this header type from */
-                                   /*        pointerTOC to OffsetTOC.     */
-} ICU_Data_Header;
-
 U_EXPORT const ICU_Data_Header U_ICUDATA_ENTRY_POINT = {
-    32,          /* headerSize */
-    0xda,        /* magic1,  (see struct MappedData in udata.c)  */
-    0x27,        /* magic2     */
-    {            /*UDataInfo   */
-        sizeof(UDataInfo),      /* size        */
-        0,                      /* reserved    */
+    {            /* DataHeader */
+        {            /* MappedData */
+            32,          /* headerSize */
+            0xda,        /* magic1,  (see struct MappedData in udata.c)  */
+            0x27,        /* magic2     */
+        },
+        {            /*UDataInfo   */
+            sizeof(UDataInfo),      /* size        */
+            0,                      /* reserved    */
 
 #if U_IS_BIG_ENDIAN
-        1,
+            1,
 #else
-        0,
+            0,
 #endif
 
-        U_CHARSET_FAMILY,
-        sizeof(UChar),   
-        0,               /* reserved      */
-        {                /* data format identifier */
-           0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
-           {1, 0, 0, 0},   /* format version major, minor, milli, micro */
-           {0, 0, 0, 0}    /* dataVersion   */
+            U_CHARSET_FAMILY,
+            sizeof(UChar),
+            0,               /* reserved      */
+            {                /* data format identifier */
+               0x54, 0x6f, 0x43, 0x50}, /* "ToCP" */
+               {1, 0, 0, 0},   /* format version major, minor, milli, micro */
+               {0, 0, 0, 0}    /* dataVersion   */
+        },
     },
     {0,0,0,0,0,0,0,0},  /* Padding[8]   */ 
     0,                  /* count        */