about summary refs log tree commit diff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/C-translit.h759
-rw-r--r--locale/C-translit.h.in3
-rw-r--r--locale/Makefile6
-rw-r--r--locale/SYS_libc.c4
-rw-r--r--locale/duplocale.c4
-rw-r--r--locale/findlocale.c11
-rw-r--r--locale/freelocale.c4
-rw-r--r--locale/iso-3166.def3
-rw-r--r--locale/iso-4217.def34
-rw-r--r--locale/iso-639.def121
-rw-r--r--locale/langinfo.h10
-rw-r--r--locale/lc-ctype.c6
-rw-r--r--locale/loadarchive.c4
-rw-r--r--locale/loadlocale.c6
-rw-r--r--locale/localeinfo.h25
-rw-r--r--locale/newlocale.c9
-rw-r--r--locale/nl_langinfo.c15
-rw-r--r--locale/programs/3level.h58
-rw-r--r--locale/programs/charmap-dir.c22
-rw-r--r--locale/programs/charmap-dir.h22
-rw-r--r--locale/programs/charmap-kw.gperf22
-rw-r--r--locale/programs/charmap-kw.h102
-rw-r--r--locale/programs/charmap.c41
-rw-r--r--locale/programs/charmap.h25
-rw-r--r--locale/programs/config.h22
-rw-r--r--locale/programs/ld-address.c38
-rw-r--r--locale/programs/ld-collate.c42
-rw-r--r--locale/programs/ld-ctype.c53
-rw-r--r--locale/programs/ld-identification.c22
-rw-r--r--locale/programs/ld-measurement.c22
-rw-r--r--locale/programs/ld-messages.c22
-rw-r--r--locale/programs/ld-monetary.c22
-rw-r--r--locale/programs/ld-name.c22
-rw-r--r--locale/programs/ld-numeric.c43
-rw-r--r--locale/programs/ld-paper.c22
-rw-r--r--locale/programs/ld-telephone.c22
-rw-r--r--locale/programs/ld-time.c52
-rw-r--r--locale/programs/linereader.c32
-rw-r--r--locale/programs/linereader.h22
-rw-r--r--locale/programs/locale-spec.c22
-rw-r--r--locale/programs/locale.c24
-rw-r--r--locale/programs/localedef.c54
-rw-r--r--locale/programs/localedef.h22
-rw-r--r--locale/programs/locarchive.c22
-rw-r--r--locale/programs/locfile-kw.gperf22
-rw-r--r--locale/programs/locfile-kw.h729
-rw-r--r--locale/programs/locfile-token.h22
-rw-r--r--locale/programs/locfile.c31
-rw-r--r--locale/programs/locfile.h22
-rw-r--r--locale/programs/repertoire.c24
-rw-r--r--locale/programs/repertoire.h22
-rw-r--r--locale/programs/simple-hash.c26
-rw-r--r--locale/programs/simple-hash.h22
-rw-r--r--locale/programs/xmalloc.c23
-rw-r--r--locale/programs/xstrdup.c22
-rw-r--r--locale/setlocale.c33
-rw-r--r--locale/weightwc.h14
-rw-r--r--locale/xlocale.c4
58 files changed, 1309 insertions, 1625 deletions
diff --git a/locale/C-translit.h b/locale/C-translit.h
index adb009ba56..568db4866f 100644
--- a/locale/C-translit.h
+++ b/locale/C-translit.h
@@ -1,4 +1,4 @@
-#define NTRANSLIT 1353
+#define NTRANSLIT 1352
 static const uint32_t translit_from_idx[] =
 {
      0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22,
@@ -113,7 +113,7 @@ static const uint32_t translit_from_idx[] =
   2616, 2618, 2620, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2636, 2638,
   2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, 2656, 2658, 2660, 2662,
   2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2682, 2684, 2686,
-  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704
+  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702
 };
 static const wchar_t translit_from_tbl[] =
   L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae"
@@ -132,336 +132,335 @@ static const wchar_t translit_from_tbl[] =
   L"\0" L"\x201d" L"\0" L"\x201e" L"\0" L"\x201f" L"\0" L"\x2020" L"\0"
   L"\x2022" L"\0" L"\x2024" L"\0" L"\x2025" L"\0" L"\x2026" L"\0" L"\x202f"
   L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" L"\0" L"\x2039" L"\0"
-  L"\x203a" L"\0" L"\x203c" L"\0" L"\x2044" L"\0" L"\x2047" L"\0" L"\x2048"
-  L"\0" L"\x2049" L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0"
-  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100"
-  L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0"
-  L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e"
-  L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0"
-  L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b"
-  L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0"
-  L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d"
-  L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0"
-  L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146"
-  L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0"
-  L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158"
-  L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0"
-  L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161"
-  L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0"
-  L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a"
-  L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0"
-  L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173"
-  L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0"
-  L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c"
-  L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0"
-  L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4"
-  L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0"
-  L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265"
-  L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0"
-  L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404"
-  L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0"
-  L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d"
-  L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0"
-  L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416"
-  L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0"
-  L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f"
-  L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0"
-  L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464"
-  L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0"
-  L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d"
-  L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0"
-  L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476"
-  L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0"
-  L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f"
-  L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0"
-  L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488"
-  L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0"
-  L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491"
-  L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0"
-  L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a"
-  L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0"
-  L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3"
-  L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0"
-  L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac"
-  L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0"
-  L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5"
-  L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0"
-  L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be"
-  L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0"
-  L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7"
-  L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0"
-  L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0"
-  L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0"
-  L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9"
-  L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0"
-  L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2"
-  L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0"
-  L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500"
-  L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0"
-  L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534"
-  L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0"
-  L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252"
-  L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0"
-  L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b"
-  L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0"
-  L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5"
-  L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0"
-  L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be"
-  L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0"
-  L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381"
-  L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0"
-  L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a"
-  L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0"
-  L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393"
-  L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0"
-  L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c"
-  L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0"
-  L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5"
-  L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0"
-  L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae"
-  L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0"
-  L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7"
-  L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0"
-  L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2"
-  L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0"
-  L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb"
-  L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0"
-  L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4"
-  L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0"
-  L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd"
-  L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0"
-  L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01"
-  L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0"
-  L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a"
-  L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0"
-  L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50"
-  L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0"
-  L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c"
-  L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0"
-  L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68"
-  L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0"
-  L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05"
-  L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0"
-  L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e"
-  L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0"
-  L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17"
-  L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0"
-  L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20"
-  L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0"
-  L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29"
-  L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0"
-  L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32"
-  L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0"
-  L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b"
-  L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0"
-  L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44"
-  L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0"
-  L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d"
-  L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0"
-  L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56"
-  L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0"
-  L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0"
-  L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403"
-  L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0"
-  L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a"
-  L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0"
-  L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411"
-  L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0"
-  L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418"
-  L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0"
-  L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f"
-  L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0"
-  L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426"
-  L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0"
-  L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d"
-  L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0"
-  L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434"
-  L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0"
-  L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b"
-  L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0"
-  L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442"
-  L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0"
-  L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449"
-  L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0"
-  L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450"
-  L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0"
-  L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458"
-  L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0"
-  L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f"
-  L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0"
-  L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466"
-  L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0"
-  L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d"
-  L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0"
-  L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474"
-  L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0"
-  L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b"
-  L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0"
-  L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482"
-  L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0"
-  L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489"
-  L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0"
-  L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490"
-  L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0"
-  L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497"
-  L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0"
-  L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f"
-  L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0"
-  L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac"
-  L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0"
-  L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4"
-  L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0"
-  L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd"
-  L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0"
-  L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6"
-  L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0"
-  L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd"
-  L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0"
-  L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4"
-  L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0"
-  L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db"
-  L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0"
-  L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2"
-  L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0"
-  L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9"
-  L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0"
-  L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0"
-  L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0"
-  L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7"
-  L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0"
-  L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe"
-  L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0"
-  L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505"
-  L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0"
-  L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f"
-  L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0"
-  L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517"
-  L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0"
-  L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f"
-  L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0"
-  L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526"
-  L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0"
-  L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d"
-  L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0"
-  L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534"
-  L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0"
-  L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c"
-  L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0"
-  L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544"
-  L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0"
-  L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f"
-  L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0"
-  L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557"
-  L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0"
-  L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e"
-  L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0"
-  L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565"
-  L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0"
-  L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c"
-  L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0"
-  L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573"
-  L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0"
-  L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a"
-  L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0"
-  L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581"
-  L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0"
-  L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588"
-  L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0"
-  L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f"
-  L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0"
-  L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596"
-  L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0"
-  L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d"
-  L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0"
-  L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4"
-  L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0"
-  L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab"
-  L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0"
-  L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2"
-  L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0"
-  L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9"
-  L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0"
-  L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0"
-  L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0"
-  L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7"
-  L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0"
-  L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce"
-  L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0"
-  L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5"
-  L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0"
-  L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc"
-  L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0"
-  L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3"
-  L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0"
-  L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea"
-  L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0"
-  L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1"
-  L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0"
-  L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8"
-  L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0"
-  L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff"
-  L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0"
-  L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606"
-  L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0"
-  L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d"
-  L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0"
-  L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614"
-  L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0"
-  L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b"
-  L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0"
-  L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622"
-  L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0"
-  L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629"
-  L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0"
-  L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630"
-  L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0"
-  L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637"
-  L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0"
-  L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e"
-  L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0"
-  L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645"
-  L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0"
-  L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c"
-  L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0"
-  L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653"
-  L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0"
-  L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a"
-  L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0"
-  L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661"
-  L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0"
-  L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668"
-  L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0"
-  L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f"
-  L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0"
-  L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676"
-  L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0"
-  L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d"
-  L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0"
-  L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684"
-  L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0"
-  L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b"
-  L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0"
-  L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692"
-  L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0"
-  L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699"
-  L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0"
-  L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0"
-  L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0"
-  L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1"
-  L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0"
-  L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8"
-  L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0"
-  L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df"
-  L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0"
-  L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6"
-  L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0"
-  L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed"
-  L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0"
-  L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4"
-  L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0"
-  L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb"
-  L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0"
-  L"\x0001d7ff";
+  L"\x203a" L"\0" L"\x203c" L"\0" L"\x2047" L"\0" L"\x2048" L"\0" L"\x2049"
+  L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0" L"\x2062" L"\0"
+  L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100" L"\0" L"\x2101"
+  L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0" L"\x210a" L"\0"
+  L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e" L"\0" L"\x2110"
+  L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0" L"\x2115" L"\0"
+  L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b" L"\0" L"\x211c"
+  L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0" L"\x2124" L"\0"
+  L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d" L"\0" L"\x212e"
+  L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0" L"\x2133" L"\0"
+  L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146" L"\0" L"\x2147"
+  L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0" L"\x2154" L"\0"
+  L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158" L"\0" L"\x2159"
+  L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0" L"\x215d" L"\0"
+  L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161" L"\0" L"\x2162"
+  L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0" L"\x2166" L"\0"
+  L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a" L"\0" L"\x216b"
+  L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0" L"\x216f" L"\0"
+  L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173" L"\0" L"\x2174"
+  L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0" L"\x2178" L"\0"
+  L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c" L"\0" L"\x217d"
+  L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0" L"\x2192" L"\0"
+  L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4" L"\0" L"\x2212"
+  L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0" L"\x2223" L"\0"
+  L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265" L"\0" L"\x226a"
+  L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0" L"\x2400" L"\0"
+  L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404" L"\0" L"\x2405"
+  L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0" L"\x2409" L"\0"
+  L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d" L"\0" L"\x240e"
+  L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0" L"\x2412" L"\0"
+  L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416" L"\0" L"\x2417"
+  L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0" L"\x241b" L"\0"
+  L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f" L"\0" L"\x2420"
+  L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0" L"\x2460" L"\0"
+  L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464" L"\0" L"\x2465"
+  L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0" L"\x2469" L"\0"
+  L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d" L"\0" L"\x246e"
+  L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0" L"\x2472" L"\0"
+  L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476" L"\0" L"\x2477"
+  L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0" L"\x247b" L"\0"
+  L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f" L"\0" L"\x2480"
+  L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0" L"\x2484" L"\0"
+  L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488" L"\0" L"\x2489"
+  L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0" L"\x248d" L"\0"
+  L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491" L"\0" L"\x2492"
+  L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0" L"\x2496" L"\0"
+  L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a" L"\0" L"\x249b"
+  L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0" L"\x249f" L"\0"
+  L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3" L"\0" L"\x24a4"
+  L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0" L"\x24a8" L"\0"
+  L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac" L"\0" L"\x24ad"
+  L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0" L"\x24b1" L"\0"
+  L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5" L"\0" L"\x24b6"
+  L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0" L"\x24ba" L"\0"
+  L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be" L"\0" L"\x24bf"
+  L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0" L"\x24c3" L"\0"
+  L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7" L"\0" L"\x24c8"
+  L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0" L"\x24cc" L"\0"
+  L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0" L"\0" L"\x24d1"
+  L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0" L"\x24d5" L"\0"
+  L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9" L"\0" L"\x24da"
+  L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0" L"\x24de" L"\0"
+  L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2" L"\0" L"\x24e3"
+  L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0" L"\x24e7" L"\0"
+  L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500" L"\0" L"\x2502"
+  L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0" L"\x2518" L"\0"
+  L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534" L"\0" L"\x253c"
+  L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0" L"\x2a76" L"\0"
+  L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252" L"\0" L"\x3253"
+  L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0" L"\x3257" L"\0"
+  L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b" L"\0" L"\x325c"
+  L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0" L"\x32b1" L"\0"
+  L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5" L"\0" L"\x32b6"
+  L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0" L"\x32ba" L"\0"
+  L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be" L"\0" L"\x32bf"
+  L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0" L"\x3374" L"\0"
+  L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381" L"\0" L"\x3382"
+  L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0" L"\x3386" L"\0"
+  L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a" L"\0" L"\x338b"
+  L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0" L"\x338f" L"\0"
+  L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393" L"\0" L"\x3394"
+  L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0" L"\x3398" L"\0"
+  L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c" L"\0" L"\x339d"
+  L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0" L"\x33a1" L"\0"
+  L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5" L"\0" L"\x33a6"
+  L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0" L"\x33aa" L"\0"
+  L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae" L"\0" L"\x33af"
+  L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0" L"\x33b3" L"\0"
+  L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7" L"\0" L"\x33b8"
+  L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0" L"\x33bc" L"\0"
+  L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2" L"\0" L"\x33c3"
+  L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0" L"\x33c7" L"\0"
+  L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb" L"\0" L"\x33cc"
+  L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0" L"\x33d0" L"\0"
+  L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4" L"\0" L"\x33d5"
+  L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0" L"\x33d9" L"\0"
+  L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd" L"\0" L"\xfb00"
+  L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0" L"\xfb04" L"\0"
+  L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01" L"\0" L"\xfe02"
+  L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0" L"\xfe06" L"\0"
+  L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a" L"\0" L"\xfe0b"
+  L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0" L"\xfe0f" L"\0"
+  L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50" L"\0" L"\xfe52"
+  L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0" L"\xfe57" L"\0"
+  L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c" L"\0" L"\xfe5f"
+  L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0" L"\xfe63" L"\0"
+  L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68" L"\0" L"\xfe69"
+  L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0" L"\xff01" L"\0"
+  L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05" L"\0" L"\xff06"
+  L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0" L"\xff0a" L"\0"
+  L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e" L"\0" L"\xff0f"
+  L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0" L"\xff13" L"\0"
+  L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17" L"\0" L"\xff18"
+  L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0" L"\xff1c" L"\0"
+  L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20" L"\0" L"\xff21"
+  L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0" L"\xff25" L"\0"
+  L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29" L"\0" L"\xff2a"
+  L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0" L"\xff2e" L"\0"
+  L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32" L"\0" L"\xff33"
+  L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0" L"\xff37" L"\0"
+  L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b" L"\0" L"\xff3c"
+  L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0" L"\xff40" L"\0"
+  L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44" L"\0" L"\xff45"
+  L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0" L"\xff49" L"\0"
+  L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d" L"\0" L"\xff4e"
+  L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0" L"\xff52" L"\0"
+  L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56" L"\0" L"\xff57"
+  L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0" L"\xff5b" L"\0"
+  L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0" L"\x0001d400" L"\0"
+  L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403" L"\0" L"\x0001d404"
+  L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0" L"\x0001d407" L"\0"
+  L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a" L"\0" L"\x0001d40b"
+  L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0" L"\x0001d40e" L"\0"
+  L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411" L"\0" L"\x0001d412"
+  L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0" L"\x0001d415" L"\0"
+  L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418" L"\0" L"\x0001d419"
+  L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0" L"\x0001d41c" L"\0"
+  L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f" L"\0" L"\x0001d420"
+  L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0" L"\x0001d423" L"\0"
+  L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426" L"\0" L"\x0001d427"
+  L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0" L"\x0001d42a" L"\0"
+  L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d" L"\0" L"\x0001d42e"
+  L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0" L"\x0001d431" L"\0"
+  L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434" L"\0" L"\x0001d435"
+  L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0" L"\x0001d438" L"\0"
+  L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b" L"\0" L"\x0001d43c"
+  L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0" L"\x0001d43f" L"\0"
+  L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442" L"\0" L"\x0001d443"
+  L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0" L"\x0001d446" L"\0"
+  L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449" L"\0" L"\x0001d44a"
+  L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0" L"\x0001d44d" L"\0"
+  L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450" L"\0" L"\x0001d451"
+  L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0" L"\x0001d454" L"\0"
+  L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458" L"\0" L"\x0001d459"
+  L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0" L"\x0001d45c" L"\0"
+  L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f" L"\0" L"\x0001d460"
+  L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0" L"\x0001d463" L"\0"
+  L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466" L"\0" L"\x0001d467"
+  L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0" L"\x0001d46a" L"\0"
+  L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d" L"\0" L"\x0001d46e"
+  L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0" L"\x0001d471" L"\0"
+  L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474" L"\0" L"\x0001d475"
+  L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0" L"\x0001d478" L"\0"
+  L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b" L"\0" L"\x0001d47c"
+  L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0" L"\x0001d47f" L"\0"
+  L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482" L"\0" L"\x0001d483"
+  L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0" L"\x0001d486" L"\0"
+  L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489" L"\0" L"\x0001d48a"
+  L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0" L"\x0001d48d" L"\0"
+  L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490" L"\0" L"\x0001d491"
+  L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0" L"\x0001d494" L"\0"
+  L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497" L"\0" L"\x0001d498"
+  L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0" L"\x0001d49b" L"\0"
+  L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f" L"\0" L"\x0001d4a2"
+  L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0" L"\x0001d4a9" L"\0"
+  L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac" L"\0" L"\x0001d4ae"
+  L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0" L"\x0001d4b1" L"\0"
+  L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4" L"\0" L"\x0001d4b5"
+  L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0" L"\x0001d4b8" L"\0"
+  L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd" L"\0" L"\x0001d4be"
+  L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0" L"\x0001d4c2" L"\0"
+  L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6" L"\0" L"\x0001d4c7"
+  L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0" L"\x0001d4ca" L"\0"
+  L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd" L"\0" L"\x0001d4ce"
+  L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0" L"\x0001d4d1" L"\0"
+  L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4" L"\0" L"\x0001d4d5"
+  L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0" L"\x0001d4d8" L"\0"
+  L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db" L"\0" L"\x0001d4dc"
+  L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0" L"\x0001d4df" L"\0"
+  L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2" L"\0" L"\x0001d4e3"
+  L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0" L"\x0001d4e6" L"\0"
+  L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9" L"\0" L"\x0001d4ea"
+  L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0" L"\x0001d4ed" L"\0"
+  L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0" L"\0" L"\x0001d4f1"
+  L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0" L"\x0001d4f4" L"\0"
+  L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7" L"\0" L"\x0001d4f8"
+  L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0" L"\x0001d4fb" L"\0"
+  L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe" L"\0" L"\x0001d4ff"
+  L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0" L"\x0001d502" L"\0"
+  L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505" L"\0" L"\x0001d507"
+  L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0" L"\x0001d50a" L"\0"
+  L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f" L"\0" L"\x0001d510"
+  L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0" L"\x0001d513" L"\0"
+  L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517" L"\0" L"\x0001d518"
+  L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0" L"\x0001d51b" L"\0"
+  L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f" L"\0" L"\x0001d520"
+  L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0" L"\x0001d523" L"\0"
+  L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526" L"\0" L"\x0001d527"
+  L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0" L"\x0001d52a" L"\0"
+  L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d" L"\0" L"\x0001d52e"
+  L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0" L"\x0001d531" L"\0"
+  L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534" L"\0" L"\x0001d535"
+  L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0" L"\x0001d538" L"\0"
+  L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c" L"\0" L"\x0001d53d"
+  L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0" L"\x0001d541" L"\0"
+  L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544" L"\0" L"\x0001d546"
+  L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0" L"\x0001d54c" L"\0"
+  L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f" L"\0" L"\x0001d550"
+  L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0" L"\x0001d554" L"\0"
+  L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557" L"\0" L"\x0001d558"
+  L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0" L"\x0001d55b" L"\0"
+  L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e" L"\0" L"\x0001d55f"
+  L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0" L"\x0001d562" L"\0"
+  L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565" L"\0" L"\x0001d566"
+  L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0" L"\x0001d569" L"\0"
+  L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c" L"\0" L"\x0001d56d"
+  L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0" L"\x0001d570" L"\0"
+  L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573" L"\0" L"\x0001d574"
+  L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0" L"\x0001d577" L"\0"
+  L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a" L"\0" L"\x0001d57b"
+  L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0" L"\x0001d57e" L"\0"
+  L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581" L"\0" L"\x0001d582"
+  L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0" L"\x0001d585" L"\0"
+  L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588" L"\0" L"\x0001d589"
+  L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0" L"\x0001d58c" L"\0"
+  L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f" L"\0" L"\x0001d590"
+  L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0" L"\x0001d593" L"\0"
+  L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596" L"\0" L"\x0001d597"
+  L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0" L"\x0001d59a" L"\0"
+  L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d" L"\0" L"\x0001d59e"
+  L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0" L"\x0001d5a1" L"\0"
+  L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4" L"\0" L"\x0001d5a5"
+  L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0" L"\x0001d5a8" L"\0"
+  L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab" L"\0" L"\x0001d5ac"
+  L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0" L"\x0001d5af" L"\0"
+  L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2" L"\0" L"\x0001d5b3"
+  L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0" L"\x0001d5b6" L"\0"
+  L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9" L"\0" L"\x0001d5ba"
+  L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0" L"\x0001d5bd" L"\0"
+  L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0" L"\0" L"\x0001d5c1"
+  L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0" L"\x0001d5c4" L"\0"
+  L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7" L"\0" L"\x0001d5c8"
+  L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0" L"\x0001d5cb" L"\0"
+  L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce" L"\0" L"\x0001d5cf"
+  L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0" L"\x0001d5d2" L"\0"
+  L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5" L"\0" L"\x0001d5d6"
+  L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0" L"\x0001d5d9" L"\0"
+  L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc" L"\0" L"\x0001d5dd"
+  L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0" L"\x0001d5e0" L"\0"
+  L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3" L"\0" L"\x0001d5e4"
+  L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0" L"\x0001d5e7" L"\0"
+  L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea" L"\0" L"\x0001d5eb"
+  L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0" L"\x0001d5ee" L"\0"
+  L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1" L"\0" L"\x0001d5f2"
+  L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0" L"\x0001d5f5" L"\0"
+  L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8" L"\0" L"\x0001d5f9"
+  L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0" L"\x0001d5fc" L"\0"
+  L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff" L"\0" L"\x0001d600"
+  L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0" L"\x0001d603" L"\0"
+  L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606" L"\0" L"\x0001d607"
+  L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0" L"\x0001d60a" L"\0"
+  L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d" L"\0" L"\x0001d60e"
+  L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0" L"\x0001d611" L"\0"
+  L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614" L"\0" L"\x0001d615"
+  L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0" L"\x0001d618" L"\0"
+  L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b" L"\0" L"\x0001d61c"
+  L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0" L"\x0001d61f" L"\0"
+  L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622" L"\0" L"\x0001d623"
+  L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0" L"\x0001d626" L"\0"
+  L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629" L"\0" L"\x0001d62a"
+  L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0" L"\x0001d62d" L"\0"
+  L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630" L"\0" L"\x0001d631"
+  L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0" L"\x0001d634" L"\0"
+  L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637" L"\0" L"\x0001d638"
+  L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0" L"\x0001d63b" L"\0"
+  L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e" L"\0" L"\x0001d63f"
+  L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0" L"\x0001d642" L"\0"
+  L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645" L"\0" L"\x0001d646"
+  L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0" L"\x0001d649" L"\0"
+  L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c" L"\0" L"\x0001d64d"
+  L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0" L"\x0001d650" L"\0"
+  L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653" L"\0" L"\x0001d654"
+  L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0" L"\x0001d657" L"\0"
+  L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a" L"\0" L"\x0001d65b"
+  L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0" L"\x0001d65e" L"\0"
+  L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661" L"\0" L"\x0001d662"
+  L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0" L"\x0001d665" L"\0"
+  L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668" L"\0" L"\x0001d669"
+  L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0" L"\x0001d66c" L"\0"
+  L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f" L"\0" L"\x0001d670"
+  L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0" L"\x0001d673" L"\0"
+  L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676" L"\0" L"\x0001d677"
+  L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0" L"\x0001d67a" L"\0"
+  L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d" L"\0" L"\x0001d67e"
+  L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0" L"\x0001d681" L"\0"
+  L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684" L"\0" L"\x0001d685"
+  L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0" L"\x0001d688" L"\0"
+  L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b" L"\0" L"\x0001d68c"
+  L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0" L"\x0001d68f" L"\0"
+  L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692" L"\0" L"\x0001d693"
+  L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0" L"\x0001d696" L"\0"
+  L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699" L"\0" L"\x0001d69a"
+  L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0" L"\x0001d69d" L"\0"
+  L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0" L"\0" L"\x0001d6a1"
+  L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0" L"\x0001d7ce" L"\0"
+  L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1" L"\0" L"\x0001d7d2"
+  L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0" L"\x0001d7d5" L"\0"
+  L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8" L"\0" L"\x0001d7d9"
+  L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0" L"\x0001d7dc" L"\0"
+  L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df" L"\0" L"\x0001d7e0"
+  L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0" L"\x0001d7e3" L"\0"
+  L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6" L"\0" L"\x0001d7e7"
+  L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0" L"\x0001d7ea" L"\0"
+  L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed" L"\0" L"\x0001d7ee"
+  L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0" L"\x0001d7f1" L"\0"
+  L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4" L"\0" L"\x0001d7f5"
+  L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0" L"\x0001d7f8" L"\0"
+  L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb" L"\0" L"\x0001d7fc"
+  L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0" L"\x0001d7ff";
 static const uint32_t translit_to_idx[] =
 {
      0,    3,    8,   12,   15,   20,   23,   26,   30,   37,   44,   51,
@@ -470,47 +469,47 @@ static const uint32_t translit_to_idx[] =
    145,  148,  151,  154,  157,  160,  163,  166,  169,  172,  175,  178,
    180,  183,  186,  189,  192,  196,  199,  202,  205,  208,  211,  214,
    217,  221,  224,  227,  230,  233,  237,  242,  245,  248,  252,  257,
-   260,  263,  267,  270,  274,  278,  282,  285,  287,  289,  291,  293,
-   297,  302,  307,  312,  315,  320,  325,  328,  331,  334,  337,  340,
-   343,  346,  349,  352,  355,  359,  362,  365,  368,  371,  374,  379,
-   385,  388,  393,  396,  399,  402,  405,  408,  411,  414,  417,  420,
-   423,  426,  429,  432,  435,  438,  445,  452,  459,  466,  473,  480,
-   487,  494,  501,  508,  515,  522,  527,  530,  534,  539,  543,  546,
-   550,  555,  561,  565,  568,  572,  577,  580,  583,  586,  589,  592,
-   596,  601,  605,  608,  612,  617,  623,  627,  630,  634,  639,  642,
-   645,  648,  651,  655,  659,  664,  668,  672,  677,  680,  683,  686,
-   689,  692,  695,  698,  702,  706,  710,  714,  719,  724,  729,  734,
-   739,  744,  749,  754,  759,  764,  768,  772,  776,  780,  784,  788,
-   792,  796,  801,  806,  811,  816,  821,  826,  831,  836,  841,  845,
-   850,  855,  859,  863,  867,  871,  875,  880,  883,  887,  892,  897,
-   902,  907,  912,  917,  922,  927,  932,  938,  944,  950,  956,  962,
-   968,  974,  980,  986,  992,  998, 1003, 1008, 1013, 1018, 1023, 1028,
-  1033, 1038, 1043, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097,
-  1103, 1109, 1113, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1150,
-  1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, 1210,
-  1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, 1270,
-  1275, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325, 1330,
-  1335, 1340, 1345, 1350, 1355, 1360, 1365, 1370, 1375, 1380, 1385, 1390,
-  1395, 1400, 1405, 1410, 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450,
-  1455, 1460, 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510,
-  1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1565, 1570,
-  1575, 1580, 1585, 1590, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616,
-  1619, 1622, 1625, 1628, 1631, 1636, 1640, 1645, 1648, 1651, 1657, 1663,
-  1669, 1675, 1681, 1687, 1693, 1699, 1705, 1711, 1717, 1723, 1729, 1735,
-  1741, 1747, 1753, 1759, 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807,
-  1813, 1819, 1825, 1831, 1836, 1840, 1844, 1849, 1853, 1857, 1861, 1865,
-  1869, 1873, 1877, 1881, 1885, 1889, 1894, 1900, 1904, 1908, 1912, 1916,
-  1920, 1924, 1928, 1933, 1938, 1943, 1948, 1952, 1956, 1960, 1964, 1968,
-  1972, 1976, 1980, 1984, 1988, 1994, 2000, 2005, 2011, 2017, 2023, 2028,
-  2034, 2039, 2046, 2050, 2055, 2060, 2065, 2070, 2077, 2086, 2090, 2094,
-  2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2142,
-  2146, 2150, 2156, 2160, 2164, 2168, 2174, 2179, 2183, 2187, 2191, 2195,
-  2199, 2203, 2207, 2211, 2215, 2219, 2224, 2228, 2232, 2237, 2242, 2246,
-  2252, 2257, 2261, 2265, 2269, 2273, 2277, 2281, 2285, 2290, 2295, 2299,
-  2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320, 2322, 2324,
-  2326, 2328, 2330, 2332, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355,
+   260,  263,  267,  271,  275,  279,  282,  284,  286,  288,  290,  294,
+   299,  304,  309,  312,  317,  322,  325,  328,  331,  334,  337,  340,
+   343,  346,  349,  352,  356,  359,  362,  365,  368,  371,  376,  382,
+   385,  390,  393,  396,  399,  402,  405,  408,  411,  414,  417,  420,
+   423,  426,  429,  432,  435,  442,  449,  456,  463,  470,  477,  484,
+   491,  498,  505,  512,  519,  524,  527,  531,  536,  540,  543,  547,
+   552,  558,  562,  565,  569,  574,  577,  580,  583,  586,  589,  593,
+   598,  602,  605,  609,  614,  620,  624,  627,  631,  636,  639,  642,
+   645,  648,  652,  656,  661,  665,  669,  674,  677,  680,  683,  686,
+   689,  692,  695,  699,  703,  707,  711,  716,  721,  726,  731,  736,
+   741,  746,  751,  756,  761,  765,  769,  773,  777,  781,  785,  789,
+   793,  798,  803,  808,  813,  818,  823,  828,  833,  838,  842,  847,
+   852,  856,  860,  864,  868,  872,  877,  880,  884,  889,  894,  899,
+   904,  909,  914,  919,  924,  929,  935,  941,  947,  953,  959,  965,
+   971,  977,  983,  989,  995, 1000, 1005, 1010, 1015, 1020, 1025, 1030,
+  1035, 1040, 1046, 1052, 1058, 1064, 1070, 1076, 1082, 1088, 1094, 1100,
+  1106, 1110, 1114, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1147, 1152,
+  1157, 1162, 1167, 1172, 1177, 1182, 1187, 1192, 1197, 1202, 1207, 1212,
+  1217, 1222, 1227, 1232, 1237, 1242, 1247, 1252, 1257, 1262, 1267, 1272,
+  1277, 1282, 1287, 1292, 1297, 1302, 1307, 1312, 1317, 1322, 1327, 1332,
+  1337, 1342, 1347, 1352, 1357, 1362, 1367, 1372, 1377, 1382, 1387, 1392,
+  1397, 1402, 1407, 1412, 1417, 1422, 1427, 1432, 1437, 1442, 1447, 1452,
+  1457, 1462, 1467, 1472, 1477, 1482, 1487, 1492, 1497, 1502, 1507, 1512,
+  1517, 1522, 1527, 1532, 1537, 1542, 1547, 1552, 1557, 1562, 1567, 1572,
+  1577, 1582, 1587, 1592, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616,
+  1619, 1622, 1625, 1628, 1633, 1637, 1642, 1645, 1648, 1654, 1660, 1666,
+  1672, 1678, 1684, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732, 1738,
+  1744, 1750, 1756, 1762, 1768, 1774, 1780, 1786, 1792, 1798, 1804, 1810,
+  1816, 1822, 1828, 1833, 1837, 1841, 1846, 1850, 1854, 1858, 1862, 1866,
+  1870, 1874, 1878, 1882, 1886, 1891, 1897, 1901, 1905, 1909, 1913, 1917,
+  1921, 1925, 1930, 1935, 1940, 1945, 1949, 1953, 1957, 1961, 1965, 1969,
+  1973, 1977, 1981, 1985, 1991, 1997, 2002, 2008, 2014, 2020, 2025, 2031,
+  2036, 2043, 2047, 2052, 2057, 2062, 2067, 2074, 2083, 2087, 2091, 2095,
+  2099, 2103, 2107, 2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143,
+  2147, 2153, 2157, 2161, 2165, 2171, 2176, 2180, 2184, 2188, 2192, 2196,
+  2200, 2204, 2208, 2212, 2216, 2221, 2225, 2229, 2234, 2239, 2243, 2249,
+  2254, 2258, 2262, 2266, 2270, 2274, 2278, 2282, 2287, 2292, 2296, 2299,
+  2301, 2303, 2305, 2307, 2309, 2311, 2313, 2315, 2317, 2319, 2321, 2323,
+  2325, 2327, 2329, 2331, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355,
   2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391,
-  2394, 2397, 2400, 2403, 2406, 2409, 2411, 2414, 2417, 2420, 2423, 2426,
+  2394, 2397, 2400, 2403, 2406, 2408, 2411, 2414, 2417, 2420, 2423, 2426,
   2429, 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462,
   2465, 2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498,
   2501, 2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534,
@@ -576,7 +575,7 @@ static const uint32_t translit_to_idx[] =
   4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694,
   4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730,
   4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766,
-  4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790, 4793
+  4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790
 };
 static const wchar_t translit_to_tbl[] =
   L" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" L"u\0"
@@ -592,13 +591,13 @@ static const wchar_t translit_to_tbl[] =
   L"\0" L"'\0" L"\0" L"'\0" L"\0" L",\0" L"\0" L"'\0" L"\0" L"\"\0" L"\0"
   L"\"\0" L"\0" L",,\0" L"\0" L"\"\0" L"\0" L"+\0" L"\0" L"o\0" L"\0" L".\0"
   L"\0" L"..\0" L"\0" L"...\0" L"\0" L" \0" L"\0" L"`\0" L"\0" L"``\0" L"\0"
-  L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"/\0" L"\0" L"??\0"
-  L"\0" L"?!\0" L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0"
-  L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0"
-  L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0"
-  L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0"
-  L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0"
-  L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0"
+  L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"??\0" L"\0" L"?!\0"
+  L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0"
+  L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0" L"C\0"
+  L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0" L"\0"
+  L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0" L"l\0"
+  L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0" L"\0"
+  L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0"
   L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0" L"e\0" L"\0" L"e\0"
   L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0" L"\0" L"i\0" L"\0"
   L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0" L"j\0" L"\0" L" 1/3 \0"
diff --git a/locale/C-translit.h.in b/locale/C-translit.h.in
index ab0b130983..d440c9b9ab 100644
--- a/locale/C-translit.h.in
+++ b/locale/C-translit.h.in
@@ -1,5 +1,5 @@
 /* Transliteration for the C locale.  -*-C-*-
-   Copyright (C) 2000, 2001, 2002, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
 
@@ -94,7 +94,6 @@
 "\x2039"	"<"	/* <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK */
 "\x203a"	">"	/* <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK */
 "\x203c"	"!!"	/* <U203C> DOUBLE EXCLAMATION MARK */
-"\x2044"	"/"	/* <U2044> FRACTION SLASH */
 "\x2047"	"??"	/* <U2047> DOUBLE QUESTION MARK */
 "\x2048"	"?!"	/* <U2048> QUESTION EXCLAMATION MARK */
 "\x2049"	"!?"	/* <U2049> EXCLAMATION QUESTION MARK */
diff --git a/locale/Makefile b/locale/Makefile
index d9ab1947e7..b493c1c9b9 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1995-2003,2005 Free Software Foundation, Inc.
+# Copyright (C) 1991,1992,1995-2002,2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -72,8 +72,7 @@ GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C
 include ../Rules
 
 programs/%-kw.h: programs/%-kw.gperf
-	cd programs \
-	&& $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $(<F) > $(@F).new
+	$(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $< > $@.new
 	mv -f $@.new $@
 
 $(objpfx)localedef: $(localedef-modules:%=$(objpfx)%.o)
@@ -101,6 +100,7 @@ locale-CPPFLAGS := -DLOCALE_PATH='$(localepath)' \
 CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-charmap-dir.c = -Wno-write-strings
+CFLAGS-loadlocale.c = $(fno-unit-at-a-time)
 
 # This makes sure -DNOT_IN_libc is passed for all these modules.
 cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
diff --git a/locale/SYS_libc.c b/locale/SYS_libc.c
index a879b68a25..4f9e946cf3 100644
--- a/locale/SYS_libc.c
+++ b/locale/SYS_libc.c
@@ -1,7 +1,5 @@
 /* Define a constant for the dgettext domainname for libc internal messages,
    so the string constant is not repeated in dozens of object files.  */
 
-#include <libintl.h>
-
 const char _libc_intl_domainname[] = "libc";
-libc_hidden_data_def (_libc_intl_domainname)
+INTDEF(_libc_intl_domainname)
diff --git a/locale/duplocale.c b/locale/duplocale.c
index 0cec09f63a..77dfc01046 100644
--- a/locale/duplocale.c
+++ b/locale/duplocale.c
@@ -1,5 +1,5 @@
 /* Duplicate handle for selection of locales.
-   Copyright (C) 1997, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -34,7 +34,7 @@ __locale_t
 __duplocale (__locale_t dataset)
 {
   /* This static object is returned for newlocale (LC_ALL_MASK, "C").  */
-  if (dataset == _nl_C_locobj_ptr)
+  if (dataset == &_nl_C_locobj)
     return dataset;
 
   __locale_t result;
diff --git a/locale/findlocale.c b/locale/findlocale.c
index ea24170df5..04b197d266 100644
--- a/locale/findlocale.c
+++ b/locale/findlocale.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -80,8 +80,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
 	 variables.  */
       *name = getenv ("LC_ALL");
       if (*name == NULL || (*name)[0] == '\0')
-	*name = getenv (_nl_category_names.str
-			+ _nl_category_name_idxs[category]);
+	*name = getenv (_nl_category_names[category]);
       if (*name == NULL || (*name)[0] == '\0')
 	*name = getenv ("LANG");
     }
@@ -146,8 +145,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
 				    locale_path, locale_path_len, mask,
 				    language, territory, codeset,
 				    normalized_codeset, modifier,
-				    _nl_category_names.str
-				    + _nl_category_name_idxs[category], 0);
+				    _nl_category_names[category], 0);
 
   if (locale_file == NULL)
     {
@@ -157,8 +155,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
 					locale_path, locale_path_len, mask,
 					language, territory, codeset,
 					normalized_codeset, modifier,
-					_nl_category_names.str
-					+ _nl_category_name_idxs[category], 1);
+					_nl_category_names[category], 1);
       if (locale_file == NULL)
 	/* This means we are out of core.  */
 	return NULL;
diff --git a/locale/freelocale.c b/locale/freelocale.c
index 7430455d56..ec169bcb66 100644
--- a/locale/freelocale.c
+++ b/locale/freelocale.c
@@ -1,5 +1,5 @@
 /* Free data allocated by a call to setlocale_r
-   Copyright (C) 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -35,7 +35,7 @@ __freelocale (__locale_t dataset)
   int cnt;
 
   /* This static object is returned for newlocale (LC_ALL_MASK, "C").  */
-  if (dataset == _nl_C_locobj_ptr)
+  if (dataset == &_nl_C_locobj)
     return;
 
   /* We modify global data (the usage counts).  */
diff --git a/locale/iso-3166.def b/locale/iso-3166.def
index a0dd56385a..7e40c0095a 100644
--- a/locale/iso-3166.def
+++ b/locale/iso-3166.def
@@ -6,7 +6,6 @@
  * http://www.gnu.org/software/libc/bugs.html and follow
  * instructions there to file a bug report.
  */
-DEFINE_COUNTRY_CODE ("AALAND ISLANDS", AX, ALA, 248)
 DEFINE_COUNTRY_CODE ("AFGHANISTAN", AF, AFG, 4)
 DEFINE_COUNTRY_CODE ("ALBANIA", AL, ALB, 8)
 DEFINE_COUNTRY_CODE ("ALGERIA", DZ, DZA, 12)
@@ -150,7 +149,6 @@ DEFINE_COUNTRY_CODE ("MICRONESIA, FEDERATED STATES OF", FM, FSM, 583)
 DEFINE_COUNTRY_CODE ("MOLDOVA, REPUBLIC OF", MD, MDA, 498)
 DEFINE_COUNTRY_CODE ("MONACO", MC, MCO, 492)
 DEFINE_COUNTRY_CODE ("MONGOLIA", MN, MNG, 496)
-DEFINE_COUNTRY_CODE ("MONTENEGRO", ME, MNE, 499)
 DEFINE_COUNTRY_CODE ("MONTSERRAT", MS, MSR, 500)
 DEFINE_COUNTRY_CODE ("MOROCCO", MA, MAR, 504)
 DEFINE_COUNTRY_CODE ("MOZAMBIQUE", MZ, MOZ, 508)
@@ -198,7 +196,6 @@ DEFINE_COUNTRY_CODE ("SAO TOME AND PRINCIPE", ST, STP, 678)
 DEFINE_COUNTRY_CODE ("SAUDI ARABIA", SA, SAU, 682)
 DEFINE_COUNTRY_CODE ("SENEGAL", SN, SEN, 686)
 DEFINE_COUNTRY_CODE ("SERBIA AND MONTENEGRO", CS, SCG, 891)
-DEFINE_COUNTRY_CODE ("SERBIA", RS, SRB, 688)
 DEFINE_COUNTRY_CODE ("SEYCHELLES", SC, SYC, 690)
 DEFINE_COUNTRY_CODE ("SIERRA LEONE", SL, SLE, 694)
 DEFINE_COUNTRY_CODE ("SINGAPORE", SG, SGP, 702)
diff --git a/locale/iso-4217.def b/locale/iso-4217.def
index 581130038d..cc8af19564 100644
--- a/locale/iso-4217.def
+++ b/locale/iso-4217.def
@@ -8,23 +8,20 @@
  *
  * !!! The list has to be sorted !!!
  */
-DEFINE_INT_CURR("ADP")		/* Andorran Peseta -> EUR  */
 DEFINE_INT_CURR("AED")		/* United Arab Emirates Dirham  */
-DEFINE_INT_CURR("AFN")		/* Afghanistan Afgani  */
+DEFINE_INT_CURR("AFA")		/* Afghanistan Afgani  */
 DEFINE_INT_CURR("ALL")		/* Albanian Lek  */
 DEFINE_INT_CURR("AMD")		/* Armenia Dram  */
 DEFINE_INT_CURR("ANG")		/* Netherlands Antilles  */
 DEFINE_INT_CURR("AOA")		/* Angolan Kwanza  */
 DEFINE_INT_CURR("ARS")		/* Argentine Peso  */
-DEFINE_INT_CURR("ATS")		/* Austrian Schilling -> EUR  */
 DEFINE_INT_CURR("AUD")		/* Australian Dollar  */
 DEFINE_INT_CURR("AWG")		/* Aruba Guilder  */
 DEFINE_INT_CURR("AZM")		/* Azerbaijan Manat  */
-DEFINE_INT_CURR("BAM")		/* Bosnian and Herzegovina Convertible Mark  */
+DEFINE_INT_CURR("BAK")		/* Bosnian and Herzegovina Convertible Mark  */
 DEFINE_INT_CURR("BBD")		/* Barbados Dollar  */
 DEFINE_INT_CURR("BDT")		/* Bangladesh Taka  */
-DEFINE_INT_CURR("BEF")		/* Belgian Franc -> EUR  */
-DEFINE_INT_CURR("BGN")		/* Bulgarian Lev  */
+DEFINE_INT_CURR("BGL")		/* Bulgarian Lev  */
 DEFINE_INT_CURR("BHD")		/* Bahraini Dinar  */
 DEFINE_INT_CURR("BIF")		/* Burundi Franc  */
 DEFINE_INT_CURR("BMD")		/* Burmudian Dollar  */
@@ -43,12 +40,10 @@ DEFINE_INT_CURR("CLP")		/* Chilean Peso  */
 DEFINE_INT_CURR("CNY")		/* China Yuan Renminbi  */
 DEFINE_INT_CURR("COP")		/* Colombian Peso  */
 DEFINE_INT_CURR("CRC")		/* Costa Rican Colon  */
-DEFINE_INT_CURR("CSD")		/* Serbian Dinar  */
 DEFINE_INT_CURR("CUP")		/* Cuban Peso  */
 DEFINE_INT_CURR("CVE")		/* Cape Verde Escudo  */
 DEFINE_INT_CURR("CYP")		/* Cypriot Pound  */
 DEFINE_INT_CURR("CZK")		/* Czech Koruna  */
-DEFINE_INT_CURR("DEM")		/* German Mark -> EUR  */
 DEFINE_INT_CURR("DJF")		/* Djibouti Franc  */
 DEFINE_INT_CURR("DKK")		/* Danish Krone (Faroe Islands, Greenland)  */
 DEFINE_INT_CURR("DOP")		/* Dominican Republic  */
@@ -56,20 +51,16 @@ DEFINE_INT_CURR("DZD")		/* Algerian Dinar  */
 DEFINE_INT_CURR("EEK")		/* Estonian Kroon  */
 DEFINE_INT_CURR("EGP")		/* Egyptian Pound  */
 DEFINE_INT_CURR("ERN")		/* Eritrean Nakfa  */
-DEFINE_INT_CURR("ESP")		/* Spanish Peseta -> EUR  */
 DEFINE_INT_CURR("ETB")		/* Ethiopian Birr  */
 DEFINE_INT_CURR("EUR")		/* European Union Euro  */
-DEFINE_INT_CURR("FIM")		/* Finnish Markka -> EUR  */
 DEFINE_INT_CURR("FJD")		/* Fiji Dollar  */
 DEFINE_INT_CURR("FKP")		/* Falkland Islands Pound (Malvinas)  */
-DEFINE_INT_CURR("FRF")		/* French Franc -> EUR  */
 DEFINE_INT_CURR("GBP")		/* British Pound  */
 DEFINE_INT_CURR("GEL")		/* Georgia Lari  */
 DEFINE_INT_CURR("GHC")		/* Ghana Cedi  */
 DEFINE_INT_CURR("GIP")		/* Gibraltar Pound  */
 DEFINE_INT_CURR("GMD")		/* Gambian Dalasi  */
 DEFINE_INT_CURR("GNF")		/* Guinea Franc  */
-DEFINE_INT_CURR("GRD")		/* Greek Drachma -> EUR  */
 DEFINE_INT_CURR("GTQ")		/* Guatemala Quetzal  */
 DEFINE_INT_CURR("GYD")		/* Guyana Dollar  */
 DEFINE_INT_CURR("HKD")		/* Hong Kong Dollar  */
@@ -78,15 +69,12 @@ DEFINE_INT_CURR("HRK")		/* Croatia Kuna  */
 DEFINE_INT_CURR("HTG")		/* Haiti Gourde  */
 DEFINE_INT_CURR("HUF")		/* Hungarian Forint  */
 DEFINE_INT_CURR("IDR")		/* Indonesia Rupiah  */
-DEFINE_INT_CURR("IEP")		/* Irish Pound -> EUR  */
 DEFINE_INT_CURR("ILS")		/* Israeli Shekel  */
 DEFINE_INT_CURR("IMP")		/* Isle of Man Pounds  */
 DEFINE_INT_CURR("INR")		/* Indian Rupee (Bhutan)  */
 DEFINE_INT_CURR("IQD")		/* Iraqi Dinar  */
 DEFINE_INT_CURR("IRR")		/* Iranian Rial  */
 DEFINE_INT_CURR("ISK")		/* Iceland Krona  */
-DEFINE_INT_CURR("ITL")		/* Italian Lira -> EUR  */
-DEFINE_INT_CURR("JEP")		/* Jersey Pound  */
 DEFINE_INT_CURR("JMD")		/* Jamaican Dollar  */
 DEFINE_INT_CURR("JOD")		/* Jordanian Dinar  */
 DEFINE_INT_CURR("JPY")		/* Japanese Yen  */
@@ -105,12 +93,11 @@ DEFINE_INT_CURR("LKR")		/* Sri Lankan Rupee  */
 DEFINE_INT_CURR("LRD")		/* Liberian Dollar  */
 DEFINE_INT_CURR("LSL")		/* Lesotho Maloti  */
 DEFINE_INT_CURR("LTL")		/* Lithuanian Litas  */
-DEFINE_INT_CURR("LUF")		/* Luxembourg Franc -> EUR  */
 DEFINE_INT_CURR("LVL")		/* Latvia Lat  */
 DEFINE_INT_CURR("LYD")		/* Libyan Arab Jamahiriya Dinar  */
 DEFINE_INT_CURR("MAD")		/* Moroccan Dirham  */
 DEFINE_INT_CURR("MDL")		/* Moldova Lei  */
-DEFINE_INT_CURR("MGA")		/* Madagasy Ariary  */
+DEFINE_INT_CURR("MGF")		/* Madagasy Franc  */
 DEFINE_INT_CURR("MKD")		/* Macedonia Denar  */
 DEFINE_INT_CURR("MMK")		/* Myanmar Kyat  */
 DEFINE_INT_CURR("MNT")		/* Mongolia Tugrik  */
@@ -120,13 +107,12 @@ DEFINE_INT_CURR("MTL")		/* Maltese Lira  */
 DEFINE_INT_CURR("MUR")		/* Mauritius Rupee  */
 DEFINE_INT_CURR("MVR")		/* Maldives Rupee  */
 DEFINE_INT_CURR("MWK")		/* Malawi Kwacha  */
-DEFINE_INT_CURR("MXN")		/* Mexican Peso  */
+DEFINE_INT_CURR("MXP")		/* Mexican Peso  */
 DEFINE_INT_CURR("MYR")		/* Malaysian Ringgit  */
 DEFINE_INT_CURR("MZM")		/* Mozambique Metical  */
 DEFINE_INT_CURR("NAD")		/* Namibia Dollar  */
 DEFINE_INT_CURR("NGN")		/* Nigeria Naira  */
 DEFINE_INT_CURR("NIO")		/* Nicaragua Cordoba Oro  */
-DEFINE_INT_CURR("NLG")		/* Netherlands Guilder -> EUR  */
 DEFINE_INT_CURR("NOK")		/* Norwegian Krone  */
 DEFINE_INT_CURR("NPR")		/* Nepalese Rupee  */
 DEFINE_INT_CURR("NZD")		/* New Zealand Dollar  */
@@ -137,13 +123,10 @@ DEFINE_INT_CURR("PGK")		/* Papau New Guinea Kina  */
 DEFINE_INT_CURR("PHP")		/* Philippines Peso  */
 DEFINE_INT_CURR("PKR")		/* Pakistan Rupee  */
 DEFINE_INT_CURR("PLN")		/* Polish Zloty  */
-DEFINE_INT_CURR("PTE")		/* Portugese Escudo -> EUR  */
 DEFINE_INT_CURR("PYG")		/* Paraguay Guarani  */
 DEFINE_INT_CURR("QAR")		/* Qatar Rial  */
 DEFINE_INT_CURR("ROL")		/* Romanian Leu  */
-DEFINE_INT_CURR("RON")		/* Romanian New Leu  */
-DEFINE_INT_CURR("RSD")		/* Serbian Dinars  */
-DEFINE_INT_CURR("RUB")		/* Russian Ruble  */
+DEFINE_INT_CURR("RUR")		/* Russian Ruble  */
 DEFINE_INT_CURR("RWF")		/* Rwanda Franc  */
 DEFINE_INT_CURR("SAR")		/* Saudi Arabia Riyal  */
 DEFINE_INT_CURR("SBD")		/* Solomon Islands Dollar  */
@@ -163,11 +146,11 @@ DEFINE_INT_CURR("SVC")		/* El Salvador Colon  */
 DEFINE_INT_CURR("SYP")		/* Syrian Arab Republic Pound  */
 DEFINE_INT_CURR("SZL")		/* Swaziland Lilangeni  */
 DEFINE_INT_CURR("THB")		/* Thai Baht  */
-DEFINE_INT_CURR("TJS")		/* Tajikistani Somoni  */
+DEFINE_INT_CURR("TJR")		/* Tajikistani Ruble  */
 DEFINE_INT_CURR("TMM")		/* Turkmenistan Manet  */
 DEFINE_INT_CURR("TND")		/* Tunisian Dinar  */
 DEFINE_INT_CURR("TOP")		/* Tonga Pa'Anga  */
-DEFINE_INT_CURR("TRY")		/* New Turkish Lira  */
+DEFINE_INT_CURR("TRL")		/* Turkish Lira  */
 DEFINE_INT_CURR("TTD")		/* Trinidad and Tobago  */
 DEFINE_INT_CURR("TVD")		/* Tuvalu Dollars  */
 DEFINE_INT_CURR("TWD")		/* Taiwan, Province of China Dollar  */
@@ -187,6 +170,7 @@ DEFINE_INT_CURR("XDR")		/* International Monetary Fund  */
 DEFINE_INT_CURR("XOF")		/* West African Franc (Benin, Ivory Coast, Niger, Senegal, Togo, Upper Volta)  */
 DEFINE_INT_CURR("XPF")		/* French polynesia, New Caledonia, Wallis and Futuna Islands  */
 DEFINE_INT_CURR("YER")		/* Yemeni Rial  */
+DEFINE_INT_CURR("YUM")		/* Yugoslavian New Dinar  */
 DEFINE_INT_CURR("ZAR")		/* South Africa Rand (Lesotho, Namibia)  */
 DEFINE_INT_CURR("ZMK")		/* Zambian Kwacha  */
 DEFINE_INT_CURR("ZWD")		/* Zimbabwe Dollar  */
diff --git a/locale/iso-639.def b/locale/iso-639.def
index 0507ba5c91..3805b8ef53 100644
--- a/locale/iso-639.def
+++ b/locale/iso-639.def
@@ -12,7 +12,7 @@ DEFINE_LANGUAGE_CODE ("Abkhazian", ab, abk, abk)
 DEFINE_LANGUAGE_CODE3 ("Achinese", ace, ace)
 DEFINE_LANGUAGE_CODE3 ("Acoli", ach, ach)
 DEFINE_LANGUAGE_CODE3 ("Adangme", ada, ada)
-DEFINE_LANGUAGE_CODE3 ("Adyghe; Adygei", ady, ady)
+DEFINE_LANGUAGE_CODE3 ("Adygei", ady, ady)
 DEFINE_LANGUAGE_CODE ("Afar", aa, aar, aar)
 DEFINE_LANGUAGE_CODE3 ("Afrihili", afh, afh)
 DEFINE_LANGUAGE_CODE ("Afrikaans", af, afr, afr)
@@ -21,12 +21,12 @@ DEFINE_LANGUAGE_CODE ("Akan", ak, aka, aka)
 DEFINE_LANGUAGE_CODE3 ("Akkadian", akk, akk)
 DEFINE_LANGUAGE_CODE ("Albanian", sq, sqi, alb)
 DEFINE_LANGUAGE_CODE3 ("Aleut", ale, ale)
-DEFINE_LANGUAGE_CODE3 ("Algonquian languages", alg, alg)
+DEFINE_LANGUAGE_CODE3 ("Alonquian languages", alg, alg)
 DEFINE_LANGUAGE_CODE3 ("Altaic (Other)", tut, tut)
 DEFINE_LANGUAGE_CODE ("Amharic", am, amh, amh)
-DEFINE_LANGUAGE_CODE3 ("Apache languages", apa, apa)
+DEFINE_LANGUAGE_CODE3 ("Apache language", apa, apa)
 DEFINE_LANGUAGE_CODE ("Arabic", ar, ara, ara)
-DEFINE_LANGUAGE_CODE ("Aragonese", an, arg, arg)
+DEFINE_LANGUAGE_CODE ("Argonese", an, arg, arg)
 DEFINE_LANGUAGE_CODE3 ("Aramaic", arc, arc)
 DEFINE_LANGUAGE_CODE3 ("Arapaho", arp, arp)
 DEFINE_LANGUAGE_CODE3 ("Araucanian", arn, arn)
@@ -64,7 +64,7 @@ DEFINE_LANGUAGE_CODE ("Bihari", bh, bih, bih)
 DEFINE_LANGUAGE_CODE3 ("Bikol", bik, bik)
 DEFINE_LANGUAGE_CODE3 ("Bini", bin, bin)
 DEFINE_LANGUAGE_CODE ("Bislama", bi, bis, bis)
-DEFINE_LANGUAGE_CODE3 ("Blin; Bilin", byn, byn)
+DEFINE_LANGUAGE_CODE3 ("Blin", byn, byn)
 DEFINE_LANGUAGE_CODE ("Bosnian", bs, bos, bos)
 DEFINE_LANGUAGE_CODE3 ("Braj", bra, bra)
 DEFINE_LANGUAGE_CODE ("Breton", br, bre, bre)
@@ -74,34 +74,33 @@ DEFINE_LANGUAGE_CODE3 ("Buriat", bua, bua)
 DEFINE_LANGUAGE_CODE ("Burmese", my, mya, bur)
 DEFINE_LANGUAGE_CODE3 ("Caddo", cad, cad)
 DEFINE_LANGUAGE_CODE3 ("Carib", car, car)
-DEFINE_LANGUAGE_CODE ("Catalan; Valencian", ca, cat, cat)
+DEFINE_LANGUAGE_CODE ("Catalan", ca, cat, cat)
 DEFINE_LANGUAGE_CODE3 ("Caucasian (Other)", cau, cau)
 DEFINE_LANGUAGE_CODE3 ("Cebuano", ceb, ceb)
 DEFINE_LANGUAGE_CODE3 ("Celtic (Other)", cel, cel)
 DEFINE_LANGUAGE_CODE3 ("Central American Indian (Other)", cai, cai)
 DEFINE_LANGUAGE_CODE3 ("Chagatai", chg, chg)
-DEFINE_LANGUAGE_CODE3 ("Chamic languages", cmc, cmc)
+DEFINE_LANGUAGE_CODE3 ("Canmic languages", cmc, cmc)
 DEFINE_LANGUAGE_CODE ("Chamorro", ch, cha, cha)
 DEFINE_LANGUAGE_CODE ("Chechen", ce, che, che)
 DEFINE_LANGUAGE_CODE3 ("Cherokee", chr, chr)
+DEFINE_LANGUAGE_CODE ("Chewa; Chechewa; Nyanja", ny, nya, nya)
 DEFINE_LANGUAGE_CODE3 ("Cheyenne", chy, chy)
 DEFINE_LANGUAGE_CODE3 ("Chibcha", chb, chb)
-DEFINE_LANGUAGE_CODE ("Chichewa; Chewa; Nyanja", ny, nya, nya)
 DEFINE_LANGUAGE_CODE ("Chinese", zh, zho, chi)
 DEFINE_LANGUAGE_CODE3 ("Chinook jargon", chn, chn)
 DEFINE_LANGUAGE_CODE3 ("Chipewyan", chp, chp)
 DEFINE_LANGUAGE_CODE3 ("Choctaw", cho, cho)
-DEFINE_LANGUAGE_CODE ("Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic", cu, chu, chu)
+DEFINE_LANGUAGE_CODE ("Church Slavic", cu, chu, chu)
 DEFINE_LANGUAGE_CODE3 ("Chuukese", chk, chk)
 DEFINE_LANGUAGE_CODE ("Chuvash", cv, chv, chv)
-DEFINE_LANGUAGE_CODE3 ("Classical Newari; Old Newari; Classical Nepal Bhasa", nwc, nwc)
 DEFINE_LANGUAGE_CODE3 ("Coptic", cop, cop)
 DEFINE_LANGUAGE_CODE ("Cornish", kw, cor, cor)
 DEFINE_LANGUAGE_CODE ("Corsican", co, cos, cos)
-DEFINE_LANGUAGE_CODE3 ("Creek", mus, mus)
 DEFINE_LANGUAGE_CODE ("Cree", cr, cre, cre)
+DEFINE_LANGUAGE_CODE3 ("Creek", mus, mus)
 DEFINE_LANGUAGE_CODE3 ("Creoles and pidgins (Other)", crp, crp)
-DEFINE_LANGUAGE_CODE3 ("Creoles and pidgins, English based (Other)", cpe, cpe)
+DEFINE_LANGUAGE_CODE3 ("Creoles and pidgins, English-based (Other)", cpe, cpe)
 DEFINE_LANGUAGE_CODE3 ("Creoles and pidgins, French-based (Other)", cpf, cpf)
 DEFINE_LANGUAGE_CODE3 ("Creoles and pidgins, Portuguese-based (Other)", cpp, cpp)
 DEFINE_LANGUAGE_CODE3 ("Crimean Tatar; Crimean Turkish", crh, crh)
@@ -115,21 +114,21 @@ DEFINE_LANGUAGE_CODE3 ("Dayak", day, day)
 DEFINE_LANGUAGE_CODE3 ("Delaware", del, del)
 DEFINE_LANGUAGE_CODE3 ("Dinka", din, din)
 DEFINE_LANGUAGE_CODE ("Divehi", dv, div, div)
-DEFINE_LANGUAGE_CODE3 ("Dogrib", dgr, dgr)
 DEFINE_LANGUAGE_CODE3 ("Dogri", doi, doi)
+DEFINE_LANGUAGE_CODE3 ("Dogrib", dgr, dgr)
 DEFINE_LANGUAGE_CODE3 ("Dravidian (Other)", dra, dra)
 DEFINE_LANGUAGE_CODE3 ("Duala", dua, dua)
-DEFINE_LANGUAGE_CODE3 ("Dutch, Middle (ca.1050-1350)", dum, dum)
 DEFINE_LANGUAGE_CODE ("Dutch; Flemish", nl, nld, dut)
+DEFINE_LANGUAGE_CODE3 ("Dutch, Middle", dum, dum)
 DEFINE_LANGUAGE_CODE3 ("Dyula", dyu, dyu)
 DEFINE_LANGUAGE_CODE ("Dzongkha", dz, dzo, dzo)
 DEFINE_LANGUAGE_CODE3 ("Efik", efi, efi)
 DEFINE_LANGUAGE_CODE3 ("Egyptian (Ancient)", egy, egy)
 DEFINE_LANGUAGE_CODE3 ("Ekajuk", eka, eka)
 DEFINE_LANGUAGE_CODE3 ("Elamite", elx, elx)
-DEFINE_LANGUAGE_CODE3 ("English, Middle (1100-1500)", enm, enm)
-DEFINE_LANGUAGE_CODE3 ("English, Old (ca.450-1100)", ang, ang)
 DEFINE_LANGUAGE_CODE ("English", en, eng, eng)
+DEFINE_LANGUAGE_CODE3 ("English, Middle", enm, enm)
+DEFINE_LANGUAGE_CODE3 ("English, Old", ang, ang)
 DEFINE_LANGUAGE_CODE3 ("Erzya", myv, myv)
 DEFINE_LANGUAGE_CODE ("Esperanto", eo, epo, epo)
 DEFINE_LANGUAGE_CODE ("Estonian", et, est, est)
@@ -139,35 +138,36 @@ DEFINE_LANGUAGE_CODE3 ("Fang", fan, fan)
 DEFINE_LANGUAGE_CODE3 ("Fanti", fat, fat)
 DEFINE_LANGUAGE_CODE ("Faroese", fo, fao, fao)
 DEFINE_LANGUAGE_CODE ("Fijian", fj, fij, fij)
-DEFINE_LANGUAGE_CODE3 ("Filipino; Pilipino", fil, fil)
 DEFINE_LANGUAGE_CODE ("Finnish", fi, fin, fin)
 DEFINE_LANGUAGE_CODE3 ("Finno-Ugrian (Other)", fiu, fiu)
 DEFINE_LANGUAGE_CODE3 ("Fon", fon, fon)
-DEFINE_LANGUAGE_CODE3 ("French, Middle (ca.1400-1800)", frm, frm)
-DEFINE_LANGUAGE_CODE3 ("French, Old (842-ca.1400)", fro, fro)
 DEFINE_LANGUAGE_CODE ("French", fr, fra, fre)
+DEFINE_LANGUAGE_CODE3 ("French, Middle", frm, frm)
+DEFINE_LANGUAGE_CODE3 ("French, Old", fro, fro)
 DEFINE_LANGUAGE_CODE ("Frisian", fy, fry, fry)
 DEFINE_LANGUAGE_CODE3 ("Friulian", fur, fur)
 DEFINE_LANGUAGE_CODE ("Fulah", ff, ful, ful)
-DEFINE_LANGUAGE_CODE ("Gaelic; Scottish Gaelic", gd, gla, gla)
+DEFINE_LANGUAGE_CODE3 ("Ga", gaa, gaa)
+DEFINE_LANGUAGE_CODE ("Gaelic (Scots)", gd, gla, gla)
 DEFINE_LANGUAGE_CODE ("Gallegan", gl, glg, glg)
 DEFINE_LANGUAGE_CODE ("Ganda", lg, lug, lug)
 DEFINE_LANGUAGE_CODE3 ("Gayo", gay, gay)
-DEFINE_LANGUAGE_CODE3 ("Ga", gaa, gaa)
 DEFINE_LANGUAGE_CODE3 ("Gbaya", gba, gba)
 DEFINE_LANGUAGE_CODE3 ("Geez", gez, gez)
 DEFINE_LANGUAGE_CODE ("Georgian", ka, kat, geo)
-DEFINE_LANGUAGE_CODE3 ("German, Middle High (ca.1050-1500)", gmh, gmh)
-DEFINE_LANGUAGE_CODE3 ("German, Old High (ca.750-1050)", goh, goh)
-DEFINE_LANGUAGE_CODE3 ("Germanic (Other)", gem, gem)
 DEFINE_LANGUAGE_CODE ("German", de, deu, ger)
+DEFINE_LANGUAGE_CODE3 ("German,  Low; Saxon, Low", nds, nds)
+DEFINE_LANGUAGE_CODE3 ("German, Middle High", gmh, gmh)
+DEFINE_LANGUAGE_CODE3 ("German, Old High", goh, goh)
+DEFINE_LANGUAGE_CODE3 ("Germanic (Other)", gem, gem)
+DEFINE_LANGUAGE_CODE ("Gikuyu; Kikuyu", ki, kik, kik)
 DEFINE_LANGUAGE_CODE3 ("Gilbertese", gil, gil)
 DEFINE_LANGUAGE_CODE3 ("Gondi", gon, gon)
 DEFINE_LANGUAGE_CODE3 ("Gorontalo", gor, gor)
 DEFINE_LANGUAGE_CODE3 ("Gothic", got, got)
 DEFINE_LANGUAGE_CODE3 ("Grebo", grb, grb)
-DEFINE_LANGUAGE_CODE3 ("Greek, Ancient (to 1453)", grc, grc)
-DEFINE_LANGUAGE_CODE ("Greek, Modern (1453-)", el, ell, gre)
+DEFINE_LANGUAGE_CODE3 ("Greek, Ancient", grc, grc)
+DEFINE_LANGUAGE_CODE ("Greek, Modern", el, gre, ell)
 DEFINE_LANGUAGE_CODE ("Guarani", gn, grn, grn)
 DEFINE_LANGUAGE_CODE ("Gujarati", gu, guj, guj)
 DEFINE_LANGUAGE_CODE3 ("Gwich´in", gwi, gwi)
@@ -196,30 +196,29 @@ DEFINE_LANGUAGE_CODE3 ("Indic (Other)", inc, inc)
 DEFINE_LANGUAGE_CODE3 ("Indo-European (Other)", ine, ine)
 DEFINE_LANGUAGE_CODE ("Indonesian", id, ind, ind)
 DEFINE_LANGUAGE_CODE3 ("Ingush", inh, inh)
-DEFINE_LANGUAGE_CODE ("Interlingua (International Auxiliary Language Association)", ia, ina, ina)
+DEFINE_LANGUAGE_CODE ("Interlingua", ia, ina, ina)
 DEFINE_LANGUAGE_CODE ("Interlingue", ie, ile, ile)
 DEFINE_LANGUAGE_CODE ("Inuktitut", iu, iku, iku)
 DEFINE_LANGUAGE_CODE ("Inupiaq", ik, ipk, ipk)
 DEFINE_LANGUAGE_CODE3 ("Iranian (Other)", ira, ira)
-DEFINE_LANGUAGE_CODE3 ("Irish, Middle (900-1200)", mga, mga)
-DEFINE_LANGUAGE_CODE3 ("Irish, Old (to 900)", sga, sga)
 DEFINE_LANGUAGE_CODE ("Irish", ga, gle, gle)
+DEFINE_LANGUAGE_CODE3 ("Irish, Middle", mga, mga)
+DEFINE_LANGUAGE_CODE3 ("Irish, Old", sga, sga)
 DEFINE_LANGUAGE_CODE3 ("Iroquoian languages", iro, iro)
 DEFINE_LANGUAGE_CODE ("Italian", it, ita, ita)
 DEFINE_LANGUAGE_CODE ("Japanese", ja, jpn, jpn)
-DEFINE_LANGUAGE_CODE ("Javanese", jv, jav, jav)
+DEFINE_LANGUAGE_CODE ("Javanese", jv, jaw, jav)
 DEFINE_LANGUAGE_CODE3 ("Judeo-Arabic", jrb, jrb)
 DEFINE_LANGUAGE_CODE3 ("Judeo-Persian", jpr, jpr)
 DEFINE_LANGUAGE_CODE3 ("Kabardian", kbd, kbd)
 DEFINE_LANGUAGE_CODE3 ("Kabyle", kab, kab)
 DEFINE_LANGUAGE_CODE3 ("Kachin", kac, kac)
-DEFINE_LANGUAGE_CODE ("Kalaallisut; Greenlandic", kl, kal, kal)
-DEFINE_LANGUAGE_CODE3 ("Kalmyk", xal, xal)
+DEFINE_LANGUAGE_CODE ("Kalaallisut (Greenlandic)", kl, kal, kal)
 DEFINE_LANGUAGE_CODE3 ("Kamba", kam, kam)
 DEFINE_LANGUAGE_CODE ("Kannada", kn, kan, kan)
 DEFINE_LANGUAGE_CODE ("Kanuri", kr, kau, kau)
-DEFINE_LANGUAGE_CODE3 ("Kara-Kalpak", kaa, kaa)
 DEFINE_LANGUAGE_CODE3 ("Karachay-Balkar", krc, krc)
+DEFINE_LANGUAGE_CODE3 ("Kara-Kalpak", kaa, kaa)
 DEFINE_LANGUAGE_CODE3 ("Karen", kar, kar)
 DEFINE_LANGUAGE_CODE ("Kashmiri", ks, kas, kas)
 DEFINE_LANGUAGE_CODE3 ("Kashubian", csb, csb)
@@ -229,11 +228,10 @@ DEFINE_LANGUAGE_CODE3 ("Khasi", kha, kha)
 DEFINE_LANGUAGE_CODE ("Khmer", km, khm, khm)
 DEFINE_LANGUAGE_CODE3 ("Khoisan (Other)", khi, khi)
 DEFINE_LANGUAGE_CODE3 ("Khotanese", kho, kho)
-DEFINE_LANGUAGE_CODE ("Kikuyu; Gikuyu", ki, kik, kik)
+DEFINE_LANGUAGE_CODE ("Kikuyu", ki, kik, kik)
 DEFINE_LANGUAGE_CODE3 ("Kimbundu", kmb, kmb)
 DEFINE_LANGUAGE_CODE ("Kinyarwanda", rw, kin, kin)
 DEFINE_LANGUAGE_CODE ("Kirghiz", ky, kir, kir)
-DEFINE_LANGUAGE_CODE3 ("Klingon; tlhIngan-Hol", tlh, tlh)
 DEFINE_LANGUAGE_CODE ("Komi", kv, kom, kom)
 DEFINE_LANGUAGE_CODE ("Kongo", kg, kon, kon)
 DEFINE_LANGUAGE_CODE3 ("Konkani", kok, kok)
@@ -241,7 +239,7 @@ DEFINE_LANGUAGE_CODE ("Korean", ko, kor, kor)
 DEFINE_LANGUAGE_CODE3 ("Kosraean", kos, kos)
 DEFINE_LANGUAGE_CODE3 ("Kpelle", kpe, kpe)
 DEFINE_LANGUAGE_CODE3 ("Kru", kro, kro)
-DEFINE_LANGUAGE_CODE ("Kuanyama; Kwanyama", kj, kua, kua)
+DEFINE_LANGUAGE_CODE ("Kuanyama", kj, kua, kua)
 DEFINE_LANGUAGE_CODE3 ("Kumyk", kum, kum)
 DEFINE_LANGUAGE_CODE ("Kurdish", ku, kur, kur)
 DEFINE_LANGUAGE_CODE3 ("Kurukh", kru, kru)
@@ -252,13 +250,11 @@ DEFINE_LANGUAGE_CODE3 ("Lamba", lam, lam)
 DEFINE_LANGUAGE_CODE ("Lao", lo, lao, lao)
 DEFINE_LANGUAGE_CODE ("Latin", la, lat, lat)
 DEFINE_LANGUAGE_CODE ("Latvian", lv, lav, lav)
+DEFINE_LANGUAGE_CODE ("Letzeburgesch", lb, ltz, ltz)
 DEFINE_LANGUAGE_CODE3 ("Lezghian", lez, lez)
 DEFINE_LANGUAGE_CODE ("Limburgan; Limburger; Limburgish", li, lim, lim)
 DEFINE_LANGUAGE_CODE ("Lingala", ln, lin, lin)
 DEFINE_LANGUAGE_CODE ("Lithuanian", lt, lit, lit)
-DEFINE_LANGUAGE_CODE3 ("Lojban", jbo, jbo)
-DEFINE_LANGUAGE_CODE3 ("Low German; Low Saxon; German, Low; Saxon, Low", nds, nds)
-DEFINE_LANGUAGE_CODE3 ("Lower Sorbian", dsb, dsb)
 DEFINE_LANGUAGE_CODE3 ("Lozi", loz, loz)
 DEFINE_LANGUAGE_CODE ("Luba-Katanga", lu, lub, lub)
 DEFINE_LANGUAGE_CODE3 ("Luba-Lulua", lua, lua)
@@ -267,15 +263,14 @@ DEFINE_LANGUAGE_CODE3 ("Lule Sami", smj, smj)
 DEFINE_LANGUAGE_CODE3 ("Lunda", lun, lun)
 DEFINE_LANGUAGE_CODE3 ("Luo (Kenya and Tanzania)", luo, luo)
 DEFINE_LANGUAGE_CODE3 ("Lushai", lus, lus)
-DEFINE_LANGUAGE_CODE ("Luxembourgish; Letzeburgesch", lb, ltz, ltz)
 DEFINE_LANGUAGE_CODE ("Macedonian", mk, mkd, mac)
 DEFINE_LANGUAGE_CODE3 ("Madurese", mad, mad)
 DEFINE_LANGUAGE_CODE3 ("Magahi", mag, mag)
 DEFINE_LANGUAGE_CODE3 ("Maithili", mai, mai)
 DEFINE_LANGUAGE_CODE3 ("Makasar", mak, mak)
 DEFINE_LANGUAGE_CODE ("Malagasy", mg, mlg, mlg)
-DEFINE_LANGUAGE_CODE ("Malayalam", ml, mal, mal)
 DEFINE_LANGUAGE_CODE ("Malay", ms, msa, may)
+DEFINE_LANGUAGE_CODE ("Malayalam", ml, mal, mal)
 DEFINE_LANGUAGE_CODE ("Maltese", mt, mlt, mlt)
 DEFINE_LANGUAGE_CODE3 ("Manchu", mnc, mnc)
 DEFINE_LANGUAGE_CODE3 ("Mandar", mdr, mdr)
@@ -291,46 +286,42 @@ DEFINE_LANGUAGE_CODE3 ("Marwari", mwr, mwr)
 DEFINE_LANGUAGE_CODE3 ("Masai", mas, mas)
 DEFINE_LANGUAGE_CODE3 ("Mayan languages", myn, myn)
 DEFINE_LANGUAGE_CODE3 ("Mende", men, men)
-DEFINE_LANGUAGE_CODE3 ("Mi'kmaq; Micmac", mic, mic)
+DEFINE_LANGUAGE_CODE3 ("Micmac", mic, mic)
 DEFINE_LANGUAGE_CODE3 ("Minangkabau", min, min)
-DEFINE_LANGUAGE_CODE3 ("Mirandese", mwl, mwl)
 DEFINE_LANGUAGE_CODE3 ("Miscellaneous languages", mis, mis)
 DEFINE_LANGUAGE_CODE3 ("Mohawk", moh, moh)
 DEFINE_LANGUAGE_CODE3 ("Moksha", mdf, mdf)
 DEFINE_LANGUAGE_CODE ("Moldavian", mo, mol, mol)
 DEFINE_LANGUAGE_CODE3 ("Mon-Khmer (Other)", mkh, mkh)
-DEFINE_LANGUAGE_CODE ("Mongolian", mn, mon, mon)
 DEFINE_LANGUAGE_CODE3 ("Mongo", lol, lol)
+DEFINE_LANGUAGE_CODE ("Mongolian", mn, mon, mon)
 DEFINE_LANGUAGE_CODE3 ("Mossi", mos, mos)
-DEFINE_LANGUAGE_CODE3 ("Multiple languages", mul, mul)
 DEFINE_LANGUAGE_CODE3 ("Munda languages", mun, mun)
 DEFINE_LANGUAGE_CODE3 ("Nahuatl", nah, nah)
 DEFINE_LANGUAGE_CODE ("Nauru", na, nau, nau)
-DEFINE_LANGUAGE_CODE ("Navajo; Navaho", nv, nav, nav)
-DEFINE_LANGUAGE_CODE ("Ndebele, North; North Ndebele", nd, nde, nde)
-DEFINE_LANGUAGE_CODE ("Ndebele, South; South Ndebele", nr, nbl, nbl)
+DEFINE_LANGUAGE_CODE ("Navajo", nv, nav, nav)
+DEFINE_LANGUAGE_CODE ("Ndebele, North", nd, nde, nde)
+DEFINE_LANGUAGE_CODE ("Ndebele, South", nr, nbl, nbl)
 DEFINE_LANGUAGE_CODE ("Ndonga", ng, ndo, ndo)
 DEFINE_LANGUAGE_CODE3 ("Neapolitan", nap, nap)
-DEFINE_LANGUAGE_CODE3 ("Nepal Bhasa; Newari", new, new)
 DEFINE_LANGUAGE_CODE ("Nepali", ne, nep, nep)
+DEFINE_LANGUAGE_CODE3 ("Newari", new, new)
 DEFINE_LANGUAGE_CODE3 ("Nias", nia, nia)
 DEFINE_LANGUAGE_CODE3 ("Niger-Kordofanian (Other)", nic, nic)
 DEFINE_LANGUAGE_CODE3 ("Nilo-Saharan (Other)", ssa, ssa)
 DEFINE_LANGUAGE_CODE3 ("Niuean", niu, niu)
 DEFINE_LANGUAGE_CODE3 ("Nogai", nog, nog)
 DEFINE_LANGUAGE_CODE3 ("Norse, Old", non, non)
-DEFINE_LANGUAGE_CODE3 ("North American Indian", nai, nai)
+DEFINE_LANGUAGE_CODE3 ("North  American  Indian  (Other)", nai, nai)
 DEFINE_LANGUAGE_CODE ("Northern Sami", se, sme, sme)
-DEFINE_LANGUAGE_CODE3 ("Northern Sotho; Pedi; Sepedi", nso, nso)
+DEFINE_LANGUAGE_CODE ("Norwegian", no, nor, nor)
 DEFINE_LANGUAGE_CODE ("Norwegian Bokmål", nb, nob, nob)
 DEFINE_LANGUAGE_CODE ("Norwegian Nynorsk", nn, nno, nno)
-DEFINE_LANGUAGE_CODE ("Norwegian", no, nor, nor)
 DEFINE_LANGUAGE_CODE3 ("Nubian languages", nub, nub)
 DEFINE_LANGUAGE_CODE3 ("Nyamwezi", nym, nym)
 DEFINE_LANGUAGE_CODE3 ("Nyankole", nyn, nyn)
 DEFINE_LANGUAGE_CODE3 ("Nyoro", nyo, nyo)
 DEFINE_LANGUAGE_CODE3 ("Nzima", nzi, nzi)
-DEFINE_LANGUAGE_CODE ("Occitan (post 1500); Provençal", oc, oci, oci)
 DEFINE_LANGUAGE_CODE ("Ojibwa", oj, oji, oji)
 DEFINE_LANGUAGE_CODE ("Oriya", or, ori, ori)
 DEFINE_LANGUAGE_CODE ("Oromo", om, orm, orm)
@@ -342,17 +333,18 @@ DEFINE_LANGUAGE_CODE3 ("Palauan", pau, pau)
 DEFINE_LANGUAGE_CODE ("Pali", pi, pli, pli)
 DEFINE_LANGUAGE_CODE3 ("Pampanga", pam, pam)
 DEFINE_LANGUAGE_CODE3 ("Pangasinan", pag, pag)
-DEFINE_LANGUAGE_CODE ("Panjabi; Punjabi", pa, pan, pan)
+DEFINE_LANGUAGE_CODE ("Panjabi", pa, pan, pan)
 DEFINE_LANGUAGE_CODE3 ("Papiamento", pap, pap)
 DEFINE_LANGUAGE_CODE3 ("Papuan (Other)", paa, paa)
-DEFINE_LANGUAGE_CODE3 ("Persian, Old (ca.600-400 B.C.)", peo, peo)
 DEFINE_LANGUAGE_CODE ("Persian", fa, fas, per)
+DEFINE_LANGUAGE_CODE3 ("Persian, Old (ca.600-400 B.C.E.)", peo, peo)
 DEFINE_LANGUAGE_CODE3 ("Philippine (Other)", phi, phi)
 DEFINE_LANGUAGE_CODE3 ("Phoenician", phn, phn)
 DEFINE_LANGUAGE_CODE3 ("Pohnpeian", pon, pon)
 DEFINE_LANGUAGE_CODE ("Polish", pl, pol, pol)
 DEFINE_LANGUAGE_CODE ("Portuguese", pt, por, por)
-DEFINE_LANGUAGE_CODE3 ("Prakrit languages", pra, pra)
+DEFINE_LANGUAGE_CODE3 ("Prakrit", pra, pra)
+DEFINE_LANGUAGE_CODE ("Provençal; Occitan (post 1500)", oc, oci, oci)
 DEFINE_LANGUAGE_CODE3 ("Provençal, Old (to 1500)", pro, pro)
 DEFINE_LANGUAGE_CODE ("Pushto", ps, pus, pus)
 DEFINE_LANGUAGE_CODE ("Quechua", qu, que, que)
@@ -383,12 +375,10 @@ DEFINE_LANGUAGE_CODE3 ("Serer", srr, srr)
 DEFINE_LANGUAGE_CODE3 ("Shan", shn, shn)
 DEFINE_LANGUAGE_CODE ("Shona", sn, sna, sna)
 DEFINE_LANGUAGE_CODE ("Sichuan Yi", ii, iii, iii)
-DEFINE_LANGUAGE_CODE3 ("Sicilian", scn, scn)
 DEFINE_LANGUAGE_CODE3 ("Sidamo", sid, sid)
-DEFINE_LANGUAGE_CODE3 ("Sign Languages", sgn, sgn)
 DEFINE_LANGUAGE_CODE3 ("Siksika", bla, bla)
 DEFINE_LANGUAGE_CODE ("Sindhi", sd, snd, snd)
-DEFINE_LANGUAGE_CODE ("Sinhala; Sinhalese", si, sin, sin)
+DEFINE_LANGUAGE_CODE ("Sinhalese", si, sin, sin)
 DEFINE_LANGUAGE_CODE3 ("Sino-Tibetan (Other)", sit, sit)
 DEFINE_LANGUAGE_CODE3 ("Siouan languages", sio, sio)
 DEFINE_LANGUAGE_CODE3 ("Skolt Sami", sms, sms)
@@ -401,10 +391,11 @@ DEFINE_LANGUAGE_CODE ("Somali", so, som, som)
 DEFINE_LANGUAGE_CODE3 ("Songhai", son, son)
 DEFINE_LANGUAGE_CODE3 ("Soninke", snk, snk)
 DEFINE_LANGUAGE_CODE3 ("Sorbian languages", wen, wen)
+DEFINE_LANGUAGE_CODE3 ("Sotho, Northern", nso, nso)
 DEFINE_LANGUAGE_CODE ("Sotho, Southern", st, sot, sot)
 DEFINE_LANGUAGE_CODE3 ("South American Indian (Other)", sai, sai)
 DEFINE_LANGUAGE_CODE3 ("Southern Sami", sma, sma)
-DEFINE_LANGUAGE_CODE ("Spanish; Castilian", es, spa, spa)
+DEFINE_LANGUAGE_CODE ("Spanish", es, spa, spa)
 DEFINE_LANGUAGE_CODE3 ("Sukuma", suk, suk)
 DEFINE_LANGUAGE_CODE3 ("Sumerian", sux, sux)
 DEFINE_LANGUAGE_CODE ("Sundanese", su, sun, sun)
@@ -439,23 +430,21 @@ DEFINE_LANGUAGE_CODE ("Tsonga", ts, tso, tso)
 DEFINE_LANGUAGE_CODE ("Tswana", tn, tsn, tsn)
 DEFINE_LANGUAGE_CODE3 ("Tumbuka", tum, tum)
 DEFINE_LANGUAGE_CODE3 ("Tupi languages", tup, tup)
-DEFINE_LANGUAGE_CODE3 ("Turkish, Ottoman (1500-1928)", ota, ota)
 DEFINE_LANGUAGE_CODE ("Turkish", tr, tur, tur)
+DEFINE_LANGUAGE_CODE3 ("Turkish, Ottoman (1500-1928)", ota, ota)
 DEFINE_LANGUAGE_CODE ("Turkmen", tk, tuk, tuk)
 DEFINE_LANGUAGE_CODE3 ("Tuvalu", tvl, tvl)
 DEFINE_LANGUAGE_CODE3 ("Tuvinian", tyv, tyv)
 DEFINE_LANGUAGE_CODE ("Twi", tw, twi, twi)
 DEFINE_LANGUAGE_CODE3 ("Udmurt", udm, udm)
 DEFINE_LANGUAGE_CODE3 ("Ugaritic", uga, uga)
-DEFINE_LANGUAGE_CODE ("Uighur; Uyghur", ug, uig, uig)
+DEFINE_LANGUAGE_CODE ("Uighur", ug, uig, uig)
 DEFINE_LANGUAGE_CODE ("Ukrainian", uk, ukr, ukr)
 DEFINE_LANGUAGE_CODE3 ("Umbundu", umb, umb)
-DEFINE_LANGUAGE_CODE3 ("Undetermined", und, und)
-DEFINE_LANGUAGE_CODE3 ("Upper Sorbian", hsb, hsb)
 DEFINE_LANGUAGE_CODE ("Urdu", ur, urd, urd)
 DEFINE_LANGUAGE_CODE ("Uzbek", uz, uzb, uzb)
 DEFINE_LANGUAGE_CODE3 ("Vai", vai, vai)
-DEFINE_LANGUAGE_CODE ("Venda", ve, ven, ven)
+DEFINE_LANGUAGE_CODE3 ("Venda", ven, ven)
 DEFINE_LANGUAGE_CODE ("Vietnamese", vi, vie, vie)
 DEFINE_LANGUAGE_CODE ("Volapük", vo, vol, vol)
 DEFINE_LANGUAGE_CODE3 ("Votic", vot, vot)
@@ -476,6 +465,6 @@ DEFINE_LANGUAGE_CODE3 ("Yupik languages", ypk, ypk)
 DEFINE_LANGUAGE_CODE3 ("Zande", znd, znd)
 DEFINE_LANGUAGE_CODE3 ("Zapotec", zap, zap)
 DEFINE_LANGUAGE_CODE3 ("Zenaga", zen, zen)
-DEFINE_LANGUAGE_CODE ("Zhuang; Chuang", za, zha, zha)
+DEFINE_LANGUAGE_CODE ("Zhuang", za, zha, zha)
 DEFINE_LANGUAGE_CODE ("Zulu", zu, zul, zul)
 DEFINE_LANGUAGE_CODE3 ("Zuni", zun, zun)
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 10c4232918..15ff950bd5 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -1,5 +1,5 @@
 /* Access to locale-dependent parameters.
-   Copyright (C) 1995-2002,2003,2004,2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -38,6 +38,7 @@ __BEGIN_DECLS
 #define _NL_ITEM_CATEGORY(item)		((int) (item) >> 16)
 #define _NL_ITEM_INDEX(item)		((int) (item) & 0xffff)
 
+
 /* Enumeration of locale items that can be queried with `nl_langinfo'.  */
 enum
 {
@@ -565,13 +566,6 @@ enum
   _NL_NUM
 };
 
-/* This macro produces an item you can pass to `nl_langinfo' or
-   `nl_langinfo_l' to get the name of the locale in use for CATEGORY.  */
-#define _NL_LOCALE_NAME(category)	_NL_ITEM ((category), -1)
-#ifdef __USE_GNU
-# define NL_LOCALE_NAME(category)	_NL_LOCALE_NAME (category)
-#endif
-
 
 /* Return the current locale's value for ITEM.
    If ITEM is invalid, an empty string is returned.
diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
index a0a54fbd8d..21964b9130 100644
--- a/locale/lc-ctype.c
+++ b/locale/lc-ctype.c
@@ -1,5 +1,5 @@
 /* Define current locale data for LC_CTYPE category.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003,2005
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -102,8 +102,8 @@ compat_symbol (libc, __ctype32_tolower, __ctype32_tolower, GLIBC_2_2);
 compat_symbol (libc, __ctype32_toupper, __ctype32_toupper, GLIBC_2_2);
 
   __ctype_b = current (uint16_t, CLASS, 128);
-  __ctype_toupper = current (int32_t, TOUPPER, 128);
-  __ctype_tolower = current (int32_t, TOLOWER, 128);
+  __ctype_toupper = current (uint32_t, TOUPPER, 128);
+  __ctype_tolower = current (uint32_t, TOLOWER, 128);
   __ctype32_b = current (uint32_t, CLASS32, 0);
   __ctype32_toupper = current (uint32_t, TOUPPER32, 0);
   __ctype32_tolower = current (uint32_t, TOLOWER32, 0);
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
index d545f17fb5..80bab9e7c9 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -1,5 +1,5 @@
 /* Code to load locale data from the locale archive file.
-   Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -185,9 +185,9 @@ _nl_load_locale_from_archive (int category, const char **namep)
 	    memcpy (__mempcpy (__mempcpy (newname, name, p - name),
 			       normalized_codeset, normlen),
 		    rest, restlen);
+	    free ((char *) normalized_codeset);
 	    name = newname;
 	  }
-	free ((char *) normalized_codeset);
       }
   }
 
diff --git a/locale/loadlocale.c b/locale/loadlocale.c
index 467dff157a..11ece50a22 100644
--- a/locale/loadlocale.c
+++ b/locale/loadlocale.c
@@ -1,5 +1,5 @@
 /* Functions to read locale data files.
-   Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -52,7 +52,7 @@ static const enum value_type _nl_value_type_##category[] = { NO_PAREN items };
 #include "categories.def"
 #undef DEFINE_CATEGORY
 
-static const enum value_type *const _nl_value_types[] =
+static const enum value_type *_nl_value_types[] =
 {
 #define DEFINE_CATEGORY(category, category_name, items, a) \
   [category] = _nl_value_type_##category,
@@ -198,7 +198,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
 			      + 5 + _nl_category_name_sizes[category] + 1);
       __mempcpy (__mempcpy (__mempcpy (newp, file->filename, filenamelen),
 			    "/SYS_", 5),
-		 _nl_category_names.str + _nl_category_name_idxs[category],
+		 _nl_category_names[category],
 		 _nl_category_name_sizes[category] + 1);
 
       fd = open_not_cancel_2 (newp, O_RDONLY);
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index 4f746a298d..065ee18cf9 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -1,5 +1,5 @@
 /* Declarations for internal libc locale interfaces
-   Copyright (C) 1995-2003, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1995-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -31,10 +31,7 @@
 #include <intl/loadinfo.h>	/* For loaded_l10nfile definition.  */
 
 /* Magic number at the beginning of a locale data file for CATEGORY.  */
-#define	LIMAGIC(category) \
-  (category == LC_COLLATE						\
-   ? ((unsigned int) (0x20051014 ^ (category)))				\
-   : ((unsigned int) (0x20031115 ^ (category))))
+#define	LIMAGIC(category)	((unsigned int) (0x20031115 ^ (category)))
 
 /* Two special weight constants for the collation data.  */
 #define IGNORE_CHAR	2
@@ -172,22 +169,8 @@ enum
 #define _ISCTYPE(c, desc) \
   (((((const uint32_t *) (desc)) - 8)[(c) >> 5] >> ((c) & 0x1f)) & 1)
 
-/* Category name handling variables.  */
-#define CATNAMEMF(line) CATNAMEMF1 (line)
-#define CATNAMEMF1(line) str##line
-extern const union catnamestr_t
-{
-  struct
-  {
-#define DEFINE_CATEGORY(category, category_name, items, a) \
-    char CATNAMEMF (__LINE__)[sizeof (category_name)];
-#include "categories.def"
-#undef DEFINE_CATEGORY
-  };
-  char str[0];
-} _nl_category_names attribute_hidden;
-const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden;
-extern const uint8_t _nl_category_name_sizes[__LC_LAST] attribute_hidden;
+extern const char *const _nl_category_names[__LC_LAST] attribute_hidden;
+extern const size_t _nl_category_name_sizes[__LC_LAST] attribute_hidden;
 
 /* Name of the standard locales.  */
 extern const char _nl_C_name[] attribute_hidden;
diff --git a/locale/newlocale.c b/locale/newlocale.c
index 0c31ba48ae..b646ffeacd 100644
--- a/locale/newlocale.c
+++ b/locale/newlocale.c
@@ -1,5 +1,5 @@
 /* Return a reference to locale information record.
-   Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006
+   Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2004
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -66,7 +66,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
   if (locale == NULL)
     ERROR_RETURN;
 
-  if (base == _nl_C_locobj_ptr)
+  if (base == &_nl_C_locobj)
     /* We're to modify BASE, returned for a previous call with "C".
        We can't really modify the read-only structure, so instead
        start over by copying it.  */
@@ -75,7 +75,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
   if ((base == NULL || category_mask == (1 << __LC_LAST) - 1 - (1 << LC_ALL))
       && (category_mask == 0 || !strcmp (locale, "C")))
     /* Asking for the "C" locale needn't allocate a new object.  */
-    return _nl_C_locobj_ptr;
+    return &_nl_C_locobj;
 
   /* Allocate memory for the result.  */
   if (base != NULL)
@@ -133,8 +133,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
 	  for (cnt = 0; cnt < __LC_LAST; ++cnt)
 	    if (cnt != LC_ALL
 		&& (size_t) (cp - np) == _nl_category_name_sizes[cnt]
-		&& memcmp (np, (_nl_category_names.str
-				+ _nl_category_name_idxs[cnt]), cp - np) == 0)
+		&& memcmp (np, _nl_category_names[cnt], cp - np) == 0)
 	      break;
 
 	  if (cnt == __LC_LAST)
diff --git a/locale/nl_langinfo.c b/locale/nl_langinfo.c
index c5fbf19e15..2314b80f0f 100644
--- a/locale/nl_langinfo.c
+++ b/locale/nl_langinfo.c
@@ -1,6 +1,5 @@
 /* User interface for extracting locale-dependent parameters.
-   Copyright (C) 1995,96,97,99,2000,2001,2002,2005
-	Free Software Foundation, Inc.
+   Copyright (C) 1995,96,97,99,2000,01,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -46,18 +45,6 @@ nl_langinfo (item)
     /* Bogus category: bogus item.  */
     return (char *) "";
 
-  /* Special case value for NL_LOCALE_NAME (category).
-     This is not a real item index in the string table.  */
-  if (index == _NL_ITEM_INDEX (_NL_LOCALE_NAME (category)))
-    {
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# define THISLOCALE l
-#else
-# define THISLOCALE _NL_CURRENT_LOCALE
-#endif
-      return (char *) THISLOCALE->__names[category];
-    }
-
 #ifdef USE_IN_EXTENDED_LOCALE_MODEL
   data = l->__locales[category];
 #elif defined NL_CURRENT_INDIRECT
diff --git a/locale/programs/3level.h b/locale/programs/3level.h
index 88f1b49724..ef4ba2bbc0 100644
--- a/locale/programs/3level.h
+++ b/locale/programs/3level.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Bruno Haible <haible@clisp.cons.org>, 2000.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 /* Construction of sparse 3-level tables.
    See wchar-lookup.h or coll-lookup.h for their structure and the
@@ -202,42 +204,6 @@ CONCAT(TABLE,_iterate) (struct TABLE *t,
 	}
     }
 }
-
-/* GCC ATM seems to do a poor job with pointers to nested functions passed
-   to inlined functions.  Help it a little bit with this hack.  */
-#define wchead_table_iterate(tp, fn) \
-do									      \
-  {									      \
-    struct wchead_table *t = (tp);					      \
-    uint32_t index1;							      \
-    for (index1 = 0; index1 < t->level1_size; index1++)			      \
-      {									      \
-	uint32_t lookup1 = t->level1[index1];				      \
-	if (lookup1 != ((uint32_t) ~0))					      \
-	  {								      \
-	    uint32_t lookup1_shifted = lookup1 << t->q;			      \
-	    uint32_t index2;						      \
-	    for (index2 = 0; index2 < (1 << t->q); index2++)		      \
-	      {								      \
-		uint32_t lookup2 = t->level2[index2 + lookup1_shifted];	      \
-		if (lookup2 != ((uint32_t) ~0))				      \
-		  {							      \
-		    uint32_t lookup2_shifted = lookup2 << t->p;		      \
-		    uint32_t index3;					      \
-		    for (index3 = 0; index3 < (1 << t->p); index3++)	      \
-		      {							      \
-			struct element_t *lookup3			      \
-			  = t->level3[index3 + lookup2_shifted];	      \
-			if (lookup3 != NULL)				      \
-			  fn ((((index1 << t->q) + index2) << t->p) + index3, \
-			      lookup3);					      \
-		      }							      \
-		  }							      \
-	      }								      \
-	  }								      \
-      }									      \
-  } while (0)
-
 #endif
 
 #ifndef NO_FINALIZE
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
index 07d0cdcfd0..903bd5cabc 100644
--- a/locale/programs/charmap-dir.c
+++ b/locale/programs/charmap-dir.c
@@ -1,18 +1,20 @@
-/* Copyright (C) 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #include <dirent.h>
 #include <errno.h>
diff --git a/locale/programs/charmap-dir.h b/locale/programs/charmap-dir.h
index 256db8dc35..1d07c64ec1 100644
--- a/locale/programs/charmap-dir.h
+++ b/locale/programs/charmap-dir.h
@@ -1,18 +1,20 @@
-/* Copyright (C) 2000, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _CHARMAP_DIR_H
 #define _CHARMAP_DIR_H 1
diff --git a/locale/programs/charmap-kw.gperf b/locale/programs/charmap-kw.gperf
index 64f7452500..83da36aa74 100644
--- a/locale/programs/charmap-kw.gperf
+++ b/locale/programs/charmap-kw.gperf
@@ -1,20 +1,22 @@
 %{
-/* Copyright (C) 1995,1996,1997,1998,1999,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.org>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #include <string.h>
 
diff --git a/locale/programs/charmap-kw.h b/locale/programs/charmap-kw.h
index d7d85774da..089f45d7d8 100644
--- a/locale/programs/charmap-kw.h
+++ b/locale/programs/charmap-kw.h
@@ -1,56 +1,27 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash charmap-kw.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "charmap-kw.gperf"
-
-/* Copyright (C) 1995,1996,1997,1998,1999,2005 Free Software Foundation, Inc.
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash programs/charmap-kw.gperf  */
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.org>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #include <string.h>
 
 #include "locfile-token.h"
-#line 23 "charmap-kw.gperf"
 struct keyword_t ;
 
 #define TOTAL_KEYWORDS 17
@@ -76,15 +47,15 @@ hash (register const char *str, register unsigned int len)
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
-      36, 36, 36, 36, 36, 36, 36, 36, 25, 20,
-      15, 10, 36, 36, 36, 36, 36, 36, 36, 36,
-      36, 36, 36, 36, 36, 36, 36,  5,  0,  0,
-       5, 36,  0,  0, 36, 36, 36,  5,  0, 36,
+      36, 36, 36, 36, 36, 36, 36, 36, 25, 10,
+      15, 20, 36, 36, 36, 36, 36, 36, 36, 36,
+      36, 36, 36, 36, 36, 36, 36, 10,  0,  0,
+       5, 36,  0,  0, 36, 36, 36,  0,  0, 36,
        0, 36,  0, 36,  0, 36, 36,  0, 36, 36,
-      36, 36, 36, 36, 36,  0, 36,  5,  0,  0,
-       5,  0, 36,  5,  0,  0, 36, 36, 36,  0,
+      36, 36, 36, 36, 36,  0, 36,  0,  0,  0,
+      10,  0, 36,  0,  0,  0, 36, 36, 36,  0,
        0,  0,  0,  0,  0,  0,  0,  0, 36, 36,
-       0, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+      25, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
@@ -104,19 +75,17 @@ hash (register const char *str, register unsigned int len)
   switch (hval)
     {
       default:
+      case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
       case 7:
       case 6:
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
       case 3:
       case 2:
         hval += asso_values[(unsigned char)str[1]];
-      /*FALLTHROUGH*/
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -133,46 +102,29 @@ charmap_hash (register const char *str, register unsigned int len)
   static const struct keyword_t wordlist[] =
     {
       {""}, {""}, {""},
-#line 38 "charmap-kw.gperf"
       {"END",             tok_end,             0},
       {""},
-#line 39 "charmap-kw.gperf"
       {"WIDTH",           tok_width,           0},
-#line 34 "charmap-kw.gperf"
       {"escseq",          tok_escseq,          1},
-#line 36 "charmap-kw.gperf"
       {"include",         tok_include,         1},
       {""}, {""},
-#line 27 "charmap-kw.gperf"
       {"mb_cur_min",      tok_mb_cur_min,      1},
-#line 28 "charmap-kw.gperf"
       {"escape_char",     tok_escape_char,     1},
-#line 29 "charmap-kw.gperf"
       {"comment_char",    tok_comment_char,    1},
-#line 25 "charmap-kw.gperf"
       {"code_set_name",   tok_code_set_name,   1},
-#line 40 "charmap-kw.gperf"
       {"WIDTH_VARIABLE",  tok_width_variable,  0},
-#line 26 "charmap-kw.gperf"
-      {"mb_cur_max",      tok_mb_cur_max,      1},
-#line 35 "charmap-kw.gperf"
+      {"g1esc",           tok_g1esc,           1},
       {"addset",          tok_addset,          1},
-#line 37 "charmap-kw.gperf"
       {"CHARMAP",         tok_charmap,         0},
-#line 41 "charmap-kw.gperf"
       {"WIDTH_DEFAULT",   tok_width_default,   0},
       {""},
-#line 33 "charmap-kw.gperf"
-      {"g3esc",           tok_g3esc,           1},
-      {""}, {""}, {""}, {""},
-#line 32 "charmap-kw.gperf"
       {"g2esc",           tok_g2esc,           1},
       {""}, {""}, {""}, {""},
-#line 31 "charmap-kw.gperf"
-      {"g1esc",           tok_g1esc,           1},
+      {"g3esc",           tok_g3esc,           1},
+      {""}, {""}, {""}, {""},
+      {"g0esc",           tok_g0esc,           1},
       {""}, {""}, {""}, {""},
-#line 30 "charmap-kw.gperf"
-      {"g0esc",           tok_g0esc,           1}
+      {"mb_cur_max",      tok_mb_cur_max,      1}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index 52a69de4b0..8dbac6f5b9 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996, 1998-2004,2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1998-2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -47,9 +49,8 @@ static void new_width (struct linereader *cmfile, struct charmap_t *result,
 		       const char *from, const char *to,
 		       unsigned long int width);
 static void charmap_new_char (struct linereader *lr, struct charmap_t *cm,
-			      size_t nbytes, unsigned char *bytes,
-			      const char *from, const char *to,
-			      int decimal_ellipsis, int step);
+			      int nbytes, char *bytes, const char *from,
+			      const char *to, int decimal_ellipsis, int step);
 
 
 bool enc_not_ascii_compatible;
@@ -86,8 +87,7 @@ cmlr_open (const char *directory, const char *name, kw_hash_fct_t hf)
 }
 
 struct charmap_t *
-charmap_read (const char *filename, int verbose, int error_not_found,
-	      int be_quiet, int use_default)
+charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
 {
   struct charmap_t *result = NULL;
 
@@ -131,11 +131,13 @@ charmap_read (const char *filename, int verbose, int error_not_found,
 	}
 
       if (cmfile != NULL)
-	result = parse_charmap (cmfile, verbose, be_quiet);
+	{
+	  result = parse_charmap (cmfile, verbose, be_quiet);
 
-      if (result == NULL && error_not_found)
-	WITH_CUR_LOCALE (error (0, errno, _("\
+	  if (result == NULL && !be_quiet)
+	    WITH_CUR_LOCALE (error (0, errno, _("\
 character map file `%s' not found"), filename));
+	}
     }
 
   if (result == NULL && filename != NULL && strchr (filename, '/') == NULL)
@@ -925,8 +927,7 @@ charmap_find_value (const struct charmap_t *cm, const char *name, size_t len)
 
 static void
 charmap_new_char (struct linereader *lr, struct charmap_t *cm,
-		  size_t nbytes, unsigned char *bytes,
-		  const char *from, const char *to,
+		  int nbytes, char *bytes, const char *from, const char *to,
 		  int decimal_ellipsis, int step)
 {
   hash_table *ht = &cm->char_table;
diff --git a/locale/programs/charmap.h b/locale/programs/charmap.h
index fd711f2d11..a4a6d3833b 100644
--- a/locale/programs/charmap.h
+++ b/locale/programs/charmap.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996-1999,2001,2003,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999, 2001, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _CHARMAP_H
 #define _CHARMAP_H
@@ -69,8 +71,7 @@ extern bool enc_not_ascii_compatible;
 
 /* Prototypes for charmap handling functions.  */
 extern struct charmap_t *charmap_read (const char *filename, int verbose,
-				       int error_not_found, int be_quiet,
-				       int use_default);
+				       int be_quiet, int use_default);
 
 /* Return the value stored under the given key in the hashing table.  */
 extern struct charseq *charmap_find_value (const struct charmap_t *charmap,
diff --git a/locale/programs/config.h b/locale/programs/config.h
index 6f9bfde903..12a921c1cf 100644
--- a/locale/programs/config.h
+++ b/locale/programs/config.h
@@ -1,20 +1,22 @@
 /* Configuration for localedef program.
-   Copyright (C) 1995,1996,1997,1998,2000,2005 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _LD_CONFIG_H
 #define _LD_CONFIG_H	1
diff --git a/locale/programs/ld-address.c b/locale/programs/ld-address.c
index dac8551071..079aa0094d 100644
--- a/locale/programs/ld-address.c
+++ b/locale/programs/ld-address.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998-2002, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -222,29 +224,17 @@ No definition for %s category found"), "LC_ADDRESS"));
 
   if (address->lang_ab == NULL)
     {
-      if ((cnt == sizeof (iso639) / sizeof (iso639[0])
-	   || iso639[cnt].ab[0] != '\0')
-	  && verbose && ! nothing)
+      if (verbose && ! nothing)
 	WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
 				"LC_ADDRESS", "lang_ab"));
       address->lang_ab = "";
     }
   else if (address->lang_ab[0] == '\0')
     {
-      if ((cnt == sizeof (iso639) / sizeof (iso639[0])
-	   || iso639[cnt].ab[0] != '\0')
-	  && verbose)
+      if (verbose)
 	WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
 				"LC_ADDRESS", "lang_ab"));
     }
-  else if (cnt < sizeof (iso639) / sizeof (iso639[0])
-	   && iso639[cnt].ab[0] == '\0')
-    {
-      WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be defined"),
-			      "LC_ADDRESS", "lang_ab"));
-
-      address->lang_ab = "";
-    }
   else
     {
       if (cnt == sizeof (iso639) / sizeof (iso639[0]))
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index cf1bff130f..6d0d03c235 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -1295,7 +1297,7 @@ order for `%.*s' already defined at %s:%Zu"),
 	    {
 	    invalid_range:
 	      lr_error (ldfile, _("\
-`%s' and `%.*s' are not valid names for symbolic range"),
+`%s' and `%.*s' are no valid names for symbolic range"),
 			startp->name, (int) lento, endp->name);
 	      return;
 	    }
@@ -2467,14 +2469,14 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
   runp = collate->start;
   while (runp != NULL)
     {
-      if (runp->mbs != NULL && runp->weights != NULL && !runp->is_character)
+      if (runp->mbs != NULL && runp->weights != NULL)
 	/* Yep, the element really counts.  */
 	++elem_size;
 
       runp = runp->next;
     }
   /* Add 40% and find the next prime number.  */
-  elem_size = next_prime (elem_size * 1.4);
+  elem_size = MIN (next_prime (elem_size * 1.4), 257);
 
   /* Allocate the table.  Each entry consists of two words: the hash
      value and an index in a secondary table which provides the index
@@ -2494,20 +2496,18 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
 	  uint32_t namelen = strlen (runp->name);
 	  uint32_t hash = elem_hash (runp->name, namelen);
 	  size_t idx = hash % elem_size;
-	  size_t start_idx = idx;
 
 	  if (elem_table[idx * 2] != 0)
 	    {
-	      /* The spot is already taken.  Try iterating using the value
+	      /* The spot is already take.  Try iterating using the value
 		 from the secondary hashing function.  */
-	      size_t iter = hash % (elem_size - 2) + 1;
+	      size_t iter = hash % (elem_size - 2);
 
 	      do
 		{
 		  idx += iter;
 		  if (idx >= elem_size)
 		    idx -= elem_size;
-		  assert (idx != start_idx);
 		}
 	      while (elem_table[idx * 2] != 0);
 	    }
@@ -2671,9 +2671,6 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
 	      if (locfile_read (copy_locale, charmap) != 0)
 		goto skip_category;
 	    }
-
-	  if (copy_locale->categories[LC_COLLATE].collate == NULL)
-	    return;
 	}
 
       lr_ignore_rest (ldfile, 1);
@@ -3068,7 +3065,7 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
 		  lr_error (ldfile, _("\
 %s: unknown symbol `%s' in equivalent definition"),
 			    "LC_COLLATE", symname);
-		  goto sym_equiv_free;
+		  goto col_sym_free;
 		}
 
 	      if (insert_entry (&collate->sym_table,
@@ -3533,13 +3530,13 @@ error while adding equivalent collating symbol"));
 	      break;
 	    }
 
-	  struct element_t *seqp;
 	  if (state == 0)
 	    {
 	      /* We are outside an `order_start' region.  This means
                  we must only accept definitions of values for
                  collation symbols since these are purely abstract
                  values and don't need directions associated.  */
+	      struct element_t *seqp;
 	      void *ptr;
 
 	      if (find_entry (&collate->seq_table, symstr, symlen, &ptr) == 0)
@@ -3586,6 +3583,7 @@ error while adding equivalent collating symbol"));
 	    {
 	      /* It is possible that we already have this collation sequence.
 		 In this case we move the entry.  */
+	      struct element_t *seqp = NULL;
 	      void *sym;
 	      void *ptr;
 
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index 40d5e4b17f..ed8fa919d5 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -992,8 +994,8 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
 		total += iov[2 + elem + offset].iov_len;
 	      }
 	    iov[2 + elem + offset].iov_base = (void *) nulbytes;
-	    iov[2 + elem + offset].iov_len = 4 - (total % 4);
-	    total += 4 - (total % 4);
+	    iov[2 + elem + offset].iov_len = 1 + (4 - ((total + 1) % 4));
+	    total += 1 + (4 - ((total + 1) % 4));
 
 	    idx[elem + 1] = idx[elem] + total;
 	    break;
@@ -1010,8 +1012,8 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
 		total += iov[2 + elem + offset].iov_len;
 	      }
 	    iov[2 + elem + offset].iov_base = (void *) nulbytes;
-	    iov[2 + elem + offset].iov_len = 4 - (total % 4);
-	    total += 4 - (total % 4);
+	    iov[2 + elem + offset].iov_len = 1 + (4 - ((total + 1) % 4));
+	    total += 1 + (4 - ((total + 1) % 4));
 
 	    idx[elem + 1] = idx[elem] + total;
 	    break;
@@ -1153,7 +1155,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
 	    iov[2 + elem + offset].iov_base =
 	      ctype->default_missing ?: (uint32_t *) L"";
 	    iov[2 + elem + offset].iov_len =
-	      wcslen (iov[2 + elem + offset].iov_base) * sizeof (uint32_t);
+	      wcslen (iov[2 + elem + offset].iov_base);
 	    idx[elem + 1] = idx[elem] + iov[2 + elem + offset].iov_len;
 	    break;
 
@@ -1472,7 +1474,7 @@ charclass_symbolic_ellipsis (struct linereader *ldfile,
     {
     invalid_range:
       lr_error (ldfile,
-		_("`%s' and `%.*s' are not valid names for symbolic range"),
+		_("`%s' and `%.*s' are no valid names for symbolic range"),
 		last_str, (int) now->val.str.lenmb, nowstr);
       return;
     }
@@ -1866,9 +1868,6 @@ find_translit (struct localedef_t *locale, const struct charmap_t *charmap,
   assert (locale != NULL);
   ctype = locale->categories[LC_CTYPE].ctype;
 
-  if (ctype == NULL)
-    return NULL;
-
   if (ctype->translit != NULL)
     result = find_translit2 (ctype, charmap, wch);
 
@@ -2248,9 +2247,6 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
 	      if (locfile_read (copy_locale, charmap) != 0)
 		goto skip_category;
 	    }
-
-	  if (copy_locale->categories[LC_CTYPE].ctype == NULL)
-	    return;
 	}
 
       lr_ignore_rest (ldfile, 1);
@@ -3772,7 +3768,7 @@ translit_flatten (struct locale_ctype_t *ctype,
 
       other = find_locale (LC_CTYPE, copy_locale, copy_repertoire, charmap);
 
-      if (other == NULL || other->categories[LC_CTYPE].ctype == NULL)
+      if (other == NULL)
 	{
 	  WITH_CUR_LOCALE (error (0, 0, _("\
 %s: transliteration data from locale `%s' not available"),
@@ -3850,14 +3846,9 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
     {
       ctype->class_b[nr] = (uint32_t *) xcalloc (256 / 32, sizeof (uint32_t));
 
-      /* We only set CLASS_B for the bits in the ISO C classes, not
-	 the user defined classes.  The number should not change but
-	 who knows.  */
-#define LAST_ISO_C_BIT 11
-      if (nr <= LAST_ISO_C_BIT)
-	for (idx = 0; idx < 256; ++idx)
-	  if (ctype->class256_collection[idx] & _ISbit (nr))
-	    ctype->class_b[nr][idx >> 5] |= (uint32_t) 1 << (idx & 0x1f);
+      for (idx = 0; idx < 256; ++idx)
+	if (ctype->class256_collection[idx] & _ISbit (nr))
+	  ctype->class_b[nr][idx >> 5] |= (uint32_t)1 << (idx & 0x1f);
     }
 
   for (nr = 0; nr < ctype->nr_charclass; nr++)
diff --git a/locale/programs/ld-identification.c b/locale/programs/ld-identification.c
index d050f7aaa9..ae5ea6fb16 100644
--- a/locale/programs/ld-identification.c
+++ b/locale/programs/ld-identification.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-measurement.c b/locale/programs/ld-measurement.c
index 6a9b847a1a..e3ec90199e 100644
--- a/locale/programs/ld-measurement.c
+++ b/locale/programs/ld-measurement.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-messages.c b/locale/programs/ld-messages.c
index e98574f130..d5cc393e4b 100644
--- a/locale/programs/ld-messages.c
+++ b/locale/programs/ld-messages.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-monetary.c b/locale/programs/ld-monetary.c
index 27636d6498..868ab6980e 100644
--- a/locale/programs/ld-monetary.c
+++ b/locale/programs/ld-monetary.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-name.c b/locale/programs/ld-name.c
index c1153fd51d..80b42f7048 100644
--- a/locale/programs/ld-name.c
+++ b/locale/programs/ld-name.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-numeric.c b/locale/programs/ld-numeric.c
index a901c4d985..594c0c8c1b 100644
--- a/locale/programs/ld-numeric.c
+++ b/locale/programs/ld-numeric.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-2002,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -302,7 +304,7 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 	    {
 	      size_t act = 0;
 	      size_t max = 10;
-	      char *grouping = xmalloc (max);
+	      char *grouping = ignore_content ? NULL : xmalloc (max);
 
 	      do
 		{
@@ -321,20 +323,24 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 		    }
 
 		  if (now->tok == tok_minus1)
-		    grouping[act++] = '\177';
+		    {
+		      if (!ignore_content)
+			grouping[act++] = '\177';
+		    }
 		  else if (now->val.num == 0)
 		    {
 		      /* A value of 0 disables grouping from here on but
 			 we must not store a NUL character since this
 			 terminates the string.  Use something different
 			 which must not be used otherwise.  */
-		      grouping[act++] = '\377';
+		      if (!ignore_content)
+			grouping[act++] = '\377';
 		    }
 		  else if (now->val.num > 126)
 		    lr_error (ldfile, _("\
 %s: values for field `%s' must be smaller than 127"),
 			      "LC_NUMERIC", "grouping");
-		  else
+		  else if (!ignore_content)
 		    grouping[act++] = now->val.num;
 
 		  /* Next must be semicolon.  */
@@ -349,10 +355,13 @@ numeric_read (struct linereader *ldfile, struct localedef_t *result,
 	      if (now->tok != tok_eol)
 		goto err_label;
 
-	      grouping[act++] = '\0';
+	      if (!ignore_content)
+		{
+		  grouping[act++] = '\0';
 
-	      numeric->grouping = xrealloc (grouping, act);
-	      numeric->grouping_len = act;
+		  numeric->grouping = xrealloc (grouping, act);
+		  numeric->grouping_len = act;
+		}
 	    }
 	  break;
 
diff --git a/locale/programs/ld-paper.c b/locale/programs/ld-paper.c
index 38f9af3e60..2910954f04 100644
--- a/locale/programs/ld-paper.c
+++ b/locale/programs/ld-paper.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-telephone.c b/locale/programs/ld-telephone.c
index 4075a14f46..5a60c016b0 100644
--- a/locale/programs/ld-telephone.c
+++ b/locale/programs/ld-telephone.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
index bf5151858a..a7dd25c80d 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -467,22 +469,10 @@ No definition for %s category found"), "LC_TIME"));
 	  wstr = wstr ? wcschr (wstr + 1, L':') : NULL;	/* end offset */
 	  wstr = wstr ? wcschr (wstr + 1, L':') : NULL;	/* end start */
 	  wstr = wstr ? wcschr (wstr + 1, L':') : NULL;	/* end end */
-	  if (wstr != NULL)
-	    {
-	      time->era_entries[idx].wname = (uint32_t *) wstr + 1;
-	      wstr = wcschr (wstr + 1, L':');	/* end name */
-	      if (wstr != NULL)
-		{
-		  *wstr = L'\0';
-		  time->era_entries[idx].wformat = (uint32_t *) wstr + 1;
-		}
-	      else
-		time->era_entries[idx].wname =
-		  time->era_entries[idx].wformat = (uint32_t *) L"";
-	    }
-	  else
-	    time->era_entries[idx].wname =
-	      time->era_entries[idx].wformat = (uint32_t *) L"";
+	  time->era_entries[idx].wname = (uint32_t *) wstr + 1;
+	  wstr = wstr ? wcschr (wstr + 1, L':') : NULL;	/* end name */
+	  *wstr = L'\0';
+	  time->era_entries[idx].wformat = (uint32_t *) wstr + 1;
 	}
     }
 
@@ -542,7 +532,7 @@ time_output (struct localedef_t *locale, const struct charmap_t *charmap,
 			      * (2 + _NL_ITEM_INDEX (_NL_NUM_LC_TIME)
 				 + time->num_era - 1
 				 + 2 * 99
-				 + 2 + time->num_era * 10));
+				 + 2 + time->num_era * 10 - 1));
   struct locale_file data;
   uint32_t idx[_NL_ITEM_INDEX (_NL_NUM_LC_TIME)];
   size_t cnt, last_idx, num, n;
@@ -901,12 +891,6 @@ time_output (struct localedef_t *locale, const struct charmap_t *charmap,
   ++cnt;
   ++last_idx;
 
-  /* We must align the following data.  */
-  iov[2 + cnt].iov_base = (void *) "\0\0";
-  iov[2 + cnt].iov_len = -idx[last_idx] & 3;
-  idx[last_idx] += -idx[last_idx] & 3;
-  ++cnt;
-
   iov[2 + cnt].iov_base = (void *) time->wdate_fmt;
   iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
                           * sizeof (uint32_t));
@@ -922,7 +906,7 @@ time_output (struct localedef_t *locale, const struct charmap_t *charmap,
   assert (cnt == (_NL_ITEM_INDEX (_NL_NUM_LC_TIME)
 		  + time->num_era - 1
 		  + 2 * 99
-		  + 2 + time->num_era * 10));
+		  + 2 + time->num_era * 10 - 1));
   assert (last_idx  == _NL_ITEM_INDEX (_NL_NUM_LC_TIME));
 
   write_locale_data (output_path, LC_TIME, "LC_TIME", 2 + cnt, iov);
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
index 6587f7305b..233799a87d 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996-2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -214,6 +216,12 @@ lr_token (struct linereader *lr, const struct charmap_t *charmap,
 	}
       while (isspace (ch));
 
+      if (ch == EOF)
+	{
+	  lr->token.tok = tok_eof;
+	  return &lr->token;
+	};
+
       if (ch != lr->comment_char)
 	break;
 
@@ -339,8 +347,8 @@ get_toplvl_escape (struct linereader *lr)
   /* This is supposed to be a numeric value.  We return the
      numerical value and the number of bytes.  */
   size_t start_idx = lr->idx - 1;
-  unsigned char *bytes = lr->token.val.charcode.bytes;
-  size_t nbytes = 0;
+  char *bytes = lr->token.val.charcode.bytes;
+  int nbytes = 0;
   int ch;
 
   do
diff --git a/locale/programs/linereader.h b/locale/programs/linereader.h
index d4d7e830a6..27043b2456 100644
--- a/locale/programs/linereader.h
+++ b/locale/programs/linereader.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996-2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.org>.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _LINEREADER_H
 #define _LINEREADER_H 1
diff --git a/locale/programs/locale-spec.c b/locale/programs/locale-spec.c
index 6ad3d95efe..a1a3aba47f 100644
--- a/locale/programs/locale-spec.c
+++ b/locale/programs/locale-spec.c
@@ -1,20 +1,22 @@
 /* Handle special requests.
-   Copyright (C) 1996, 1997, 1999, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index a03974e8a1..adf9944578 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -1,20 +1,22 @@
 /* Implementation of the locale program according to POSIX 9945-2.
-   Copyright (C) 1995-1997, 1999-2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999-2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -275,7 +277,7 @@ print_version (FILE *stream, struct argp_state *state)
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2006");
+"), "2004");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index 9c3acbebcc..28cb7b316e 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -243,7 +245,7 @@ main (int argc, char *argv[])
 FATAL: system does not define `_POSIX2_LOCALEDEF'")));
 
   /* Process charmap file.  */
-  charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1);
+  charmap = charmap_read (charmap_file, verbose, be_quiet, 1);
 
   /* Add the first entry in the locale list.  */
   memset (&global, '\0', sizeof (struct localedef_t));
@@ -288,7 +290,7 @@ cannot write output files to `%s'"), output_path));
     }
   else
     WITH_CUR_LOCALE (error (4, 0, _("\
-no output file produced because warnings were issued")));
+no output file produced because warning were issued")));
 
   /* This exit status is prescribed by POSIX.2 4.35.7.  */
   exit (error_message_count != 0);
@@ -387,7 +389,7 @@ print_version (FILE *stream, struct argp_state *state)
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2006");
+"), "2004");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 
@@ -530,7 +532,7 @@ normalize_codeset (codeset, name_len)
 
 
 struct localedef_t *
-add_to_readlist (int category, const char *name, const char *repertoire_name,
+add_to_readlist (int locale, const char *name, const char *repertoire_name,
 		 int generate, struct localedef_t *copy_locale)
 {
   struct localedef_t *runp = locales;
@@ -561,39 +563,39 @@ add_to_readlist (int category, const char *name, const char *repertoire_name,
     }
 
   if (generate
-      && (runp->needed & (1 << category)) != 0
-      && (runp->avail & (1 << category)) == 0)
+      && (runp->needed & (1 << locale)) != 0
+      && (runp->avail & (1 << locale)) == 0)
     WITH_CUR_LOCALE (error (5, 0, _("\
 circular dependencies between locale definitions")));
 
   if (copy_locale != NULL)
     {
-      if (runp->categories[category].generic != NULL)
+      if (runp->categories[locale].generic != NULL)
 	WITH_CUR_LOCALE (error (5, 0, _("\
 cannot add already read locale `%s' a second time"), name));
       else
-	runp->categories[category].generic =
-	  copy_locale->categories[category].generic;
+	runp->categories[locale].generic =
+	  copy_locale->categories[locale].generic;
     }
 
-  runp->needed |= 1 << category;
+  runp->needed |= 1 << locale;
 
   return runp;
 }
 
 
 struct localedef_t *
-find_locale (int category, const char *name, const char *repertoire_name,
+find_locale (int locale, const char *name, const char *repertoire_name,
 	     const struct charmap_t *charmap)
 {
   struct localedef_t *result;
 
   /* Find the locale, but do not generate it since this would be a bug.  */
-  result = add_to_readlist (category, name, repertoire_name, 0, NULL);
+  result = add_to_readlist (locale, name, repertoire_name, 0, NULL);
 
   assert (result != NULL);
 
-  if ((result->avail & (1 << category)) == 0
+  if ((result->avail & (1 << locale)) == 0
       && locfile_read (result, charmap) != 0)
     WITH_CUR_LOCALE (error (4, errno, _("\
 cannot open locale definition file `%s'"), result->name));
@@ -603,17 +605,17 @@ cannot open locale definition file `%s'"), result->name));
 
 
 struct localedef_t *
-load_locale (int category, const char *name, const char *repertoire_name,
+load_locale (int locale, const char *name, const char *repertoire_name,
 	     const struct charmap_t *charmap, struct localedef_t *copy_locale)
 {
   struct localedef_t *result;
 
   /* Generate the locale if it does not exist.  */
-  result = add_to_readlist (category, name, repertoire_name, 1, copy_locale);
+  result = add_to_readlist (locale, name, repertoire_name, 1, copy_locale);
 
   assert (result != NULL);
 
-  if ((result->avail & (1 << category)) == 0
+  if ((result->avail & (1 << locale)) == 0
       && locfile_read (result, charmap) != 0)
     WITH_CUR_LOCALE (error (4, errno, _("\
 cannot open locale definition file `%s'"), result->name));
diff --git a/locale/programs/localedef.h b/locale/programs/localedef.h
index f8cc4ca9c1..41f72860d4 100644
--- a/locale/programs/localedef.h
+++ b/locale/programs/localedef.h
@@ -1,20 +1,22 @@
 /* General definitions for localedef(1).
-   Copyright (C) 1998,1999,2000,2001,2002,2005 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _LOCALEDEF_H
 #define _LOCALEDEF_H	1
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index 5c0d5f18ce..1a1c7701d1 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/programs/locfile-kw.gperf b/locale/programs/locfile-kw.gperf
index efdb9afab9..7a9285d97e 100644
--- a/locale/programs/locfile-kw.gperf
+++ b/locale/programs/locfile-kw.gperf
@@ -1,20 +1,22 @@
 %{
-/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #include <string.h>
 
diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h
index 6ec2134cdd..da4a63e033 100644
--- a/locale/programs/locfile-kw.h
+++ b/locale/programs/locfile-kw.h
@@ -1,64 +1,35 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "locfile-kw.gperf"
-
-/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash programs/locfile-kw.gperf  */
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #include <string.h>
 
 #include "locfile-token.h"
-#line 23 "locfile-kw.gperf"
 struct keyword_t ;
 
 #define TOTAL_KEYWORDS 175
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 22
 #define MIN_HASH_VALUE 3
-#define MAX_HASH_VALUE 610
-/* maximum key range = 608, duplicates = 0 */
+#define MAX_HASH_VALUE 687
+/* maximum key range = 685, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -72,51 +43,49 @@ hash (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-        5,   0, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611,   5, 611,   0,   0,   0,
-        0,   0,  10,   0, 611, 611,   0, 611,   0,   5,
-      611, 611,   0,   0,   0,  10, 611, 611, 611,   0,
-      611, 611, 611, 611, 611,   0, 611, 145, 105,  25,
-       15,   0, 190, 110,  10,  35, 611,   0,  80,  65,
-        5, 130,  40,  50,   5,   0,  10,  35,  50,  20,
-        5,  10,   0, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
-      611, 611, 611, 611, 611, 611
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+        5,   0, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688,  15, 688,   0,   0,   0,
+        5,   0,   0,   0, 688, 688,   0, 688,   0,   5,
+      688, 688,  15,   0,   5,  15, 688, 688, 688,   0,
+      688, 688, 688, 688, 688,  75, 688,   0,   0,  65,
+        5,   0,  85,  40,   5, 155, 688,  10, 105, 120,
+      125,  35,   5,  20,   5, 190,   0, 125,  35,  10,
+       30,  35,   0, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688
     };
   register int hval = len;
 
   switch (hval)
     {
       default:
+      case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
       case 7:
       case 6:
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
       case 3:
       case 2:
         hval += asso_values[(unsigned char)str[1]];
-      /*FALLTHROUGH*/
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -133,470 +102,314 @@ locfile_hash (register const char *str, register unsigned int len)
   static const struct keyword_t wordlist[] =
     {
       {""}, {""}, {""},
-#line 30 "locfile-kw.gperf"
       {"END",                    tok_end,                    0},
-      {""}, {""},
-#line 69 "locfile-kw.gperf"
-      {"IGNORE",                 tok_ignore,                 0},
-#line 127 "locfile-kw.gperf"
+      {""}, {""}, {""},
       {"LC_TIME",                tok_lc_time,                0},
-#line 29 "locfile-kw.gperf"
-      {"LC_CTYPE",               tok_lc_ctype,               0},
-      {""},
-#line 164 "locfile-kw.gperf"
+      {"era",                    tok_era,                    0},
+      {"date",                   tok_date,                   0},
       {"LC_ADDRESS",             tok_lc_address,             0},
-#line 149 "locfile-kw.gperf"
       {"LC_MESSAGES",            tok_lc_messages,            0},
-#line 157 "locfile-kw.gperf"
-      {"LC_NAME",                tok_lc_name,                0},
-#line 154 "locfile-kw.gperf"
-      {"LC_PAPER",               tok_lc_paper,               0},
-#line 182 "locfile-kw.gperf"
-      {"LC_MEASUREMENT",         tok_lc_measurement,         0},
-#line 55 "locfile-kw.gperf"
-      {"LC_COLLATE",             tok_lc_collate,             0},
-      {""},
-#line 184 "locfile-kw.gperf"
-      {"LC_IDENTIFICATION",      tok_lc_identification,      0},
-#line 197 "locfile-kw.gperf"
-      {"revision",               tok_revision,               0},
-#line 68 "locfile-kw.gperf"
-      {"UNDEFINED",              tok_undefined,              0},
-#line 123 "locfile-kw.gperf"
-      {"LC_NUMERIC",             tok_lc_numeric,             0},
-#line 80 "locfile-kw.gperf"
-      {"LC_MONETARY",            tok_lc_monetary,            0},
-#line 177 "locfile-kw.gperf"
       {"LC_TELEPHONE",           tok_lc_telephone,           0},
-      {""},
-#line 130 "locfile-kw.gperf"
-      {"week",                   tok_week,                   0},
-      {""},
-#line 74 "locfile-kw.gperf"
-      {"define",                 tok_define,                 0},
-#line 150 "locfile-kw.gperf"
-      {"yesexpr",                tok_yesexpr,                0},
-#line 139 "locfile-kw.gperf"
-      {"era_year",               tok_era_year,               0},
-      {""},
-#line 53 "locfile-kw.gperf"
-      {"translit_ignore",        tok_translit_ignore,        0},
-#line 152 "locfile-kw.gperf"
-      {"yesstr",                 tok_yesstr,                 0},
-      {""},
-#line 87 "locfile-kw.gperf"
-      {"negative_sign",          tok_negative_sign,          0},
-      {""},
-#line 135 "locfile-kw.gperf"
-      {"t_fmt",                  tok_t_fmt,                  0},
-#line 155 "locfile-kw.gperf"
+      {"LC_CTYPE",               tok_lc_ctype,               0},
+      {"era_t_fmt",              tok_era_t_fmt,              0},
+      {"print",                  tok_print,                  0},
       {"height",                 tok_height,                 0},
-      {""}, {""},
-#line 51 "locfile-kw.gperf"
-      {"translit_start",         tok_translit_start,         0},
-#line 134 "locfile-kw.gperf"
-      {"d_fmt",                  tok_d_fmt,                  0},
+      {"LC_IDENTIFICATION",      tok_lc_identification,      0},
       {""},
-#line 52 "locfile-kw.gperf"
-      {"translit_end",           tok_translit_end,           0},
-#line 92 "locfile-kw.gperf"
-      {"n_cs_precedes",          tok_n_cs_precedes,          0},
-#line 142 "locfile-kw.gperf"
-      {"era_t_fmt",              tok_era_t_fmt,              0},
-#line 38 "locfile-kw.gperf"
-      {"space",                  tok_space,                  0},
-#line 71 "locfile-kw.gperf"
+      {"era_d_fmt",              tok_era_d_fmt,              0},
+      {"LC_COLLATE",             tok_lc_collate,             0},
+      {"IGNORE",                 tok_ignore,                 0},
+      {"LC_NAME",                tok_lc_name,                0},
+      {"backward",               tok_backward,               0},
+      {"week",                   tok_week,                   0},
+      {"LC_NUMERIC",             tok_lc_numeric,             0},
       {"reorder-end",            tok_reorder_end,            0},
-#line 72 "locfile-kw.gperf"
-      {"reorder-sections-after", tok_reorder_sections_after, 0},
       {""},
-#line 140 "locfile-kw.gperf"
-      {"era_d_fmt",              tok_era_d_fmt,              0},
-#line 185 "locfile-kw.gperf"
-      {"title",                  tok_title,                  0},
-      {""}, {""},
-#line 147 "locfile-kw.gperf"
-      {"timezone",               tok_timezone,               0},
+      {"reorder-after",          tok_reorder_after,          0},
+      {"UNDEFINED",              tok_undefined,              0},
       {""},
-#line 73 "locfile-kw.gperf"
-      {"reorder-sections-end",   tok_reorder_sections_end,   0},
-      {""}, {""}, {""},
-#line 93 "locfile-kw.gperf"
-      {"n_sep_by_space",         tok_n_sep_by_space,         0},
-      {""}, {""},
-#line 98 "locfile-kw.gperf"
-      {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0},
-      {""}, {""}, {""},
-#line 25 "locfile-kw.gperf"
-      {"escape_char",            tok_escape_char,            0},
+      {"LC_MONETARY",            tok_lc_monetary,            0},
       {""},
-#line 27 "locfile-kw.gperf"
       {"repertoiremap",          tok_repertoiremap,          0},
-#line 45 "locfile-kw.gperf"
-      {"charclass",              tok_charclass,              0},
-#line 42 "locfile-kw.gperf"
-      {"print",                  tok_print,                  0},
-#line 43 "locfile-kw.gperf"
-      {"xdigit",                 tok_xdigit,                 0},
-#line 108 "locfile-kw.gperf"
-      {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
-#line 125 "locfile-kw.gperf"
-      {"thousands_sep",          tok_thousands_sep,          0},
-#line 193 "locfile-kw.gperf"
-      {"territory",              tok_territory,              0},
-#line 35 "locfile-kw.gperf"
-      {"digit",                  tok_digit,                  0},
-      {""}, {""},
-#line 90 "locfile-kw.gperf"
-      {"p_cs_precedes",          tok_p_cs_precedes,          0},
-      {""},
-#line 156 "locfile-kw.gperf"
-      {"width",                  tok_width,                  0},
-#line 61 "locfile-kw.gperf"
-      {"script",                 tok_script,                 0},
-#line 28 "locfile-kw.gperf"
-      {"include",                tok_include,                0},
-      {""},
-#line 77 "locfile-kw.gperf"
-      {"else",                   tok_else,                   0},
-#line 180 "locfile-kw.gperf"
-      {"int_select",             tok_int_select,             0},
-      {""}, {""}, {""}, {""},
-#line 32 "locfile-kw.gperf"
-      {"upper",                  tok_upper,                  0},
-      {""}, {""},
-#line 190 "locfile-kw.gperf"
-      {"tel",                    tok_tel,                    0},
-#line 91 "locfile-kw.gperf"
-      {"p_sep_by_space",         tok_p_sep_by_space,         0},
-      {""}, {""},
-#line 96 "locfile-kw.gperf"
-      {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
-      {""}, {""},
-#line 40 "locfile-kw.gperf"
-      {"punct",                  tok_punct,                  0},
-      {""}, {""},
-#line 99 "locfile-kw.gperf"
-      {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
-      {""}, {""}, {""},
-#line 106 "locfile-kw.gperf"
-      {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
-      {""}, {""},
-#line 46 "locfile-kw.gperf"
-      {"class",                  tok_class,                  0},
-#line 112 "locfile-kw.gperf"
-      {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
-#line 113 "locfile-kw.gperf"
-      {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
-#line 109 "locfile-kw.gperf"
-      {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
-#line 117 "locfile-kw.gperf"
-      {"duo_int_n_sign_posn",    tok_duo_int_n_sign_posn,    0},
+      {"LC_MEASUREMENT",         tok_lc_measurement,         0},
       {""}, {""}, {""},
-#line 47 "locfile-kw.gperf"
-      {"charconv",               tok_charconv,               0},
-      {""}, {""},
-#line 183 "locfile-kw.gperf"
-      {"measurement",            tok_measurement,            0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 57 "locfile-kw.gperf"
-      {"section-symbol",         tok_section_symbol,         0},
-#line 181 "locfile-kw.gperf"
-      {"int_prefix",             tok_int_prefix,             0},
+      {"LC_PAPER",               tok_lc_paper,               0},
       {""}, {""}, {""}, {""},
-#line 137 "locfile-kw.gperf"
-      {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
-      {""}, {""},
-#line 97 "locfile-kw.gperf"
-      {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
-      {""},
-#line 41 "locfile-kw.gperf"
-      {"graph",                  tok_graph,                  0},
+      {"day",                    tok_day,                    0},
       {""}, {""},
-#line 124 "locfile-kw.gperf"
-      {"decimal_point",          tok_decimal_point,          0},
+      {"yesstr",                 tok_yesstr,                 0},
+      {""}, {""}, {""}, {""}, {""},
+      {"toupper",                tok_toupper,                0},
+      {"era_year",               tok_era_year,               0},
       {""}, {""},
-#line 110 "locfile-kw.gperf"
-      {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
-#line 111 "locfile-kw.gperf"
-      {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
-#line 107 "locfile-kw.gperf"
-      {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
-#line 116 "locfile-kw.gperf"
-      {"duo_int_p_sign_posn",    tok_duo_int_p_sign_posn,    0},
-#line 153 "locfile-kw.gperf"
-      {"nostr",                  tok_nostr,                  0},
+      {"order_start",            tok_order_start,            0},
+      {"tolower",                tok_tolower,                0},
       {""}, {""},
-#line 138 "locfile-kw.gperf"
-      {"era",                    tok_era,                    0},
+      {"graph",                  tok_graph,                  0},
+      {""}, {""}, {""},
+      {"order_end",              tok_order_end,              0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-#line 82 "locfile-kw.gperf"
-      {"currency_symbol",        tok_currency_symbol,        0},
+      {"abday",                  tok_abday,                  0},
       {""},
-#line 163 "locfile-kw.gperf"
-      {"name_ms",                tok_name_ms,                0},
-#line 161 "locfile-kw.gperf"
-      {"name_mrs",               tok_name_mrs,               0},
-#line 162 "locfile-kw.gperf"
-      {"name_miss",              tok_name_miss,              0},
-#line 81 "locfile-kw.gperf"
-      {"int_curr_symbol",        tok_int_curr_symbol,        0},
-#line 186 "locfile-kw.gperf"
-      {"source",                 tok_source,                 0},
-#line 160 "locfile-kw.gperf"
-      {"name_mr",                tok_name_mr,                0},
-#line 159 "locfile-kw.gperf"
-      {"name_gen",               tok_name_gen,               0},
-#line 198 "locfile-kw.gperf"
-      {"date",                   tok_date,                   0},
-      {""}, {""},
-#line 187 "locfile-kw.gperf"
-      {"address",                tok_address,                0},
-#line 158 "locfile-kw.gperf"
-      {"name_fmt",               tok_name_fmt,               0},
-#line 31 "locfile-kw.gperf"
-      {"copy",                   tok_copy,                   0},
+      {"yesexpr",                tok_yesexpr,                0},
       {""}, {""},
-#line 49 "locfile-kw.gperf"
-      {"tolower",                tok_tolower,                0},
-#line 129 "locfile-kw.gperf"
-      {"day",                    tok_day,                    0},
-#line 103 "locfile-kw.gperf"
-      {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
-#line 101 "locfile-kw.gperf"
-      {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
+      {"t_fmt",                  tok_t_fmt,                  0},
+      {""}, {""}, {""}, {""},
+      {"d_fmt",                  tok_d_fmt,                  0},
       {""}, {""},
-#line 148 "locfile-kw.gperf"
       {"date_fmt",               tok_date_fmt,               0},
-#line 63 "locfile-kw.gperf"
-      {"order_end",              tok_order_end,              0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"grouping",               tok_grouping,               0},
       {""}, {""},
-#line 166 "locfile-kw.gperf"
-      {"country_name",           tok_country_name,           0},
-#line 70 "locfile-kw.gperf"
-      {"reorder-after",          tok_reorder_after,          0},
-#line 118 "locfile-kw.gperf"
-      {"uno_valid_from",         tok_uno_valid_from,         0},
-#line 115 "locfile-kw.gperf"
-      {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
-#line 151 "locfile-kw.gperf"
-      {"noexpr",                 tok_noexpr,                 0},
+      {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
+      {""}, {""}, {""}, {""},
+      {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
+      {"contact",                tok_contact,                0},
+      {"tel",                    tok_tel,                    0},
+      {"else",                   tok_else,                   0},
+      {"alpha",                  tok_alpha,                  0},
+      {"country_ab3",            tok_country_ab3,            0},
+      {""}, {""}, {""}, {""},
+      {"country_ab2",            tok_country_ab2,            0},
+      {"country_post",           tok_country_post,           0},
+      {"fax",                    tok_fax,                    0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"map",                    tok_map,                    0},
       {""},
-#line 194 "locfile-kw.gperf"
+      {"blank",                  tok_blank,                  0},
+      {""},
+      {"forward",                tok_forward,                0},
       {"audience",               tok_audience,               0},
       {""},
-#line 44 "locfile-kw.gperf"
-      {"blank",                  tok_blank,                  0},
+      {"punct",                  tok_punct,                  0},
+      {"define",                 tok_define,                 0},
+      {"abbreviation",           tok_abbreviation,           0},
       {""},
-#line 48 "locfile-kw.gperf"
-      {"toupper",                tok_toupper,                0},
-#line 67 "locfile-kw.gperf"
-      {"position",               tok_position,               0},
-#line 120 "locfile-kw.gperf"
-      {"duo_valid_from",         tok_duo_valid_from,         0},
-#line 39 "locfile-kw.gperf"
-      {"cntrl",                  tok_cntrl,                  0},
+      {"copy",                   tok_copy,                   0},
+      {""}, {""}, {""},
+      {"decimal_point",          tok_decimal_point,          0},
       {""},
-#line 26 "locfile-kw.gperf"
-      {"comment_char",           tok_comment_char,           0},
-#line 86 "locfile-kw.gperf"
-      {"positive_sign",          tok_positive_sign,          0},
-      {""}, {""}, {""}, {""},
-#line 132 "locfile-kw.gperf"
-      {"mon",                    tok_mon,                    0},
+      {"upper",                  tok_upper,                  0},
       {""}, {""},
-#line 171 "locfile-kw.gperf"
-      {"country_car",            tok_country_car,            0},
+      {"category",               tok_category,               0},
       {""},
-#line 60 "locfile-kw.gperf"
-      {"symbol-equivalence",     tok_symbol_equivalence,     0},
-#line 102 "locfile-kw.gperf"
-      {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0},
-#line 100 "locfile-kw.gperf"
-      {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
-      {""}, {""}, {""}, {""}, {""}, {""},
-#line 172 "locfile-kw.gperf"
-      {"country_isbn",           tok_country_isbn,           0},
-#line 36 "locfile-kw.gperf"
-      {"outdigit",               tok_outdigit,               0},
+      {"conversion_rate",        tok_conversion_rate,        0},
+      {""}, {""}, {""}, {""},
+      {"lower",                  tok_lower,                  0},
       {""},
-#line 114 "locfile-kw.gperf"
-      {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
+      {"collating-element",      tok_collating_element,      0},
+      {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
       {""},
-#line 133 "locfile-kw.gperf"
-      {"d_t_fmt",                tok_d_t_fmt,                0},
+      {"title",                  tok_title,                  0},
       {""}, {""},
-#line 33 "locfile-kw.gperf"
-      {"lower",                  tok_lower,                  0},
+      {"timezone",               tok_timezone,               0},
       {""},
-#line 167 "locfile-kw.gperf"
-      {"country_post",           tok_country_post,           0},
-#line 146 "locfile-kw.gperf"
-      {"cal_direction",          tok_cal_direction,          0},
+      {"digit",                  tok_digit,                  0},
+      {""}, {""}, {""}, {""},
+      {"postal_fmt",             tok_postal_fmt,             0},
       {""},
-#line 189 "locfile-kw.gperf"
-      {"email",                  tok_email,                  0},
-#line 141 "locfile-kw.gperf"
-      {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
-      {""}, {""},
-#line 173 "locfile-kw.gperf"
+      {"d_t_fmt",                tok_d_t_fmt,                0},
+      {"position",               tok_position,               0},
+      {"p_sep_by_space",         tok_p_sep_by_space,         0},
+      {"nostr",                  tok_nostr,                  0},
+      {"noexpr",                 tok_noexpr,                 0},
+      {""},
+      {"charconv",               tok_charconv,               0},
+      {""},
+      {"width",                  tok_width,                  0},
+      {"country_car",            tok_country_car,            0},
+      {"comment_char",           tok_comment_char,           0},
+      {""}, {""}, {""}, {""},
+      {"lang_ab",                tok_lang_ab,                0},
+      {"lang_lib",               tok_lang_lib,               0},
       {"lang_name",              tok_lang_name,              0},
+      {""}, {""}, {""}, {""},
+      {"elif",                   tok_elif,                   0},
       {""},
-#line 179 "locfile-kw.gperf"
-      {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
-      {""}, {""}, {""},
-#line 54 "locfile-kw.gperf"
-      {"default_missing",        tok_default_missing,        0},
-#line 89 "locfile-kw.gperf"
-      {"frac_digits",            tok_frac_digits,            0},
+      {"xdigit",                 tok_xdigit,                 0},
       {""}, {""}, {""},
-#line 88 "locfile-kw.gperf"
-      {"int_frac_digits",        tok_int_frac_digits,        0},
-#line 170 "locfile-kw.gperf"
-      {"country_num",            tok_country_num,            0},
-#line 119 "locfile-kw.gperf"
-      {"uno_valid_to",           tok_uno_valid_to,           0},
+      {"space",                  tok_space,                  0},
+      {""},
+      {"address",                tok_address,                0},
       {""}, {""}, {""}, {""}, {""},
-#line 50 "locfile-kw.gperf"
-      {"map",                    tok_map,                    0},
+      {"name_fmt",               tok_name_fmt,               0},
       {""},
-#line 105 "locfile-kw.gperf"
-      {"duo_frac_digits",        tok_duo_frac_digits,        0},
-#line 178 "locfile-kw.gperf"
-      {"tel_int_fmt",            tok_tel_int_fmt,            0},
-#line 121 "locfile-kw.gperf"
-      {"duo_valid_to",           tok_duo_valid_to,           0},
-#line 144 "locfile-kw.gperf"
-      {"first_weekday",          tok_first_weekday,          0},
+      {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
+      {""},
+      {"name_mr",                tok_name_mr,                0},
       {""},
-#line 143 "locfile-kw.gperf"
-      {"alt_digits",             tok_alt_digits,             0},
-#line 95 "locfile-kw.gperf"
-      {"n_sign_posn",            tok_n_sign_posn,            0},
-#line 84 "locfile-kw.gperf"
-      {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
-#line 145 "locfile-kw.gperf"
-      {"first_workday",          tok_first_workday,          0},
-#line 64 "locfile-kw.gperf"
       {"from",                   tok_from,                   0},
-#line 131 "locfile-kw.gperf"
-      {"abmon",                  tok_abmon,                  0},
+      {""},
+      {"escape_char",            tok_escape_char,            0},
+      {"duo_valid_to",           tok_duo_valid_to,           0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"reorder-sections-end",   tok_reorder_sections_end,   0},
+      {""},
+      {"reorder-sections-after", tok_reorder_sections_after, 0},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"territory",              tok_territory,              0},
       {""}, {""},
-#line 192 "locfile-kw.gperf"
+      {"country_name",           tok_country_name,           0},
       {"language",               tok_language,               0},
-      {""}, {""},
-#line 195 "locfile-kw.gperf"
-      {"application",            tok_application,            0},
-      {""},
-#line 126 "locfile-kw.gperf"
-      {"grouping",               tok_grouping,               0},
-#line 78 "locfile-kw.gperf"
-      {"elif",                   tok_elif,                   0},
-#line 128 "locfile-kw.gperf"
-      {"abday",                  tok_abday,                  0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""},
+      {"tel_int_fmt",            tok_tel_int_fmt,            0},
+      {"mon_grouping",           tok_mon_grouping,           0},
+      {"positive_sign",          tok_positive_sign,          0},
       {""},
-#line 196 "locfile-kw.gperf"
-      {"abbreviation",           tok_abbreviation,           0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 56 "locfile-kw.gperf"
+      {"abmon",                  tok_abmon,                  0},
+      {"measurement",            tok_measurement,            0},
+      {""}, {""}, {""},
       {"coll_weight_max",        tok_coll_weight_max,        0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 66 "locfile-kw.gperf"
-      {"backward",               tok_backward,               0},
-#line 104 "locfile-kw.gperf"
-      {"duo_int_frac_digits",    tok_duo_int_frac_digits,    0},
+      {"collating-symbol",       tok_collating_symbol,       0},
+      {""}, {""}, {""}, {""},
+      {"script",                 tok_script,                 0},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"cal_direction",          tok_cal_direction,          0},
+      {""}, {""}, {""}, {""},
+      {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
+      {""}, {""}, {""}, {""},
+      {"mon",                    tok_mon,                    0},
+      {"translit_start",         tok_translit_start,         0},
+      {"translit_ignore",        tok_translit_ignore,        0},
       {""},
-#line 94 "locfile-kw.gperf"
+      {"translit_end",           tok_translit_end,           0},
+      {"first_weekday",          tok_first_weekday,          0},
+      {""}, {""},
       {"p_sign_posn",            tok_p_sign_posn,            0},
       {""},
-#line 199 "locfile-kw.gperf"
-      {"category",               tok_category,               0},
-      {""},
-#line 122 "locfile-kw.gperf"
-      {"conversion_rate",        tok_conversion_rate,        0},
+      {"first_workday",          tok_first_workday,          0},
+      {"n_sep_by_space",         tok_n_sep_by_space,         0},
       {""},
-#line 83 "locfile-kw.gperf"
+      {"source",                 tok_source,                 0},
       {"mon_decimal_point",      tok_mon_decimal_point,      0},
+      {"symbol-equivalence",     tok_symbol_equivalence,     0},
+      {""},
+      {"endif",                  tok_endif,                  0},
       {""}, {""}, {""},
-#line 62 "locfile-kw.gperf"
-      {"order_start",            tok_order_start,            0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"duo_valid_from",         tok_duo_valid_from,         0},
+      {"default_missing",        tok_default_missing,        0},
+      {""}, {""},
+      {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
       {""},
-#line 188 "locfile-kw.gperf"
-      {"contact",                tok_contact,                0},
+      {"alt_digits",             tok_alt_digits,             0},
+      {""},
+      {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
+      {""}, {""},
+      {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
       {""}, {""}, {""},
-#line 169 "locfile-kw.gperf"
-      {"country_ab3",            tok_country_ab3,            0},
+      {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
+      {""}, {""}, {""},
+      {"outdigit",               tok_outdigit,               0},
       {""}, {""}, {""}, {""},
-#line 168 "locfile-kw.gperf"
-      {"country_ab2",            tok_country_ab2,            0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""},
-#line 174 "locfile-kw.gperf"
-      {"lang_ab",                tok_lang_ab,                0},
-#line 176 "locfile-kw.gperf"
-      {"lang_lib",               tok_lang_lib,               0},
+      {"revision",               tok_revision,               0},
       {""}, {""}, {""}, {""},
-#line 191 "locfile-kw.gperf"
-      {"fax",                    tok_fax,                    0},
+      {"name_gen",               tok_name_gen,               0},
       {""},
-#line 136 "locfile-kw.gperf"
-      {"am_pm",                  tok_am_pm,                  0},
+      {"email",                  tok_email,                  0},
+      {""},
+      {"uno_valid_to",           tok_uno_valid_to,           0},
+      {"negative_sign",          tok_negative_sign,          0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""}, {""},
-#line 37 "locfile-kw.gperf"
+      {""}, {""},
       {"alnum",                  tok_alnum,                  0},
-      {""}, {""}, {""},
-#line 175 "locfile-kw.gperf"
-      {"lang_term",              tok_lang_term,              0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 79 "locfile-kw.gperf"
-      {"endif",                  tok_endif,                  0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 165 "locfile-kw.gperf"
-      {"postal_fmt",             tok_postal_fmt,             0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""},
+      {"country_num",            tok_country_num,            0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"am_pm",                  tok_am_pm,                  0},
+      {""},
+      {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"currency_symbol",        tok_currency_symbol,        0},
       {""}, {""}, {""}, {""}, {""}, {""},
-#line 75 "locfile-kw.gperf"
+      {"country_isbn",           tok_country_isbn,           0},
+      {""}, {""}, {""}, {""},
+      {"name_ms",                tok_name_ms,                0},
+      {"name_mrs",               tok_name_mrs,               0},
+      {""}, {""}, {""}, {""},
+      {"thousands_sep",          tok_thousands_sep,          0},
+      {""},
+      {"cntrl",                  tok_cntrl,                  0},
+      {""}, {""}, {""}, {""}, {""},
+      {"n_sign_posn",            tok_n_sign_posn,            0},
+      {"include",                tok_include,                0},
+      {""}, {""},
+      {"ifdef",                  tok_ifdef,                  0},
+      {""},
+      {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
+      {""}, {""}, {""}, {""}, {""},
+      {"p_cs_precedes",          tok_p_cs_precedes,          0},
+      {"uno_valid_from",         tok_uno_valid_from,         0},
       {"undef",                  tok_undef,                  0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""},
-#line 58 "locfile-kw.gperf"
-      {"collating-element",      tok_collating_element,      0},
+      {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
+      {"lang_term",              tok_lang_term,              0},
+      {""}, {""},
+      {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
+      {""},
+      {"duo_int_p_sign_posn",    tok_duo_int_p_sign_posn,    0},
+      {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"application",            tok_application,            0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""},
+      {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_prefix",             tok_int_prefix,             0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""},
-#line 85 "locfile-kw.gperf"
-      {"mon_grouping",           tok_mon_grouping,           0},
+      {""}, {""}, {""}, {""}, {""},
+      {"duo_frac_digits",        tok_duo_frac_digits,        0},
+      {""}, {""}, {""}, {""}, {""},
+      {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-#line 65 "locfile-kw.gperf"
-      {"forward",                tok_forward,                0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"frac_digits",            tok_frac_digits,            0},
+      {""}, {""},
+      {"charclass",              tok_charclass,              0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 59 "locfile-kw.gperf"
-      {"collating-symbol",       tok_collating_symbol,       0},
+      {""}, {""}, {""},
+      {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
+      {""}, {""},
+      {"int_curr_symbol",        tok_int_curr_symbol,        0},
+      {""}, {""},
+      {"n_cs_precedes",          tok_n_cs_precedes,          0},
+      {""},
+      {"int_select",             tok_int_select,             0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"duo_int_n_sign_posn",    tok_duo_int_n_sign_posn,    0},
+      {"class",                  tok_class,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""},
-#line 34 "locfile-kw.gperf"
-      {"alpha",                  tok_alpha,                  0},
+      {""}, {""},
+      {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""},
+      {"duo_int_frac_digits",    tok_duo_int_frac_digits,    0},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
+      {""}, {""}, {""},
+      {"name_miss",              tok_name_miss,              0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""},
+      {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_frac_digits",        tok_int_frac_digits,        0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"section-symbol",         tok_section_symbol,         0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 76 "locfile-kw.gperf"
-      {"ifdef",                  tok_ifdef,                  0}
+      {""}, {""}, {""}, {""}, {""},
+      {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/locale/programs/locfile-token.h b/locale/programs/locfile-token.h
index beb979c632..cada206655 100644
--- a/locale/programs/locfile-token.h
+++ b/locale/programs/locfile-token.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _TOKEN_H
 #define _TOKEN_H
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
index ae8ce73ce4..1d3276a6bf 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -155,11 +157,10 @@ argument to `%s' must be a single character"),
 
 	  if (repertoire_name == NULL)
 	    {
-	      char *newp = alloca (arg->val.str.lenmb + 1);
-
-	      *((char *) mempcpy (newp, arg->val.str.startmb,
-				  arg->val.str.lenmb)) = '\0';
-	      repertoire_name = newp;
+	      repertoire_name = memcpy (xmalloc (arg->val.str.lenmb + 1),
+					arg->val.str.startmb,
+					arg->val.str.lenmb);
+	      ((char *) repertoire_name)[arg->val.str.lenmb] = '\0';
 	    }
 	  break;
 
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
index f6290f0ee0..db34f462e3 100644
--- a/locale/programs/locfile.h
+++ b/locale/programs/locfile.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1996-2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _LOCFILE_H
 #define _LOCFILE_H	1
diff --git a/locale/programs/repertoire.c b/locale/programs/repertoire.c
index e9bdf9e7ba..933b88f5cd 100644
--- a/locale/programs/repertoire.c
+++ b/locale/programs/repertoire.c
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998-2002,2004,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998,1999,2000,2001,2002,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -328,7 +330,7 @@ argument to <%s> must be a single character"),
 
   if (tsearch (result, &known, &repertoire_compare) == NULL)
     /* Something went wrong.  */
-    WITH_CUR_LOCALE (error (0, errno, _("cannot save new repertoire map")));
+    WITH_CUR_LOCALE (error (0, errno, _("cannot safe new repertoire map")));
 
   return result;
 }
diff --git a/locale/programs/repertoire.h b/locale/programs/repertoire.h
index 75877044ca..d463c81690 100644
--- a/locale/programs/repertoire.h
+++ b/locale/programs/repertoire.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1998, 1999, 2000, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _REPERTOIREMAP_H
 #define _REPERTOIREMAP_H	1
diff --git a/locale/programs/simple-hash.c b/locale/programs/simple-hash.c
index de8998cc7a..c319068677 100644
--- a/locale/programs/simple-hash.c
+++ b/locale/programs/simple-hash.c
@@ -1,20 +1,22 @@
 /* Implement simple hashing table with string based keys.
-   Copyright (C) 1994-1997,2000,2001,2002,2005 Free Software Foundation, Inc.
+   Copyright (C) 1994-1997, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, October 1994.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -146,13 +148,13 @@ insert_entry_2 (htab, key, keylen, hval, idx, data)
   if ((hash_entry *) htab->first == NULL)
     {
       table[idx].next = &table[idx];
-      htab->first = &table[idx];
+      *(hash_entry **) &htab->first = &table[idx];
     }
   else
     {
       table[idx].next = ((hash_entry *) htab->first)->next;
       ((hash_entry *) htab->first)->next = &table[idx];
-      htab->first = &table[idx];
+      *(hash_entry **) &htab->first = &table[idx];
     }
 
   ++htab->filled;
diff --git a/locale/programs/simple-hash.h b/locale/programs/simple-hash.h
index 7261ebc396..469caedc19 100644
--- a/locale/programs/simple-hash.h
+++ b/locale/programs/simple-hash.h
@@ -1,19 +1,21 @@
-/* Copyright (C) 1995-1999, 2001, 2002, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifndef _SIMPLE_HASH_H
 #define _SIMPLE_HASH_H
diff --git a/locale/programs/xmalloc.c b/locale/programs/xmalloc.c
index a95dc5a40f..9f3c2c1cd1 100644
--- a/locale/programs/xmalloc.c
+++ b/locale/programs/xmalloc.c
@@ -1,20 +1,21 @@
 /* xmalloc.c -- malloc with out of memory checking
-   Copyright (C) 1990,91,92,93,94,95,96,97,2004,2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1990,91,92,93,94,95,96,97,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
diff --git a/locale/programs/xstrdup.c b/locale/programs/xstrdup.c
index 12fb3a8287..7838d201ab 100644
--- a/locale/programs/xstrdup.c
+++ b/locale/programs/xstrdup.c
@@ -1,19 +1,21 @@
 /* xstrdup.c -- copy a string with out of memory checking
-   Copyright (C) 1990,1996,1997,1999,2004,2005 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1996, 1997, 1999, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
-   This program is distributed in the hope that it will be useful,
+   The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software Foundation,
-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
diff --git a/locale/setlocale.c b/locale/setlocale.c
index c1b8c3faec..e6db70d4c7 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006
+/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -66,27 +66,18 @@ static char *const _nl_current_used[] =
 #endif
 
 
-/* Define an array of category names (also the environment variable names).  */
-const union catnamestr_t _nl_category_names attribute_hidden =
-  {
-    {
-#define DEFINE_CATEGORY(category, category_name, items, a) \
-      category_name,
-#include "categories.def"
-#undef DEFINE_CATEGORY
-    }
-  };
-
-const uint8_t _nl_category_name_idxs[__LC_LAST] attribute_hidden =
+/* Define an array of category names (also the environment variable names),
+   indexed by integral category.  */
+const char *const _nl_category_names[] =
   {
 #define DEFINE_CATEGORY(category, category_name, items, a) \
-    [category] = offsetof (union catnamestr_t, CATNAMEMF (__LINE__)),
+    [category] = category_name,
 #include "categories.def"
-#undef DEFINE_CATEGORY
+#undef	DEFINE_CATEGORY
+    [LC_ALL] = "LC_ALL"
   };
-
 /* An array of their lengths, for convenience.  */
-const uint8_t _nl_category_name_sizes[] attribute_hidden =
+const size_t _nl_category_name_sizes[] =
   {
 #define DEFINE_CATEGORY(category, category_name, items, a) \
     [category] = sizeof (category_name) - 1,
@@ -182,7 +173,7 @@ new_composite_name (int category, const char *newnames[__LC_LAST])
 	const char *name = (category == LC_ALL ? newnames[i] :
 			    category == i ? newnames[0] :
 			    _nl_global_locale.__names[i]);
-	p = __stpcpy (p, _nl_category_names.str + _nl_category_name_idxs[i]);
+	p = __stpcpy (p, _nl_category_names[i]);
 	*p++ = '=';
 	p = __stpcpy (p, name);
 	*p++ = ';';
@@ -284,9 +275,7 @@ setlocale (int category, const char *locale)
 	      for (cnt = 0; cnt < __LC_LAST; ++cnt)
 		if (cnt != LC_ALL
 		    && (size_t) (cp - np) == _nl_category_name_sizes[cnt]
-		    && (memcmp (np, (_nl_category_names.str
-				     + _nl_category_name_idxs[cnt]), cp - np)
-			== 0))
+		    && memcmp (np, _nl_category_names[cnt], cp - np) == 0)
 		  break;
 
 	      if (cnt == __LC_LAST)
@@ -383,7 +372,7 @@ setlocale (int category, const char *locale)
       /* Critical section left.  */
       __libc_lock_unlock (__libc_setlocale_lock);
 
-      /* Free the resources (the locale path variable).  */
+      /* Free the resources (the locale path variable.  */
       free (locale_path);
 
       return composite;
diff --git a/locale/weightwc.h b/locale/weightwc.h
index 436aa7e548..ff5e63aeef 100644
--- a/locale/weightwc.h
+++ b/locale/weightwc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2001,2003,2004,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000, 2001,2003,2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper, <drepper@cygnus.com>.
 
@@ -22,8 +22,12 @@ auto inline int32_t
 __attribute ((always_inline))
 findidx (const wint_t **cpp)
 {
-  wint_t ch = *(*cpp)++;
-  int32_t i = __collidx_table_lookup ((const char *) table, ch);
+  int32_t i;
+  const wint_t *cp;
+  wint_t ch;
+
+  ch = *(*cpp)++;
+  i = __collidx_table_lookup ((const char *) table, ch);
 
   if (i >= 0)
     /* This is an index into the weight table.  Cool.  */
@@ -31,11 +35,11 @@ findidx (const wint_t **cpp)
 
   /* Oh well, more than one sequence starting with this byte.
      Search for the correct one.  */
-  const int32_t *cp = &extra[-i];
+  cp = &extra[-i];
   while (1)
     {
       size_t nhere;
-      const int32_t *usrc = (const int32_t *) *cpp;
+      const wint_t *usrc = *cpp;
 
       /* The first thing is the index.  */
       i = *cp++;
diff --git a/locale/xlocale.c b/locale/xlocale.c
index 4573e6f390..d9d3442621 100644
--- a/locale/xlocale.c
+++ b/locale/xlocale.c
@@ -1,5 +1,5 @@
 /* C locale object.
-   Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
 
@@ -32,7 +32,7 @@ extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden;
 extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden;
 
 
-const struct __locale_struct _nl_C_locobj attribute_hidden =
+struct __locale_struct _nl_C_locobj attribute_hidden =
   {
     .__locales =
     {