changeset 5424:0680a1e4fa96

Merge
author asaha
date Sun, 24 Jun 2012 21:35:19 -0700
parents 2eda6a6b9597 966e21feb7f0
children 137e5e6228b2
files src/share/classes/sun/nio/ch/DevPollSelectorProvider.java
diffstat 48 files changed, 3994 insertions(+), 4227 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Jun 21 00:20:49 2012 -0700
+++ b/.hgtags	Sun Jun 24 21:35:19 2012 -0700
@@ -188,3 +188,4 @@
 76306dce87104d9f333db3371ca97c80cac9674a jdk7u6-b12
 aa49fe7490963f0c53741fbca3a175e0fec93951 jdk7u6-b13
 3ce621d9b988abcccd86b52a97ea39133006c245 jdk7u6-b14
+e50c9a5f001c61f49e7e71b25b97ed4095d3557b jdk7u6-b15
--- a/make/bridge/Jabswitch/Makefile	Thu Jun 21 00:20:49 2012 -0700
+++ b/make/bridge/Jabswitch/Makefile	Sun Jun 24 21:35:19 2012 -0700
@@ -45,7 +45,7 @@
 JAB_MANIFEST_OUT = $(TEMPDIR)/jabswitch.exe.intermediate.manifest
 
 RC_FLAGS += /fo "$(VERSIONRES)"
-OTHER_CPPFLAGS += /Fo"$(TEMPDIR)/" /Fd"$(TEMPDIR)/" /analyze- /Od /Gd /nologo /MDd /Gm /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /RTC1 /W3 /ZI /Zc:wchar_t /EHsc 
+OTHER_CPPFLAGS += /MD /Fo"$(TEMPDIR)/" /Fd"$(TEMPDIR)/" /analyze- /Od /Gd /nologo /Gm /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /RTC1 /W3 /ZI /Zc:wchar_t /EHsc 
 LDDFLAGS += Advapi32.lib Version.lib User32.lib
 
 all: buildexe copyfilejab
--- a/make/com/oracle/Makefile	Thu Jun 21 00:20:49 2012 -0700
+++ b/make/com/oracle/Makefile	Sun Jun 24 21:35:19 2012 -0700
@@ -30,6 +30,24 @@
 #SUBDIRS_MAKEFLAGS += JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation,-path
 include $(BUILDDIR)/common/Defs.gmk
 
+JFR_SRCDIRS_EXIST := $(shell \
+  if [ -d $(CLOSED_SHARE_SRC)/native/oracle/jfr ] ; then \
+    echo true; \
+  else \
+    echo false; \
+  fi)
+
+JFR =
+ifndef OPENJDK
+  ifndef JAVASE_EMBEDDED
+    ifeq ($(JFR_SRCDIRS_EXIST), true)
+      ifneq (${ARCH},arm)
+        JFR = jfr
+      endif
+    endif
+  endif
+endif
+
 # build com/oracle/security/ucrypto on Solaris platform for non-OpenJDK builds
 UCRYPTO =
 ifndef OPENJDK
@@ -38,15 +56,6 @@
   endif
 endif
 
-JFR =
-ifndef OPENJDK
-ifndef JAVASE_EMBEDDED 
-ifneq (${ARCH},arm)
-	JFR = jfr
-endif
-endif
-endif
-
 SUBDIRS = $(JFR) net nio util $(UCRYPTO)
 
 include $(BUILDDIR)/common/Subdirs.gmk
--- a/make/common/Defs-solaris.gmk	Thu Jun 21 00:20:49 2012 -0700
+++ b/make/common/Defs-solaris.gmk	Sun Jun 24 21:35:19 2012 -0700
@@ -232,18 +232,21 @@
 # optimization flags as used by FASTDEBUG. We also want all the
 # debug info in one place (-xs).
 #
+CFLAGS_COMMON=
+CXXFLAGS_COMMON=
 ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
   ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
     ifeq ($(VARIANT), OPT)
-      CC_OPT   = -g  -xs $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
-      CXX_OPT  = -g0 -xs $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
+      OPTIMIZATION_LEVEL = $(FASTDEBUG_OPTIMIZATION_LEVEL)
+      CFLAGS_COMMON += -g  -xs
+      CXXFLAGS_COMMON += -g0 -xs
     endif
     CFLAGS_DEBUG_OPTION    += -xs
     CXXFLAGS_DEBUG_OPTION  += -xs
   endif
 endif
 
-CFLAGS_COMMON   = -L$(OBJDIR)
+CFLAGS_COMMON  += -L$(OBJDIR)
 
 # Do not allow C99 language features like declarations in code etc.
 CFLAGS_COMMON  += -xc99=%none
--- a/make/common/Release-embedded.gmk	Thu Jun 21 00:20:49 2012 -0700
+++ b/make/common/Release-embedded.gmk	Sun Jun 24 21:35:19 2012 -0700
@@ -159,11 +159,14 @@
 
 	@# Remove misc. other files
 	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)/man
-	$(RM) -f $(JRE_REDUCED_IMAGE_DIR)/CHANGES
+	$(RM) $(JRE_REDUCED_IMAGE_DIR)/CHANGES
 
 	@# Copy back in the attach library
 	$(CP) $(JDK_IMAGE_DIR)/jre/lib/$(LIBARCH)/$(LIB_PREFIX)attach.$(LIB_SUFFIX) $(JRE_REDUCED_IMAGE_DIR)/lib/$(LIBARCH)
 
+	@# Remove FDS files: debuginfo, diz
+	$(FIND) $(JRE_REDUCED_IMAGE_DIR)/lib/$(LIBARCH) -type f \( -name "*.debuginfo" -o -name "*.diz" \) -print | $(XARGS) $(RM)
+
 	@$(ECHO) Done Creating Reduced JRE
 
 #
@@ -180,33 +183,33 @@
 	    $(TAR) cf - . | ($(CD) $(JRE_REDUCED_HEADLESS_IMAGE_DIR); $(TAR) xf - ); 
 
 	@# Replace the full rt.jar with the headless rt.jar
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
 	$(CP) $(HL_RT_JAR) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar
 
 	@#
 	@# Remove all of the files that are not needed for the
 	@# reduced Headless JRE
 	@#
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper
+	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper
 	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libjsoundalsa.so
 	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/audio
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet
+	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet
 	$(RM)  $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/awt_robot
 	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/xawt
 	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libsplashscreen.so
 	@# Remove oblique fonts and reduce font support to LucidaSansRegular only
-	$(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf
+	$(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf
 
 ifeq ($(PLATFORM), linux)
 # put out minimal fonts.dir file for the remaining font
-	$(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
+	$(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
 	$(ECHO) 6>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
 	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
 	$(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-2">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
--- a/make/sun/font/Makefile	Thu Jun 21 00:20:49 2012 -0700
+++ b/make/sun/font/Makefile	Sun Jun 24 21:35:19 2012 -0700
@@ -90,6 +90,12 @@
 
 endif # PLATFORM
 
+# Turn off aliasing with GCC for ExtensionSubtables.cpp
+ifeq ($(PLATFORM), linux)
+  CXXFLAGS += $(CXXFLAGS_$(@F))
+  CXXFLAGS_ExtensionSubtables.o = -fno-strict-aliasing
+endif
+
 #In the non-OpenJDK mode we need to build T2K
 ifndef OPENJDK
 t2k:
--- a/src/macosx/native/sun/awt/AWTWindow.h	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/macosx/native/sun/awt/AWTWindow.h	Sun Jun 24 21:35:19 2012 -0700
@@ -44,6 +44,7 @@
     NSSize javaMaxSize;
     jint styleBits;
     BOOL isEnabled;
+    NSWindow *nsWindow;
 }
 
 // An instance of either AWTWindow_Normal or AWTWindow_Panel
--- a/src/share/classes/com/sun/jndi/dns/DnsClient.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/com/sun/jndi/dns/DnsClient.java	Sun Jun 24 21:35:19 2012 -0700
@@ -622,11 +622,7 @@
 
     //-------------------------------------------------------------------------
 
-    private static boolean debug = false;
-
-    public static void setDebug(boolean flag) {
-        debug = flag;
-    }
+    private static final boolean debug = false;
 
     private static void dprint(String mess) {
         if (debug) {
--- a/src/share/classes/java/nio/MappedByteBuffer.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/java/nio/MappedByteBuffer.java	Sun Jun 24 21:35:19 2012 -0700
@@ -139,6 +139,9 @@
         return isLoaded0(mappingAddress(offset), length, Bits.pageCount(length));
     }
 
+    // not used, but a potential target for a store, see load() for details.
+    private static byte unused;
+
     /**
      * Loads this buffer's content into physical memory.
      *
@@ -157,15 +160,20 @@
         long length = mappingLength(offset);
         load0(mappingAddress(offset), length);
 
-        // touch each page
+        // Read a byte from each page to bring it into memory. A checksum
+        // is computed as we go along to prevent the compiler from otherwise
+        // considering the loop as dead code.
         Unsafe unsafe = Unsafe.getUnsafe();
         int ps = Bits.pageSize();
         int count = Bits.pageCount(length);
         long a = mappingAddress(offset);
+        byte x = 0;
         for (int i=0; i<count; i++) {
-            unsafe.getByte(a);
+            x ^= unsafe.getByte(a);
             a += ps;
         }
+        if (unused != 0)
+            unused = x;
 
         return this;
     }
--- a/src/share/classes/java/util/HashMap.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/java/util/HashMap.java	Sun Jun 24 21:35:19 2012 -0700
@@ -186,7 +186,7 @@
      * {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures that
      * alternative hashing is never used.
      */
-    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0;
+    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512;
 
     /**
      * holds values which can't be initialized until after VM is booted.
@@ -679,7 +679,7 @@
 
         Map.Entry<K,V> entry = (Map.Entry<K,V>) o;
         Object key = entry.getKey();
-        int hash = (key == null) ? 0 : hash(key.hashCode());
+        int hash = (key == null) ? 0 : hash(key);
         int i = indexFor(hash, table.length);
         Entry<K,V> prev = table[i];
         Entry<K,V> e = prev;
--- a/src/share/classes/java/util/Hashtable.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/java/util/Hashtable.java	Sun Jun 24 21:35:19 2012 -0700
@@ -174,7 +174,7 @@
      * {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures that
      * alternative hashing is never used.
      */
-    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0;
+    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512;
 
     /**
      * holds values which can't be initialized until after VM is booted.
@@ -1063,7 +1063,7 @@
      */
     private static class Entry<K,V> implements Map.Entry<K,V> {
         int hash;
-        K key;
+        final K key;
         V value;
         Entry<K,V> next;
 
--- a/src/share/classes/java/util/WeakHashMap.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/java/util/WeakHashMap.java	Sun Jun 24 21:35:19 2012 -0700
@@ -195,7 +195,7 @@
     * whereas {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures
     * that alternative hashing is never used.
     */
-    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0;
+    static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512;
 
     /**
      * holds values which can't be initialized until after VM is booted.
--- a/src/share/classes/javax/swing/JPopupMenu.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/javax/swing/JPopupMenu.java	Sun Jun 24 21:35:19 2012 -0700
@@ -825,7 +825,7 @@
             popupFactory.setPopupType(PopupFactory.LIGHT_WEIGHT_POPUP);
         }
         else {
-            popupFactory.setPopupType(PopupFactory.MEDIUM_WEIGHT_POPUP);
+            popupFactory.setPopupType(PopupFactory.HEAVY_WEIGHT_POPUP);
         }
 
         // adjust the location of the popup
--- a/src/share/classes/javax/swing/PopupFactory.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/javax/swing/PopupFactory.java	Sun Jun 24 21:35:19 2012 -0700
@@ -203,12 +203,6 @@
                     popupType = HEAVY_WEIGHT_POPUP;
                     break;
                 }
-            } else if (c instanceof Window) {
-                Window w = (Window) c;
-                if (!w.isOpaque() || w.getOpacity() < 1 || w.getShape() != null) {
-                    popupType = HEAVY_WEIGHT_POPUP;
-                    break;
-                }
             }
             c = c.getParent();
         }
--- a/src/share/classes/sun/nio/ch/DatagramChannelImpl.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/nio/ch/DatagramChannelImpl.java	Sun Jun 24 21:35:19 2012 -0700
@@ -661,7 +661,12 @@
                         throw new AlreadyBoundException();
                     InetSocketAddress isa;
                     if (local == null) {
-                        isa = new InetSocketAddress(0);
+                        // only Inet4Address allowed with IPv4 socket
+                        if (family == StandardProtocolFamily.INET) {
+                            isa = new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 0);
+                        } else {
+                            isa = new InetSocketAddress(0);
+                        }
                     } else {
                         isa = Net.checkAddress(local);
 
--- a/src/share/classes/sun/nio/ch/DevPollSelectorProvider.java	Thu Jun 21 00:20:49 2012 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code 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
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.ch;
-
-import java.io.IOException;
-import java.nio.channels.*;
-import java.nio.channels.spi.*;
-
-public class DevPollSelectorProvider
-    extends SelectorProviderImpl
-{
-    public AbstractSelector openSelector() throws IOException {
-        return new DevPollSelectorImpl(this);
-    }
-
-    public Channel inheritedChannel() throws IOException {
-        return InheritedChannel.getChannel();
-    }
-}
--- a/src/share/classes/sun/security/ssl/SSLContextImpl.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/security/ssl/SSLContextImpl.java	Sun Jun 24 21:35:19 2012 -0700
@@ -144,7 +144,7 @@
             throws KeyManagementException {
         for (int i = 0; kms != null && i < kms.length; i++) {
             KeyManager km = kms[i];
-            if (km instanceof X509KeyManager == false) {
+            if (!(km instanceof X509KeyManager)) {
                 continue;
             }
             if (SunJSSE.isFIPS()) {
@@ -331,11 +331,11 @@
         Collection<CipherSuite> allowedCipherSuites =
                                     CipherSuite.allowedCipherSuites();
 
-        ArrayList<CipherSuite> suites = new ArrayList<>();
+        TreeSet<CipherSuite> suites = new TreeSet<>();
         if (!(protocols.collection().isEmpty()) &&
                 protocols.min.v != ProtocolVersion.NONE.v) {
             for (CipherSuite suite : allowedCipherSuites) {
-                if (suite.allowed == false || suite.priority < minPriority) {
+                if (!suite.allowed || suite.priority < minPriority) {
                     continue;
                 }
 
--- a/src/share/classes/sun/security/ssl/ServerHandshaker.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/security/ssl/ServerHandshaker.java	Sun Jun 24 21:35:19 2012 -0700
@@ -1313,7 +1313,7 @@
                    return false;
                 }
             }
-            return (kerberosKeys != null);
+            return (kerberosKeys != null && kerberosKeys.length > 0);
         } catch (PrivilegedActionException e) {
             // Likely exception here is LoginExceptin
             if (debug != null && Debug.isOn("handshake")) {
--- a/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java	Sun Jun 24 21:35:19 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,7 +62,10 @@
     @Override
     public SecretKey[] getServerKeys(AccessControlContext acc)
             throws LoginException {
-        return Krb5Util.getServiceCreds(GSSCaller.CALLER_SSL_SERVER, null, acc).getKKeys();
+        Krb5Util.ServiceCreds serviceCreds =
+            Krb5Util.getServiceCreds(GSSCaller.CALLER_SSL_SERVER, null, acc);
+        return serviceCreds != null ? serviceCreds.getKKeys() :
+                                        new KerberosKey[0];
     }
 
     @Override
--- a/src/share/classes/sun/tools/jar/Main.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/tools/jar/Main.java	Sun Jun 24 21:35:19 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -137,7 +137,7 @@
         File dir = file.getParentFile();
         if (dir == null)
             dir = new File(".");
-        return Files.createTempFile(dir.toPath(), "jartmp", null).toFile();
+        return File.createTempFile("jartmp", null, dir);
     }
 
     private boolean ok;
--- a/src/share/classes/sun/tools/native2ascii/Main.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/tools/native2ascii/Main.java	Sun Jun 24 21:35:19 2012 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -71,7 +71,6 @@
 import java.nio.charset.CharsetEncoder;
 import java.nio.charset.Charset;
 import java.nio.charset.IllegalCharsetNameException;
-import java.nio.file.Files;
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.UnsupportedCharsetException;
 import sun.tools.native2ascii.A2NFilter;
@@ -241,7 +240,9 @@
             if (tempDir == null)
                 tempDir = new File(System.getProperty("user.dir"));
 
-            tempFile = Files.createTempFile(tempDir.toPath(), "_N2A", ".TMP").toFile();
+            tempFile = File.createTempFile("_N2A",
+                                           ".TMP",
+                                            tempDir);
             tempFile.deleteOnExit();
 
             try {
@@ -291,7 +292,9 @@
             File tempDir = f.getParentFile();
             if (tempDir == null)
                 tempDir = new File(System.getProperty("user.dir"));
-            tempFile =  Files.createTempFile(tempDir.toPath(), "_N2A", ".TMP").toFile();
+            tempFile =  File.createTempFile("_N2A",
+                                            ".TMP",
+                                            tempDir);
             tempFile.deleteOnExit();
 
             try {
--- a/src/share/classes/sun/util/resources/LocaleNames_de.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_de.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -41,7 +40,7 @@
 
 aa=Afar
 ab=Abchasisch
-ae=Avestisch 
+ae=Avestisch
 af=Afrikaans
 ak=Akan
 am=Amharisch
@@ -62,15 +61,15 @@
 br=Bretonisch
 bs=Bosnisch
 ca=Katalanisch
-ce=Tschetschenisch
+ce=Chechen
 ch=Chamorro
 co=Korsisch
 cr=Cree
 cs=Tschechisch
-cu=Kirchenslawisch
+cu=Church Slavic
 cv=Chuvash
 cy=Walisisch
-da=D\u00E4nisch
+da=D\u00e4nisch
 de=Deutsch
 dv=Divehi
 dz=Bhutani
@@ -85,17 +84,17 @@
 ff=Fulah
 fi=Finnisch
 fj=Fidschi
-fo=F\u00E4r\u00F6isch 
-fr=Franz\u00F6sisch
+fo=Far\u00f6isch
+fr=Franz\u00f6sisch
 fy=Friesisch
 ga=Irisch
-gd=Schottisches G\u00E4lisch
+gd=Schottisches G\u00e4lisch
 gl=Galizisch
 gn=Guarani
 gu=Gujaratisch
 gv=Manx
 ha=Haussa
-he=Hebr\u00E4isch
+he=Hebr\u00e4isch
 hi=Hindi
 ho=Hiri Motu
 hr=Kroatisch
@@ -111,19 +110,19 @@
 ik=Inupiak
 in=Indonesisch
 io=Ido
-is=Isl\u00E4ndisch
+is=Isl\u00e4ndisch
 it=Italienisch
 iu=Inuktitut
-iw=Hebr\u00E4isch
+iw=Hebr\u00e4isch
 ja=Japanisch
 ji=Jiddish
-jv=Javanesisch
+jv=Javanisch
 ka=Georgisch
 kg=Kongo
 ki=Kikuyu
 kj=Kwanyama
 kk=Kasachisch
-kl=Gr\u00F6nl\u00E4ndisch
+kl=Gr\u00f6nl\u00e4ndisch
 km=Kambodschanisch
 kn=Kannada
 ko=Koreanisch
@@ -134,7 +133,7 @@
 kw=Cornish
 ky=Kirgisisch
 la=Lateinisch
-lb=Luxemburgisch
+lb=Letzeburgisch
 lg=Ganda
 li=Limburgisch
 ln=Lingalisch
@@ -153,15 +152,15 @@
 ms=Malay
 mt=Maltesisch
 my=Burmesisch
-na=Nauru
-nb=Norwegisch Bokm\u00E5l
+na=Nauruisch
+nb=Norwegisch, Bokm\u00e5l
 nd=Nord-Ndebele
-ne=Nepalesisch
+ne=Nepalisch
 ng=Ndonga
-nl=Niederl\u00E4ndisch
+nl=Niederl\u00e4ndisch
 nn=Norwegisch, Nynorsk
 no=Norwegisch
-nr=S\u00FCd-Ndebele
+nr=S\u00fcd-Ndebele
 nv=Navajo
 ny=Nyanja
 oc=Okzitanisch
@@ -175,14 +174,14 @@
 ps=Paschtu (Pushto)
 pt=Portugiesisch
 qu=Quechua
-rm=R\u00E4toromanisch
+rm=R\u00e4toromanisch
 rn=Kirundisch
-ro=Rum\u00E4nisch
+ro=Rum\u00e4nisch
 ru=Russisch
-rw=Kinyarwanda
+rw=Ruanda
 sa=Sanskrit
 sc=Sardisch
-sd=Sindhi
+sd=Zinti
 se=Nord-Sami
 sg=Sango
 si=Singhalesisch
@@ -193,12 +192,12 @@
 so=Somalisch
 sq=Albanisch
 sr=Serbisch
-ss=Swasil\u00E4ndisch
+ss=Swasil\u00e4ndisch
 st=Sesothisch
-su=Sundanesisch
+su=Sudanesisch
 sv=Schwedisch
 sw=Suaheli
-ta=Tamil
+ta=Tamilisch
 te=Telugu
 tg=Tadschikisch
 th=Thai
@@ -207,8 +206,8 @@
 tl=Tagalog
 tn=Sezuan
 to=Tongaisch
-tr=T\u00FCrkisch
-ts=Tsonga
+tr=T\u00fcrkisch
+ts=Tsongaisch
 tt=Tatarisch
 tw=Twi
 ty=Tahitisch
@@ -218,7 +217,7 @@
 uz=Usbekisch
 ve=Venda
 vi=Vietnamesisch
-vo=Volap\u00FCk
+vo=Volap\u00fck
 wa=Wallonisch
 wo=Wolof
 xh=Xhosa
@@ -541,7 +540,7 @@
 nic=Cordoba
 niu=Niue-Sprache
 nno=Norwegisch, Nynorsk
-nob=Bokm\u00E5l, Norwegisch
+nob=Bokmal, Norwegisch
 nog=Nogai
 non=Altnordisch
 nor=Norwegisch
@@ -578,7 +577,7 @@
 pon=Ponapeanisch
 por=Portugiesisch
 pra=Prakrit
-pro=Provenzalisch, Alt (bis 1500)
+pro=Altprovenzalisch
 pus=Paschtunisch
 que=Quechua
 raj=Rajasthani
@@ -622,7 +621,7 @@
 smo=Samoanisch
 sms=Skolt-Lappisch
 sna=Schonisch
-snd=Sindhi
+snd=Zinti-Sprache
 snk=Soninke-Sprache
 sog=Sogdisch 
 som=Somalisch
@@ -673,7 +672,7 @@
 tup=Tupi-Sprache
 tur=T\u00FCrkisch
 tut=Altaisch
-tvl=Tuvalu
+tvl=Elliceanisch
 twi=Twi
 tyv=Tuwinisch
 udm=Udmurtisch
@@ -807,7 +806,7 @@
 Narb=Altes Nordarabisch
 Nbat=Nabat\u00E4isch
 Nkgb=Nakhi Geba
-Nkoo=N\u2019Ko
+Nkoo=N'Ko
 Ogam=Ogham
 Olck=Ol Chiki
 Orkh=Orchon-Runen
@@ -831,7 +830,7 @@
 Saur=Saurashtra
 Sgnw=Geb\u00E4rdensprache
 Shaw=Shaw-Alphabet
-Sind=Sindhi
+Sind=Zinti-Sprache
 Sinh=Sinhala
 Sund=Sundanesisch
 Sylo=Syloti Nagri
@@ -875,15 +874,15 @@
 AI=Anguilla
 AL=Albanien
 AM=Armenien
-AN=Niederl\u00E4ndische Antillen
+AN=Niederl\u00e4ndische Antillen
 AO=Angola
 AQ=Antarktis
 AR=Argentinien
 AS=Amerikanisch-Samoa
-AT=\u00D6sterreich
+AT=\u00d6sterreich
 AU=Australien
 AW=Aruba
-AX=\u00C5land-Inseln
+AX=Aaland-Inseln
 AZ=Aserbaidschan
 BA=Bosnien und Herzegowina
 BB=Barbados
@@ -903,7 +902,7 @@
 BS=Bahamas
 BT=Bhutan
 BV=Bouvet-Insel
-BW=Botswana
+BW=Botsuana
 BY=Belarus
 BZ=Belize
 CA=Kanada
@@ -912,7 +911,7 @@
 CF=Zentralafrikanische Republik
 CG=Kongo
 CH=Schweiz
-CI=Elfenbeink\u00FCste
+CI=Elfenbeink\u00fcste
 CK=Cook-Inseln
 CL=Chile
 CM=Kamerun
@@ -928,38 +927,38 @@
 CZ=Tschechische Republik
 DE=Deutschland
 DJ=Dschibuti
-DK=D\u00E4nemark
+DK=D\u00e4nemark
 DM=Dominica
 DO=Dominikanische Republik
 DZ=Algerien
 EC=Ecuador
 EE=Estland
-EG=\u00C4gypten
+EG=\u00c4gypten
 EH=Westsahara
 ER=Eritrea
 ES=Spanien
-ET=\u00C4thiopien
+ET=\u00c4thiopien
 FI=Finnland
 FJ=Fidschi
 FK=Falkland-Inseln
-FM=Mikronesisches Inselgebiet
-FO=F\u00E4r\u00F6er-Inseln
+FM=Mikronesien
+FO=F\u00e4r\u00f6er-Inseln
 FR=Frankreich
 GA=Gabun
-GB=Vereinigtes K\u00F6nigreich
+GB=Vereinigtes K\u00f6nigreich
 GD=Grenada
 GE=Georgien
-GF=Franz\u00F6sisch-Guayana
+GF=Franz\u00f6sisch-Guayana
 GG=Guernsey
 GH=Ghana
 GI=Gibraltar
-GL=Gr\u00F6nland
+GL=Gr\u00f6nland
 GM=Gambia
 GN=Guinea
 GP=Guadeloupe
-GQ=\u00C4quatorial-Guinea
+GQ=\u00c4quatorial-Guinea
 GR=Griechenland
-GS=S\u00FCdgeorgien und die S\u00FCdlichen Sandwich-Inseln
+GS=S\u00fcd-Georgia und die s\u00fcdlichen Sandwich-Inseln
 GT=Guatemala
 GU=Guam
 GW=Guinea-Bissau
@@ -991,7 +990,7 @@
 KM=Komoren
 KN=Saint Kitts und Nevis
 KP=Nordkorea
-KR=S\u00FCdkorea
+KR=S\u00fcdkorea
 KW=Kuwait
 KY=Kaiman-Inseln
 KZ=Kasachstan
@@ -1015,16 +1014,16 @@
 MH=Marshall-Inseln
 MK=Mazedonien
 ML=Mali
-MM=Birmanisch
+MM=Myanmar
 MN=Mongolei
 MO=Macao
-MP=N\u00F6rdliche Marianen
+MP=N\u00f6rdliche Mariannen-Inseln
 MQ=Martinique
 MR=Mauretanien
 MS=Montserrat
 MT=Malta
 MU=Mauritius
-MV=Malediven
+MV=Maldiven
 MW=Malawi
 MX=Mexiko
 MY=Malaysia
@@ -1044,7 +1043,7 @@
 OM=Oman
 PA=Panama
 PE=Peru
-PF=Franz\u00F6sisch-Polynesien
+PF=Franz\u00f6sisch-Polynesien
 PG=Papua-Neuguinea
 PH=Philippinen
 PK=Pakistan
@@ -1052,18 +1051,18 @@
 PM=St. Pierre und Miquelon
 PN=Pitcairn
 PR=Puerto Rico
-PS=Pal\u00E4stina
+PS=Pal\u00e4stina
 PT=Portugal
 PW=Palau
 PY=Paraguay
 QA=Katar
 RE=Reunion
-RO=Rum\u00E4nien
+RO=Rum\u00e4nien
 RS=Serbien
 RU=Russland
 RW=Ruanda
 SA=Saudi-Arabien
-SB=Salomonen
+SB=Solomon-Inseln
 SC=Seychellen
 SD=Sudan
 SE=Schweden
@@ -1084,7 +1083,7 @@
 SZ=Swasiland
 TC=Turks- und Caicos-Inseln
 TD=Tschad
-TF=Franz\u00F6sische S\u00FCdgebiete
+TF=Franz\u00f6sische S\u00fcdgebiete
 TG=Togo
 TH=Thailand
 TJ=Tadschikistan
@@ -1093,14 +1092,14 @@
 TM=Turkmenistan
 TN=Tunesien
 TO=Tonga
-TR=T\u00FCrkei
+TR=T\u00fcrkei
 TT=Trinidad und Tobago
 TV=Tuvalu
 TW=Taiwan
 TZ=Tansania
 UA=Ukraine
 UG=Uganda
-UM=\u00DCbrige Inseln im Pazifik der USA
+UM=\u00dcbrige Inseln im Pazifik der USA
 US=Vereinigte Staaten von Amerika
 UY=Uruguay
 UZ=Usbekistan
@@ -1115,7 +1114,7 @@
 WS=Samoa
 YE=Jemen
 YT=Mayotte
-ZA=S\u00FCdafrika
+ZA=S\u00fcdafrika
 ZM=Sambia
 ZW=Simbabwe
 
@@ -1152,19 +1151,3 @@
 154=Nordeuropa
 155=Westeuropa
 419=Lateinamerika und Karibik
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Norwegisch (Nynorsk)
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_es.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_es.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -41,124 +40,124 @@
 
 aa=afar
 ab=abjasio
-ae=av\u00E9stico
+ae=av\u00e9stico
 af=afrikaans
 ak=akan
-am=am\u00E1rico
-an=aragon\u00E9s
-ar=\u00E1rabe
-as=asam\u00E9s
+am=am\u00e1rico
+an=aragon\u00e9s
+ar=\u00e1rabe
+as=asam\u00e9s
 av=avar
 ay=aimara
-az=azer\u00ED
+az=azer\u00ed
 ba=bashkir
 be=bielorruso
-bg=b\u00FAlgaro
+bg=b\u00falgaro
 bh=bihari
 bi=bislama
 bm=bambara
-bn=bengal\u00ED
+bn=bengal\u00ed
 bo=tibetano
-br=bret\u00F3n
+br=bret\u00f3n
 bs=bosnio
-ca=catal\u00E1n
+ca=catal\u00e1n
 ce=checheno
 ch=chamorro
 co=corso
-cr=clisteno
+cr=cree
 cs=checo
-cu=eslavo eclesi\u00E1stico
+cu=eslavo eclesi\u00e1stico
 cv=chuvash
-cy=gal\u00E9s
-da=dan\u00E9s
-de=alem\u00E1n
+cy=gal\u00e9s
+da=dan\u00e9s
+de=alem\u00e1n
 dv=divehi
 dz=dzongkha
 ee=ewe
 el=griego
-en=ingl\u00E9s
+en=ingl\u00e9s
 eo=esperanto
-es=espa\u00F1ol
+es=espa\u00f1ol
 et=estonio
 eu=vasco
 fa=persa
 ff=fula
-fi=finland\u00E9s
+fi=fin\u00e9s
 fj=fidjiano
-fo=fero\u00E9s
-fr=franc\u00E9s
-fy=fris\u00F3n
-ga=irland\u00E9s
-gd=ga\u00E9lico escoc\u00E9s
+fo=fero\u00e9s
+fr=franc\u00e9s
+fy=fris\u00f3n
+ga=irland\u00e9s
+gd=ga\u00e9lico escoc\u00e9s
 gl=gallego
-gn=guaran\u00ED
+gn=guaran\u00ed
 gu=gujarati
-gv=ga\u00E9lico man\u00E9s
+gv=ga\u00e9lico man\u00e9s
 ha=hausa
 he=hebreo
 hi=hindi
 ho=hiri motu
 hr=croata
 ht=haitiano
-hu=h\u00FAngaro
+hu=h\u00fangaro
 hy=armenio
 hz=herero
 ia=interlingua
 id=indonesio
-ie=interling\u00FCe
+ie=interlingue
 ig=igbo
 ii=sichuan yi
-ik=i\u00F1upiaq
+ik=inupiaq
 in=indonesio
 io=ido
-is=island\u00E9s
+is=island\u00e9s
 it=italiano
 iu=inuktitut
 iw=hebreo
-ja=japon\u00E9s
-ji=y\u00EDdish
-jv=javan\u00E9s
+ja=japon\u00e9s
+ji=y\u00eddish
+jv=javan\u00e9s
 ka=georgiano
 kg=kongo
 ki=kikuyu
-kj=kwanyama
+kj=kuanyama
 kk=kazajo
-kl=groenland\u00E9s
+kl=groenland\u00e9s
 km=jemer
-kn=canar\u00E9s
+kn=canar\u00e9s
 ko=coreano
 kr=kanuri
 ks=cachemiro
 ku=kurdo
 kv=komi
-kw=c\u00F3rnico
+kw=c\u00f3rnico
 ky=kirghiz
-la=lat\u00EDn
-lb=luxemburgu\u00E9s
+la=lat\u00edn
+lb=luxemburgu\u00e9s
 lg=ganda
-li=limburgu\u00E9s
+li=limburgu\u00e9s
 ln=lingala
 lo=laosiano
 lt=lituano
 lu=luba-katanga
-lv=let\u00F3n
+lv=let\u00f3n
 mg=malgache
-mh=marshal\u00E9s
-mi=maor\u00ED
+mh=marshal\u00e9s
+mi=maor\u00ed
 mk=macedonio
 ml=malayalam
 mn=mongol
 mo=moldavo
 mr=marathi
 ms=malayo
-mt=malt\u00E9s
+mt=malt\u00e9s
 my=birmano
 na=nauruano
-nb=noruego bokm\u00E5l
+nb=bokmal noruego
 nd=ndebele septentrional
-ne=nepal\u00ED
+ne=nepal\u00ed
 ng=ndonga
-nl=neerland\u00E9s
+nl=neerland\u00e9s
 nn=nynorsk noruego
 no=noruego
 nr=ndebele meridional
@@ -168,48 +167,48 @@
 oj=ojibwa
 om=oromo
 or=oriya
-os=os\u00E9tico
-pa=punjab\u00ED
+os=os\u00e9tico
+pa=punjab\u00ed
 pi=pali
 pl=polaco
 ps=pashto
-pt=portugu\u00E9s
+pt=portugu\u00e9s
 qu=quechua
-rm=retorrom\u00E1nico
+rm=retorrom\u00e1nico
 rn=kiroundi
 ro=rumano
 ru=ruso
 rw=kinyarwanda
-sa=s\u00E1nscrito
+sa=s\u00e1nscrito
 sc=sardo
 sd=sindhi
 se=sami septentrional
 sg=sango
-si=cingal\u00E9s
+si=cingal\u00e9s
 sk=eslovaco
 sl=esloveno
 sm=samoano
 sn=shona
-so=somal\u00ED
-sq=alban\u00E9s
+so=somal\u00ed
+sq=alban\u00e9s
 sr=serbio
 ss=siswati
 st=sesotho
-su=sudan\u00E9s
+su=sundan\u00e9s
 sv=sueco
 sw=swahili
 ta=tamil
 te=telugu
 tg=tayiko
-th=tailand\u00E9s
-ti=trigri\u00F1a
+th=tailand\u00e9s
+ti=tigri\u00f1a
 tk=turcomano
 tl=tagalo
 tn=setchwana
 to=tongano
 tr=turco
 ts=tsonga
-tt=t\u00E1rtaro
+tt=t\u00e1rtaro
 tw=twi
 ty=tahitiano
 ug=uigur
@@ -218,15 +217,15 @@
 uz=uzbeko
 ve=venda
 vi=vietnamita
-vo=volap\u00FCk
-wa=val\u00F3n
+vo=volap\u00fck
+wa=val\u00f3n
 wo=uolof
 xh=xhosa
-yi=y\u00EDdish
+yi=y\u00eddish
 yo=yoruba
 za=zhuang
 zh=chino
-zu=zul\u00FA
+zu=zul\u00fa
 
 # key is ISO 639.2 language code
 aar=afar
@@ -287,7 +286,7 @@
 bis=Bislama
 bla=siksika
 bnt=bant\u00FA
-bos=bosnio
+bos=Bosnio
 bra=braj
 bre=cruceiros brasile\u00F1os (BRE)
 btk=batak
@@ -338,7 +337,7 @@
 den=slave
 dgr=dogrib
 din=dinka
-div=divehi
+div=Dhivehi
 doi=dogri
 dra=lengua drav\u00EDdica
 dsb=sorbio inferior
@@ -541,7 +540,7 @@
 nic=c\u00F3rdobas nicarag\u00FCenses
 niu=niueano
 nno=Noruego Nynorsk
-nob=bokm\u00E5l, noruego
+nob=Noruego Bokmal
 nog=nogai
 non=n\u00F3rdico antiguo
 nor=Noruego
@@ -578,7 +577,7 @@
 pon=pohnpeiano
 por=Portugu\u00E9s
 pra=lenguas pr\u00E1critas
-pro=provenzal antiguo (hasta 1500)
+pro=provenzal antiguo
 pus=Pushto; Pashto
 que=Quechua
 raj=rajasthani
@@ -683,11 +682,11 @@
 umb=umbundu
 und=indeterminada
 urd=Urdu
-uzb=uzbeko
+uzb=Uzbeco
 vai=vai
 ven=Venda
 vie=vietnamita
-vol=volap\u00FCk
+vol=Volapuk
 vot=v\u00F3tico
 wak=lenguas wakasha
 wal=walamo
@@ -807,7 +806,7 @@
 Narb=\u00C1rabe del Norte Antiguo
 Nbat=Nabateo
 Nkgb=Nakhi Geba
-Nkoo=N\u2019Ko
+Nkoo=n'Ko
 Ogam=ogham
 Olck=ol chiki
 Orkh=orkhon
@@ -869,53 +868,53 @@
 # key is ISO 3166 country code
 
 AD=Andorra
-AE=Emiratos \u00C1rabes Unidos
-AF=Afganist\u00E1n
+AE=Emiratos \u00c1rabes Unidos
+AF=Afganist\u00e1n
 AG=Antigua y Barbuda
 AI=Anguila
 AL=Albania
 AM=Armenia
 AN=Antillas Holandesas
 AO=Angola
-AQ=Ant\u00E1rtida
+AQ=Ant\u00e1rtida
 AR=Argentina
 AS=Samoa Americana
 AT=Austria
 AU=Australia
 AW=Aruba
-AX=Islas \u00C5land
-AZ=Azerbaiy\u00E1n
+AX=Islas Aland
+AZ=Azerbaiy\u00e1n
 BA=Bosnia y Hercegovina
 BB=Barbados
 BD=Bangladesh
-BE=B\u00E9lgica
+BE=B\u00e9lgica
 BF=Burkina Faso
 BG=Bulgaria
-BH=Bahr\u00E1in
+BH=Bahr\u00e1in
 BI=Burundi
-BJ=Ben\u00EDn
+BJ=Ben\u00edn
 BL=San Bartolom\u00E9
 BM=Bermudas
-BN=Brun\u00E9i
+BN=Brun\u00e9i
 BO=Bolivia
 BQ=Bonaire, San Eustaquio y Saba
 BR=Brasil
 BS=Bahamas
-BT=But\u00E1n
+BT=But\u00e1n
 BV=Isla Bouvet
 BW=Botsuana
 BY=Bielorrusia
 BZ=Belice
-CA=Canad\u00E1
+CA=Canad\u00e1
 CC=Islas Cocos
-CD=Rep\u00FAblica Democr\u00E1tica del Congo
-CF=Rep\u00FAblica Centroafricana
+CD=Rep\u00fablica Democr\u00e1tica del Congo
+CF=Rep\u00fablica Centroafricana
 CG=Congo
 CH=Suiza
 CI=Costa de Marfil
 CK=Islas Cook
 CL=Chile
-CM=Camer\u00FAn
+CM=Camer\u00fan
 CN=China
 CO=Colombia
 CR=Costa Rica
@@ -930,22 +929,22 @@
 DJ=Yibuti
 DK=Dinamarca
 DM=Dominica
-DO=Rep\u00FAblica Dominicana
+DO=Rep\u00fablica Dominicana
 DZ=Argelia
 EC=Ecuador
 EE=Estonia
 EG=Egipto
 EH=Sahara Occidental
 ER=Eritrea
-ES=Espa\u00F1a
-ET=Etiop\u00EDa
+ES=Espa\u00f1a
+ET=Etiop\u00eda
 FI=Finlandia
 FJ=Fiyi
 FK=Islas Malvinas
 FM=Micronesia
 FO=Islas Feroe
 FR=Francia
-GA=Gab\u00F3n
+GA=Gab\u00f3n
 GB=Reino Unido
 GD=Granada
 GE=Georgia
@@ -968,35 +967,35 @@
 HM=Islas Heard y McDonald
 HN=Honduras
 HR=Croacia
-HT=Hait\u00ED
-HU=Hungr\u00EDa
+HT=Hait\u00ed
+HU=Hungr\u00eda
 ID=Indonesia
 IE=Irlanda
 IL=Israel
 IM=Isla de Man
 IN=India
-IO=Territorio Brit\u00E1nico del Oc\u00E9ano \u00CDndico
+IO=Territorio Brit\u00e1nico del Oc\u00e9ano \u00cdndico
 IQ=Iraq
-IR=Ir\u00E1n
+IR=Ir\u00e1n
 IS=Islandia
 IT=Italia
 JE=Jersey
 JM=Jamaica
 JO=Jordania
-JP=Jap\u00F3n
+JP=Jap\u00f3n
 KE=Kenia
-KG=Kirguizist\u00E1n
+KG=Kirguizist\u00e1n
 KH=Camboya
 KI=Kiribati
 KM=Comores
-KN=San Crist\u00F3bal y Nieves
+KN=San Crist\u00f3bal y Nieves
 KP=Corea del Norte
 KR=Corea del Sur
 KW=Kuwait
-KY=Islas Caim\u00E1n
-KZ=Kazajst\u00E1n
+KY=Islas Caim\u00e1n
+KZ=Kazajst\u00e1n
 LA=Laos
-LB=L\u00EDbano
+LB=L\u00edbano
 LC=Santa Lucia
 LI=Liechtenstein
 LK=Sri Lanka
@@ -1007,15 +1006,15 @@
 LV=Letonia
 LY=Libia
 MA=Marruecos
-MC=M\u00F3naco
+MC=M\u00f3naco
 MD=Moldavia
 ME=Montenegro
 MF=San Mart\u00EDn
 MG=Madagascar
 MH=Islas Marshall
 MK=Macedonia
-ML=Mal\u00ED
-MM=birmano
+ML=Mal\u00ed
+MM=Myanmar
 MN=Mongolia
 MO=Macao
 MP=Islas Marianas del Norte
@@ -1026,12 +1025,12 @@
 MU=Mauricio
 MV=Maldivas
 MW=Malaui
-MX=M\u00E9xico
+MX=M\u00e9xico
 MY=Malasia
 MZ=Mozambique
 NA=Namibia
 NC=Nueva Caledonia
-NE=N\u00EDger
+NE=N\u00edger
 NF=Isla Norfolk
 NG=Nigeria
 NI=Nicaragua
@@ -1041,15 +1040,15 @@
 NR=Nauru
 NU=Niue
 NZ=Nueva Zelanda
-OM=Om\u00E1n
-PA=Panam\u00E1
-PE=Per\u00FA
+OM=Om\u00e1n
+PA=Panam\u00e1
+PE=Per\u00fa
 PF=Polinesia Francesa
-PG=Pap\u00FAa New Guinea
+PG=Pap\u00faa New Guinea
 PH=Filipinas
-PK=Paquist\u00E1n
+PK=Paquist\u00e1n
 PL=Polonia
-PM=San Pedro y Miquel\u00F3n
+PM=San Pedro y Miquel\u00f3n
 PN=Islas Pitcairn
 PR=Puerto Rico
 PS=Palestina
@@ -1057,15 +1056,15 @@
 PW=Palaos
 PY=Paraguay
 QA=Qatar
-RE=Reuni\u00F3n
+RE=Reuni\u00f3n
 RO=Rumania
 RS=Serbia
 RU=Rusia
 RW=Ruanda
 SA=Arabia Saudita
-SB=Islas Salom\u00F3n
+SB=Islas Salom\u00f3n
 SC=Seychelles
-SD=Sud\u00E1n
+SD=Sud\u00e1n
 SE=Suecia
 SG=Singapur
 SH=Santa Helena
@@ -1077,7 +1076,7 @@
 SN=Senegal
 SO=Somalia
 SR=Surinam
-ST=Santo Tom\u00E9 y Pr\u00EDncipe
+ST=Santo Tom\u00e9 y Pr\u00edncipe
 SV=El Salvador
 SX=San Mart\u00EDn (regi\u00F3n holandesa)
 SY=Siria
@@ -1087,35 +1086,35 @@
 TF=Territorios Franceses del Sur
 TG=Togo
 TH=Tailandia
-TJ=Tayikist\u00E1n
+TJ=Tayikist\u00e1n
 TK=Tokelau
 TL=Timor Oriental
-TM=Turkmenist\u00E1n
-TN=T\u00FAnez
+TM=Turkmenist\u00e1n
+TN=T\u00fanez
 TO=Tonga
-TR=Turqu\u00EDa
+TR=Turqu\u00eda
 TT=Trinidad y Tobago
-TV=tuvaluano
-TW=Taiw\u00E1n
+TV=Tuvalu
+TW=Taiw\u00e1n
 TZ=Tanzania
 UA=Ucrania
 UG=Uganda
 UM=Islas menores alejadas de los Estados Unidos
 US=Estados Unidos
 UY=Uruguay
-UZ=Uzbekist\u00E1n
+UZ=Uzbekist\u00e1n
 VA=Ciudad del Vaticano
 VC=San Vicente y las Granadinas
 VE=Venezuela
-VG=Islas V\u00EDrgenes Brit\u00E1nicas
-VI=Islas V\u00EDrgenes Americanas
+VG=Islas V\u00edrgenes Brit\u00e1nicas
+VI=Islas V\u00edrgenes Americanas
 VN=Vietnam
 VU=Vanuatu
 WF=Wallis y Futuna
 WS=Samoa
 YE=Yemen
 YT=Mayotte
-ZA=Sud\u00E1frica
+ZA=Sud\u00e1frica
 ZM=Zambia
 ZW=Zimbabue
 
@@ -1152,19 +1151,3 @@
 154=Europa septentrional
 155=Europa occidental
 419=Latinoam\u00E9rica y el Caribe
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Nynorsk
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_fr.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_fr.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=Afar
-ab=Abkhaze
-ae=Avestan
-af=Afrikaans
-ak=Akan
-am=Amharique
-an=Aragonais
-ar=Arabe
-as=Assamais
-av=Avar
-ay=Aymara
-az=Az\u00E9ri
-ba=Bachkir
-be=Bi\u00E9lorusse
-bg=Bulgare
-bh=Bihari
-bi=Bichlamar
-bm=Bambara
-bn=Bengali
-bo=Tib\u00E9tain
-br=Breton
-bs=Bosniaque
-ca=Catalan
-ce=Tch\u00E9tch\u00E8ne
-ch=Chamorro
-co=Corse
-cr=Cri
-cs=Tch\u00E8que
-cu=Slavon liturgique
-cv=Tchouvache
-cy=Gallois
-da=Danois
-de=Allemand
-dv=Divehi
-dz=Dzongkha
-ee=Ewe
-el=Grec
-en=Anglais
-eo=Esp\u00E9ranto
-es=Espagnol
-et=Estonien
-eu=Basque
-fa=Persan
-ff=Peul
-fi=Finnois
-fj=Fidjien
-fo=F\u00E9ro\u00EFen
-fr=Fran\u00E7ais
-fy=Frison
-ga=Irlandais
-gd=Ecossais ga\u00E9lique
-gl=Galicien
-gn=Guarani
-gu=Goudjarati
-gv=Mannois
-ha=Haoussa
-he=H\u00E9breu
-hi=Hindi
-ho=Hiri Motu
-hr=Croate
-ht=Cr\u00E9ole d'Ha\u00EFti
-hu=Hongrois
-hy=Arm\u00E9nien
-hz=Herero
-ia=Interlingua
-id=Indon\u00E9sien
-ie=Interlingue
-ig=Igbo
-ii=Yi de Sichuan
-ik=Inupiaq
-in=Indon\u00E9sien
-io=Ido
-is=Islandais
-it=Italien
-iu=Inuktitut
-iw=H\u00E9breu
-ja=Japonais
-ji=Yiddish
-jv=Javanais
-ka=G\u00E9orgien
-kg=Kongo
-ki=Kikuyu
-kj=Kwanyama
-kk=Kazakh
-kl=Groenlandais
-km=Khmer
-kn=Kannada
-ko=Cor\u00E9en
-kr=Kanouri
-ks=Kashmiri
-ku=Kurde
-kv=Komi
-kw=Cornique
-ky=Kirghize
-la=Latin
-lb=Luxembourgeois
-lg=Ganda
-li=Limbourgeois
-ln=Lingala
-lo=Laotien
-lt=Lituanien
-lu=Luba-Katanga
-lv=Letton
-mg=Malgache
-mh=Marshallais
-mi=Maori
-mk=Mac\u00E9donien
-ml=Malayalam
-mn=Mongol
-mo=Moldave
-mr=Marathi
-ms=Malais
-mt=Maltais
-my=Birman
-na=Nauruan
-nb=Norv\u00E9gien bokm\u00E5l
-nd=Nd\u00E9b\u00E9l\u00E9 du Nord
-ne=N\u00E9palais
-ng=Ndonga
-nl=N\u00E9erlandais
-nn=Norv\u00E9gien nynorsk
-no=Norv\u00E9gien
-nr=Nd\u00E9b\u00E9l\u00E9 du Sud
-nv=Navajo
-ny=Nyanja
-oc=Occitan
-oj=Ojibwa
-om=Oromo
-or=Oriya
-os=Oss\u00E8te
-pa=Pendjabi
-pi=Pali
-pl=Polonais
-ps=Pachto
-pt=Portugais
-qu=Quechua
-rm=Rh\u00E9toroman
-rn=Rundi
-ro=Roumain
-ru=Russe
-rw=Kinyarwanda
-sa=Sanscrit
-sc=Sarde
-sd=Sindhi
-se=Sami du Nord
-sg=Sango
-si=Singhalais
-sk=Slovaque
-sl=Slov\u00E8ne
-sm=Samoan
-sn=Shona
-so=Somali
-sq=Albanais
-sr=Serbe
-ss=Swati
-st=Sotho du Sud
-su=Soundanais
-sv=Su\u00E9dois
-sw=Swahili
-ta=Tamoul
-te=T\u00E9lougou
-tg=Tadjik
-th=Tha\u00EF
-ti=Tigrigna
-tk=Turkm\u00E8ne
-tl=Tagalog
-tn=Setswana
-to=Tonga
-tr=Turc
-ts=Tsonga
-tt=Tatare
-tw=Twi
-ty=Tahitien
-ug=Ou\u00EFgour
-uk=Ukrainien
-ur=Ourdou
-uz=Ouzbek
-ve=Venda
-vi=Vietnamien
-vo=Volap\u00FCk
-wa=Wallon
-wo=Wolof
-xh=Xhosa
-yi=Yiddish
-yo=Yoruba
-za=Zhuang
-zh=Chinois
-zu=Zoulou
+aa=afar
+ab=abkhaze
+ae=avestan
+af=afrikaans
+ak=akan
+am=amharique
+an=aragonais
+ar=arabe
+as=assamais
+av=avar
+ay=aymara
+az=az\u00e9ri
+ba=bachkir
+be=bi\u00e9lorusse
+bg=bulgare
+bh=bihari
+bi=bichlamar
+bm=bambara
+bn=bengali
+bo=tib\u00e9tain
+br=breton
+bs=bosniaque
+ca=catalan
+ce=tch\u00e9tch\u00e8ne
+ch=chamorro
+co=corse
+cr=cri
+cs=tch\u00e8que
+cu=slavon d'\u00e9glise
+cv=tchouvache
+cy=gallois
+da=danois
+de=allemand
+dv=divehi
+dz=dzongkha
+ee=\u00e9w\u00e9
+el=grec
+en=anglais
+eo=esp\u00e9ranto
+es=espagnol
+et=estonien
+eu=basque
+fa=persan
+ff=peul
+fi=finnois
+fj=fidjien
+fo=f\u00e9ro\u00efen
+fr=fran\u00e7ais
+fy=frison
+ga=irlandais
+gd=ecossais ga\u00e9lique
+gl=galicien
+gn=guarani
+gu=goudjrati
+gv=manx
+ha=haoussa
+he=h\u00e9breu
+hi=hindi
+ho=hiri motu
+hr=croate
+ht=cr\u00e9ole d'Ha\u00efti
+hu=hongrois
+hy=arm\u00e9nien
+hz=herero
+ia=interlingua
+id=indon\u00e9sien
+ie=interlingue
+ig=ibo
+ii=yi de Sichuan
+ik=inupiaq
+in=indon\u00e9sien
+io=ido
+is=islandais
+it=italien
+iu=inuktitut
+iw=h\u00e9breu
+ja=japonais
+ji=yiddish
+jv=javanais
+ka=georgien
+kg=kongo
+ki=kikuyu
+kj=kwanyama
+kk=kazakh
+kl=groenlandais
+km=khmer
+kn=kannada
+ko=cor\u00e9en
+kr=kanouri
+ks=kashmiri
+ku=kurde
+kv=komi
+kw=cornique
+ky=kirghize
+la=latin
+lb=luxembourgeois
+lg=ganda
+li=limbourgeois
+ln=lingala
+lo=lao
+lt=lithuanien
+lu=luba-katanga
+lv=letton
+mg=malgache
+mh=marshall
+mi=maori
+mk=mac\u00e9donien
+ml=malayalam
+mn=mongol
+mo=moldave
+mr=marathe
+ms=malais
+mt=maltais
+my=birman
+na=nauruan
+nb=norv\u00e9gien bokm\u00e5l
+nd=nd\u00e9b\u00e9l\u00e9 du Nord
+ne=n\u00e9palais
+ng=ndonga
+nl=n\u00e9erlandais
+nn=norv\u00e9gien nynorsk
+no=norv\u00e9gien
+nr=nd\u00e9b\u00e9l\u00e9 du Sud
+nv=navaho
+ny=nyanja
+oc=occitan
+oj=ojibwa
+om=galla
+or=oriya
+os=oss\u00e8te
+pa=pendjabi
+pi=pali
+pl=polonais
+ps=pachto
+pt=portugais
+qu=quechua
+rm=rh\u00e9toroman
+rn=rundi
+ro=roumain
+ru=russe
+rw=rwanda
+sa=sanscrit
+sc=sarde
+sd=sindhi
+se=sami du Nord
+sg=sango
+si=singhalais
+sk=slovaque
+sl=slov\u00e8ne
+sm=samoan
+sn=shona
+so=somali
+sq=albanais
+sr=serbe
+ss=swati
+st=sotho du sud
+su=soundanais
+sv=su\u00e9dois
+sw=swahili
+ta=tamoul
+te=telugu
+tg=tadjik
+th=tha\u00ef
+ti=tigrigna
+tk=turkm\u00e8ne
+tl=tagalog
+tn=setswana
+to=tonga
+tr=turc
+ts=tsonga
+tt=tatare
+tw=twi
+ty=tahitien
+ug=ou\u00efgour
+uk=ukrainien
+ur=ourdou
+uz=ouzbek
+ve=venda
+vi=vietnamien
+vo=volap\u00fck
+wa=wallon
+wo=wolof
+xh=xhosa
+yi=yiddish
+yo=yoruba
+za=zhuang
+zh=chinois
+zu=zoulou
 
 # key is ISO 639.2 language code
 aar=Afar
@@ -541,7 +540,7 @@
 nic=Niger-kordofanian
 niu=Niue
 nno=Norv\u00E9gien nynorsk
-nob=Bokm\u00E5l, norv\u00E9gien
+nob=Bokmal, Norv\u00E9gien
 nog=Noga\u00EF
 non=Vieux norrois
 nor=Norv\u00E9gien
@@ -578,7 +577,7 @@
 pon=Pohnpei
 por=Portugais
 pra=Langues pr\u00E2krit
-pro=Ancien proven\u00E7al (jusqu'en 1500)
+pro=Proven\u00E7al ancien
 pus=Pushto ; Pashto
 que=Quechua
 raj=Rajasthani
@@ -687,7 +686,7 @@
 vai=Va\u00EF
 ven=Venda
 vie=Vietnamien
-vol=Volap\u00FCk
+vol=Volapuk
 vot=Vote
 wak=Langues wakashennes
 wal=Wolaitta
@@ -869,131 +868,131 @@
 # key is ISO 3166 country code
 
 AD=Andorre
-AE=Emirats arabes unis
+AE=Emirats Arabes Unis
 AF=Afghanistan
 AG=Antigua et Barbuda
 AI=Anguilla
 AL=Albanie
-AM=Arm\u00E9nie
-AN=Antilles n\u00E9erlandaises
+AM=Arm\u00e9nie
+AN=Antilles N\u00e9erlandaises
 AO=Angola
 AQ=Antarctique
 AR=Argentine
-AS=Samoa am\u00E9ricaines
+AS=Samoa am\u00e9ricaines
 AT=Autriche
 AU=Australie
 AW=Aruba
-AX=Iles \u00C5land
-AZ=Azerba\u00EFdjan
-BA=Bosnie-Herz\u00E9govine
+AX=\u00celes \u00c5land
+AZ=Azerba\u00efdjan
+BA=Bosnie-Herz\u00e9govine
 BB=Barbade
 BD=Bangladesh
 BE=Belgique
 BF=Burkina Faso
 BG=Bulgarie
-BH=Bahre\u00EFn
+BH=Bahre\u00efn
 BI=Burundi
-BJ=B\u00E9nin
+BJ=Benin
 BL=Saint-Barth\u00E9lemy
 BM=Bermudes
 BN=Brunei
 BO=Bolivie
 BQ=Bonaire, Saint-Eustache et Saba
-BR=Br\u00E9sil
+BR=Br\u00e9sil
 BS=Bahamas
 BT=Bhoutan
-BV=Ile Bouvet
+BV=\u00cele Bouvet
 BW=Botswana
-BY=Bi\u00E9lo-Russie
-BZ=B\u00E9lize
+BY=Bi\u00e9lo-Russie
+BZ=B\u00e9lize
 CA=Canada
-CC=Iles Cocos
-CD=R\u00E9publique d\u00E9mocratique du Congo
-CF=R\u00E9publique Centre-Africaine
+CC=\u00celes Cocos
+CD=R\u00e9publique d\u00e9mocratique du Congo
+CF=R\u00e9publique Centre-Africaine
 CG=Congo
 CH=Suisse
-CI=C\u00F4te d'Ivoire
-CK=Iles Cook
+CI=C\u00f4te d'Ivoire
+CK=\u00celes Cook
 CL=Chili
 CM=Cameroun
 CN=Chine
 CO=Colombie
 CR=Costa Rica
-CS=Serbie et Mont\u00E9n\u00E9gro
+CS=Serbie et Mont\u00e9n\u00e9gro
 CU=Cuba
 CV=Cap Vert
 CW=Cura\u00E7ao
-CX=Ile Christmas
+CX=\u00cele Christmas
 CY=Chypre
-CZ=R\u00E9publique Tch\u00E8que
+CZ=R\u00e9publique Tch\u00e8que
 DE=Allemagne
 DJ=Djibouti
 DK=Danemark
 DM=Dominique
-DO=R\u00E9publique Dominicaine
-DZ=Alg\u00E9rie
+DO=R\u00e9publique Dominicaine
+DZ=Alg\u00e9rie
 EC=Equateur
 EE=Estonie
 EG=Egypte
 EH=Sahara Occidental
-ER=Erythr\u00E9e
+ER=Erythr\u00e9e
 ES=Espagne
 ET=Ethiopie
 FI=Finlande
 FJ=Fidji
-FK=Iles Malouines
-FM=R\u00E9gion micron\u00E9sienne
-FO=Iles F\u00E9ro\u00E9
+FK=\u00celes Malouines
+FM=Micron\u00e9sie
+FO=\u00celes F\u00e9ro\u00e9
 FR=France
 GA=Gabon
 GB=Royaume-Uni
 GD=Grenade
-GE=G\u00E9orgie
-GF=Guyane fran\u00E7aise
+GE=G\u00e9orgie
+GF=Guyane fran\u00e7aise
 GG=Guernesey
 GH=Ghana
 GI=Gibraltar
 GL=Groenland
 GM=Gambie
-GN=Guin\u00E9e
+GN=Guin\u00e9e
 GP=Guadeloupe
-GQ=Guin\u00E9e \u00E9quatoriale
-GR=Gr\u00E8ce
-GS=G\u00E9orgie du Sud et \u00EEles Sandwich du Sud
+GQ=Guin\u00e9e Equatoriale
+GR=Gr\u00e8ce
+GS=G\u00e9orgie du Sud et \u00eeles Sandwich du Sud
 GT=Guatemala
 GU=Guam
-GW=Guin\u00E9e-Bissau
+GW=Guin\u00e9e-Bissau
 GY=Guyana
 HK=Hong-Kong
-HM=Iles Heard et \u00EEles McDonald
+HM=\u00cele Heard et \u00eeles McDonald
 HN=Honduras
 HR=Croatie
-HT=Ha\u00EFti
+HT=Ha\u00efti
 HU=Hongrie
-ID=Indon\u00E9sie
+ID=Indon\u00e9sie
 IE=Irlande
-IL=Isra\u00EBl
+IL=Isra\u00ebl
 IM=Ile de Man
 IN=Inde
-IO=Territoires britanniques de l'Oc\u00E9an Indien
+IO=Territoires britanniques de l'Oc\u00e9an Indien
 IQ=Irak
 IR=Iran
 IS=Islande
 IT=Italie
 JE=Jersey
-JM=Jama\u00EFque
+JM=Jama\u00efque
 JO=Jordanie
 JP=Japon
 KE=Kenya
-KG=Kirghizistan
+KG=Kyrgyzstan
 KH=Cambodge
 KI=Kiribati
 KM=Comores
-KN=Saint-Christophe-et-Ni\u00E9v\u00E8s
-KP=Cor\u00E9e du Nord
-KR=Cor\u00E9e du Sud
-KW=Kowe\u00EFt
-KY=Iles Ca\u00EFmans
+KN=Saint-Christophe-et-Ni\u00e9v\u00e8s
+KP=Cor\u00e9e du Nord
+KR=Cor\u00e9e du Sud
+KW=Koweit
+KY=\u00celes Ca\u00efmans
 KZ=Kazakhstan
 LA=Laos
 LB=Liban
@@ -1002,23 +1001,23 @@
 LK=Sri Lanka
 LR=Liberia
 LS=Lesotho
-LT=Lituanie
+LT=Lithuanie
 LU=Luxembourg
 LV=Lettonie
 LY=Libye
 MA=Maroc
 MC=Monaco
 MD=Moldavie
-ME=Mont\u00E9n\u00E9gro
+ME=Mont\u00e9n\u00e9gro
 MF=Saint-Martin
 MG=Madagascar
-MH=Iles Marshall
-MK=Mac\u00E9doine
+MH=\u00celes Marshall
+MK=Mac\u00e9doine
 ML=Mali
 MM=Myanmar
 MN=Mongolie
 MO=Macao
-MP=Iles Mariannes du Nord
+MP=\u00celes Mariannes du Nord
 MQ=Martinique
 MR=Mauritanie
 MS=Montserrat
@@ -1030,22 +1029,22 @@
 MY=Malaisie
 MZ=Mozambique
 NA=Namibie
-NC=Nouvelle-Cal\u00E9donie
+NC=Nouvelle-Cal\u00e9donie
 NE=Niger
-NF=Ile Norfolk
-NG=Nig\u00E9ria
+NF=\u00cele Norfolk
+NG=Nig\u00e9ria
 NI=Nicaragua
 NL=Pays-Bas
-NO=Norv\u00E8ge
-NP=N\u00E9pal
+NO=Norv\u00e8ge
+NP=N\u00e9pal
 NR=Nauru
 NU=Niue
-NZ=Nouvelle-Z\u00E9lande
+NZ=Nouvelle-Z\u00e9lande
 OM=Oman
 PA=Panama
-PE=P\u00E9rou
-PF=Polyn\u00E9sie Fran\u00E7aise
-PG=Papouasie-Nouvelle-Guin\u00E9e
+PE=P\u00e9rou
+PF=Polyn\u00e9sie Fran\u00e7aise
+PG=Papouasie-Nouvelle-Guin\u00e9e
 PH=Philippines
 PK=Pakistan
 PL=Pologne
@@ -1057,63 +1056,63 @@
 PW=Belau
 PY=Paraguay
 QA=Qatar
-RE=R\u00E9union
+RE=La R\u00e9union
 RO=Roumanie
 RS=Serbie
 RU=Russie
 RW=Rwanda
-SA=Arabie saoudite
-SB=Iles Salomon
+SA=Arabie Saoudite
+SB=\u00celes Salomon
 SC=Seychelles
 SD=Soudan
-SE=Su\u00E8de
+SE=Su\u00e8de
 SG=Singapour
-SH=Sainte-H\u00E9l\u00E8ne
-SI=Slov\u00E9nie
+SH=Sainte-H\u00e9l\u00e8ne
+SI=Slov\u00e9nie
 SJ=Svalbard et Jan Mayen
 SK=Slovaquie
 SL=Sierra Leone
 SM=Saint-Marin
-SN=S\u00E9n\u00E9gal
+SN=S\u00e9n\u00e9gal
 SO=Somalie
 SR=Suriname
-ST=Sao Tom\u00E9 et Principe
+ST=Sao Tom\u00e9 et Principe
 SV=El Salvador
 SX=Saint-Martin (partie n\u00E9erlandaise)
 SY=Syrie
 SZ=Swaziland
-TC=Iles Turks et Caicos
+TC=\u00celes Turks et Caicos
 TD=Tchad
-TF=Terres australes fran\u00E7aises
+TF=Territoires Fran\u00e7ais du Sud
 TG=Togo
-TH=Tha\u00EFlande
+TH=Tha\u00eflande
 TJ=Tadjikistan
 TK=Tokelau
 TL=Timor-Leste
-TM=Turkm\u00E9nistan
+TM=Turkm\u00e9nistan
 TN=Tunisie
 TO=Tonga
 TR=Turquie
-TT=Trinit\u00E9-et-Tobago
+TT=Trinit\u00e9-et-Tobago
 TV=Tuvalu
-TW=Ta\u00EFwan
+TW=Taiwan
 TZ=Tanzanie
 UA=Ukraine
 UG=Ouganda
-UM=D\u00E9pendances am\u00E9ricaines du Pacifique
+UM=D\u00e9pendances am\u00e9ricaines du Pacifique
 US=Etats-Unis
 UY=Uruguay
-UZ=Ouzb\u00E9kistan
+UZ=Ouzb\u00e9kistan
 VA=Vatican
 VC=Saint-Vincent-et-les Grenadines
-VE=Venezuela
-VG=Iles Vierges britanniques
-VI=Iles Vierges am\u00E9ricaines
-VN=Vi\u00EAt Nam
+VE=V\u00e9n\u00e9zuela
+VG=Iles Vierges Britanniques
+VI=Iles Vierges Am\u00e9ricaines
+VN=Vietnam
 VU=Vanuatu
 WF=Wallis-et-Futuna
 WS=Samoa
-YE=Y\u00E9men
+YE=Y\u00e9men
 YT=Mayotte
 ZA=Afrique du Sud
 ZM=Zambie
@@ -1152,19 +1151,3 @@
 154=Europe septentrionale
 155=Europe occidentale
 419=Am\u00E9rique latine et Cara\u00EFbes
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Nynorsk
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_it.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_it.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=Afar
-ab=Abkhaso
-ae=Avestano
-af=Afrikaans
-ak=Akan
-am=Amarico
-an=Aragonese
-ar=Arabo
-as=Assamese
-av=Avaro
-ay=Aymara
-az=Azero
-ba=Baschiro
-be=Bielorusso
-bg=Bulgaro
-bh=Bihari
-bi=Bislama
-bm=Bambara
-bn=Bengalese
-bo=Tibetano
-br=Bretone
-bs=Bosniaco
-ca=Catalano
-ce=Ceceno
-ch=Chamorro
-co=Corso
-cr=Cree
-cs=Ceco
-cu=Slavo ecclesiastico
-cv=Chuvash
-cy=Gallese
-da=Danese
-de=Tedesco
-dv=Divehi
-dz=Dzongkha
-ee=Ewe
-el=Greco
-en=Inglese
-eo=Esperanto
-es=Spagnolo
-et=Estone
-eu=Basco
-fa=Persiano
-ff=Fulah
-fi=Finlandese
-fj=Figiano
-fo=Faroese
-fr=Francese
-fy=Frisone
-ga=Irlandese
-gd=Gaelico scozzese
-gl=Galiziano
-gn=Guaran\u00EC
-gu=Gujarati
-gv=Manx
-ha=Hausa
-he=Ebraico
-hi=Hindi
-ho=Hiri Motu
-hr=Croato
-ht=Haitiano
-hu=Ungherese
-hy=Armeno
-hz=Herero
-ia=Interlingua
-id=Indonesiano
-ie=Interlingue
-ig=Igbo
-ii=Sichuan Yi
-ik=Inupiaq
-in=Indonesiano
-io=Ido
-is=Islandese
-it=Italiano
-iu=Inuktitut
-iw=Ebraico
-ja=Giapponese
-ji=Yiddish
-jv=Giavanese
-ka=Georgiano
-kg=Kongo
-ki=Kikuyu
-kj=Kwanyama
-kk=Kazako
-kl=Groenlandese
-km=Khmer
-kn=Kannada
-ko=Coreano
-kr=Kanuri
-ks=Kashmiri
-ku=Curdo
-kv=Komi
-kw=Cornico
-ky=Kirghiso
-la=Latino
-lb=Lussemburghese
-lg=Ganda
-li=Limburghese
-ln=Lingala
-lo=Lao
-lt=Lituano
-lu=Luba-Katanga
-lv=Lettone
-mg=Malgascio
-mh=Marshallese
-mi=Maori
-mk=Macedone
-ml=Malayalam
-mn=Mongolo
-mo=Moldavo
-mr=Marathi
-ms=Malese
-mt=Maltese
-my=Birmano
-na=Nauruano
-nb=Norvegese, Bokm\u00E5l
-nd=Ndebele del nord
-ne=Nepalese
-ng=Ndonga
-nl=Olandese
-nn=Norvegese nynorsk
-no=Norvegese
-nr=Ndebele del sud
-nv=Navajo
-ny=Nyanja
-oc=Occitano
-oj=Ojibwa
-om=Oromo
-or=Oriya
-os=Ossetico
-pa=Punjabi
-pi=Pali
-pl=Polacco
-ps=Pashto
-pt=Portoghese
-qu=Quechua
-rm=Retoromanzo
-rn=Kirundi
-ro=Romeno
-ru=Russo
-rw=Kinyarwanda
-sa=Sanscrito
-sc=Sardo
-sd=Sindhi
-se=Sami del nord
-sg=Sango
-si=Singalese
-sk=Slovacco
-sl=Sloveno
-sm=Samoano
-sn=Shona
-so=Somalo
-sq=Albanese
-sr=Serbo
-ss=Swati
-st=Sotho del sud
-su=Sundanese
-sv=Svedese
-sw=Swahili
-ta=Tamil
-te=Telugu
-tg=Tagiko
-th=Tailandese
-ti=Tigrinya
-tk=Turkmeno
-tl=Tagalog
-tn=Tswana
-to=Tongano
-tr=Turco
-ts=Tsonga
-tt=Tataro
-tw=Twi
-ty=Taitiano
-ug=Uiguro
-uk=Ucraino
-ur=Urdu
-uz=Uzbeko
-ve=Venda
-vi=Vietnamita
-vo=Volapuk
-wa=Vallone
-wo=Wolof
-xh=Xhosa
-yi=Yiddish
-yo=Yoruba
-za=Zhuang
-zh=Cinese
-zu=Zulu
+aa=afar
+ab=abhaso
+ae=avestano
+af=afrikaans
+ak=akan
+am=amarico
+an=aragonese
+ar=arabo
+as=assamese
+av=avarico
+ay=aymar\u00e1
+az=azero
+ba=baschiro
+be=bielorusso
+bg=bulgaro
+bh=bihari
+bi=bislama
+bm=bambara
+bn=bengalese
+bo=tibetano
+br=bretone
+bs=bosniaco
+ca=catalano
+ce=ceceno
+ch=chamorro
+co=corso
+cr=cree
+cs=ceco
+cu=slavo ecclesiastico
+cv=chuvash
+cy=gallese
+da=danese
+de=tedesco
+dv=divehi
+dz=dzongkha
+ee=ewe
+el=greco
+en=inglese
+eo=esperanto
+es=spagnolo
+et=estone
+eu=basco
+fa=persiano
+ff=fulah
+fi=finlandese
+fj=figiano
+fo=faeroese
+fr=francese
+fy=frisone
+ga=irlandese
+gd=gaelico scozzese
+gl=galiziano
+gn=guaran\u00ec
+gu=gujarati
+gv=manx
+ha=haussa
+he=ebraico
+hi=hindi
+ho=hiri motu
+hr=croato
+ht=haitiano
+hu=ungherese
+hy=armeno
+hz=herero
+ia=interlingua
+id=indonesiano
+ie=interlingue
+ig=igbo
+ii=sichuan yi
+ik=inupiak
+in=indonesiano
+io=ido
+is=islandese
+it=italiano
+iu=inuktitut
+iw=ebraico
+ja=giapponese
+ji=yiddish
+jv=giavanese
+ka=georgiano
+kg=kongo
+ki=kikuyu
+kj=kwanyama
+kk=kazako
+kl=groenlandese
+km=cambogiano (khmer)
+kn=kannada
+ko=coreano
+kr=kanuri
+ks=kashmiri
+ku=curdo
+kv=komi
+kw=cornico
+ky=kirghiso
+la=latino
+lb=lussemburghese
+lg=ganda
+li=limburghese
+ln=lingala
+lo=lao
+lt=lituano
+lu=luba-katanga
+lv=lettone
+mg=malgascio
+mh=marshallese
+mi=maori
+mk=macedone
+ml=malayalam
+mn=mongolo
+mo=moldavo
+mr=marathi
+ms=malese
+mt=maltese
+my=birmano
+na=nauruano
+nb=norvegese bokm\u00e5l
+nd=ndebele settentrionale
+ne=nepalese
+ng=ndonga
+nl=neerlandese
+nn=norvegese nynorsk
+no=norvegese
+nr=ndebele meridionale
+nv=navajo
+ny=nyanja
+oc=occitano
+oj=ojibwa
+om=oromo (afan)
+or=oriya
+os=ossetiano
+pa=punjabi
+pi=pali
+pl=polacco
+ps=pashto
+pt=portoghese
+qu=quechua
+rm=retoromanzo
+rn=kirundi
+ro=rumeno
+ru=russo
+rw=kinyarwanda
+sa=sanscrito
+sc=sardo
+sd=sindhi
+se=sami settentrionale
+sg=sangho
+si=singalese
+sk=slovacco
+sl=sloveno
+sm=samoano
+sn=shona
+so=somalo
+sq=albanese
+sr=serbo
+ss=siswati
+st=sesotho
+su=sudanese
+sv=svedese
+sw=swahili
+ta=tamil
+te=telugu
+tg=tagiko
+th=thai
+ti=tigrinya
+tk=turkmeno
+tl=tagalog
+tn=setswana
+to=tongano
+tr=turco
+ts=tsonga
+tt=tataro
+tw=twi
+ty=tahitiano
+ug=uiguro
+uk=ucraino
+ur=urdu
+uz=uzbeko
+ve=venda
+vi=vietnamita
+vo=volapuk
+wa=vallone
+wo=wolof
+xh=xhosa
+yi=yiddish
+yo=yoruba
+za=zhuang
+zh=cinese
+zu=zulu
 
 # key is ISO 639.2 language code
 aar=Afar
@@ -541,7 +540,7 @@
 nic=Lingua niger-cordofan
 niu=Niue
 nno=Norvegese nynorsk
-nob=Bokm\u00E5l, Norvegese
+nob=Norvegese bokm\u00E5l
 nog=Nogai
 non=Norse antico
 nor=Norvegese
@@ -578,7 +577,7 @@
 pon=Pohnpeiano
 por=Portoghese
 pra=Pracrito
-pro=Provenzale, antico (fino al 1500)
+pro=Provenzale antico (fino al 1500)
 pus=Pushto; Pashto
 que=Quechua
 raj=Rajasthani
@@ -807,7 +806,7 @@
 Narb=Arabo antico del nord
 Nbat=Lingua nabatea
 Nkgb=Nakhi Geba
-Nkoo=N\u2019Ko
+Nkoo=N'Ko
 Ogam=Ogamico
 Olck=Ol Chiki
 Orkh=Orkhon
@@ -879,11 +878,11 @@
 AO=Angola
 AQ=Antartide
 AR=Argentina
-AS=Samoa Americane
+AS=Samoa americane
 AT=Austria
 AU=Australia
 AW=Aruba
-AX=Isole \u00C5land
+AX=Isole Aland
 AZ=Azerbaigian
 BA=Bosnia-Erzegovina
 BB=Barbados
@@ -891,7 +890,7 @@
 BE=Belgio
 BF=Burkina Faso
 BG=Bulgaria
-BH=Bahrein
+BH=Bahrain
 BI=Burundi
 BJ=Benin
 BL=Saint Barth\u00E9lemy
@@ -902,7 +901,7 @@
 BR=Brasile
 BS=Bahamas
 BT=Bhutan
-BV=Isola Bouvet
+BV=Isola di Bouvet
 BW=Botswana
 BY=Bielorussia
 BZ=Belize
@@ -923,7 +922,7 @@
 CU=Cuba
 CV=Capo Verde
 CW=Cura\u00E7ao
-CX=Isola Christmas
+CX=Isola di Natale
 CY=Cipro
 CZ=Repubblica Ceca
 DE=Germania
@@ -943,13 +942,13 @@
 FJ=Figi
 FK=Isole Falkland
 FM=Micronesia
-FO=Isole Faroe
+FO=Isole F\u00e6roer
 FR=Francia
 GA=Gabon
 GB=Regno Unito
 GD=Grenada
 GE=Georgia
-GF=Guyana francese
+GF=Guayana Francese
 GG=Guernsey
 GH=Ghana
 GI=Gibilterra
@@ -962,7 +961,7 @@
 GS=Georgia del sud e isole Sandwich meridionali
 GT=Guatemala
 GU=Guam
-GW=Guinea-Bissau
+GW=Guinea Bissau
 GY=Guyana
 HK=Hong Kong
 HM=Isole Heard e McDonald
@@ -994,10 +993,10 @@
 KR=Corea del Sud
 KW=Kuwait
 KY=Isole Cayman
-KZ=Kazakistan
+KZ=Kazakhstan
 LA=Laos
 LB=Libano
-LC=Saint Lucia
+LC=Sainte Lucia
 LI=Liechtenstein
 LK=Sri Lanka
 LR=Liberia
@@ -1023,7 +1022,7 @@
 MR=Mauritania
 MS=Montserrat
 MT=Malta
-MU=Mauritius
+MU=Maurizio
 MV=Maldive
 MW=Malawi
 MX=Messico
@@ -1043,7 +1042,7 @@
 NZ=Nuova Zelanda
 OM=Oman
 PA=Panama
-PE=Per\u00F9
+PE=Per\u00f9
 PF=Polinesia Francese
 PG=Papua Nuova Guinea
 PH=Filippine
@@ -1051,7 +1050,7 @@
 PL=Polonia
 PM=Saint Pierre e Miquelon
 PN=Pitcairn
-PR=Portorico
+PR=Puerto Rico
 PS=Palestina
 PT=Portogallo
 PW=Palau
@@ -1063,7 +1062,7 @@
 RU=Russia
 RW=Ruanda
 SA=Arabia Saudita
-SB=Isole Salomone
+SB=Isole Solomon
 SC=Seychelles
 SD=Sudan
 SE=Svezia
@@ -1077,19 +1076,19 @@
 SN=Senegal
 SO=Somalia
 SR=Suriname
-ST=S\u00E3o Tom\u00E9 e Pr\u00EDncipe
+ST=S\u00e3o Tom\u00e9 e Principe
 SV=El Salvador
 SX=Sint Maarten (parte olandese)
 SY=Siria
 SZ=Swaziland
 TC=Isole Turks e Caicos
 TD=Ciad
-TF=Territori australi francesi
+TF=Territori Francesi d'Oltremare
 TG=Togo
 TH=Thailandia
 TJ=Tagikistan
 TK=Tokelau
-TL=Timor Est
+TL=Timor Leste
 TM=Turkmenistan
 TN=Tunisia
 TO=Tonga
@@ -1100,11 +1099,11 @@
 TZ=Tanzania
 UA=Ucraina
 UG=Uganda
-UM=Isole minori lontane dagli Stati Uniti
+UM=Isole minori lontane degli Stati Uniti
 US=Stati Uniti
 UY=Uruguay
 UZ=Uzbekistan
-VA=Citt\u00E0 del Vaticano
+VA=Citt\u00e0 del Vaticano
 VC=Saint Vincent e Grenadine
 VE=Venezuela
 VG=Isole Vergini (GB)
@@ -1114,7 +1113,7 @@
 WF=Wallis e Futuna
 WS=Samoa
 YE=Yemen
-YT=Mayotte
+YT=Mayotta
 ZA=Sudafrica
 ZM=Zambia
 ZW=Zimbabwe
@@ -1152,19 +1151,3 @@
 154=Europa settentrionale
 155=Europa occidentale
 419=America Latina e Caraibi
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Nynorsk
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_ja.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_ja.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=\u30A2\u30D5\u30A1\u30FC\u30EB\u8A9E
-ab=\u30A2\u30D6\u30CF\u30BA\u8A9E
-ae=\u30A2\u30F4\u30A7\u30B9\u30BF\u8A9E
-af=\u30A2\u30D5\u30EA\u30AB\u30FC\u30F3\u30B9\u8A9E
-ak=\u30A2\u30AB\u30F3\u8A9E
-am=\u30A2\u30E0\u30CF\u30E9\u8A9E
-an=\u30A2\u30E9\u30B4\u30F3\u8A9E
-ar=\u30A2\u30E9\u30D3\u30A2\u8A9E
-as=\u30A2\u30C3\u30B5\u30E0\u8A9E
-av=\u30A2\u30F4\u30A1\u30EB\u8A9E
-ay=\u30A2\u30A4\u30DE\u30E9\u8A9E
-az=\u30A2\u30BC\u30EB\u30D0\u30A4\u30B8\u30E3\u30F3\u8A9E
-ba=\u30D0\u30B7\u30AD\u30FC\u30EB\u8A9E
-be=\u767D\u30ED\u30B7\u30A2\u8A9E
-bg=\u30D6\u30EB\u30AC\u30EA\u30A2\u8A9E
-bh=\u30D3\u30CF\u30FC\u30EB\u8A9E
-bi=\u30D3\u30B9\u30E9\u30DE\u8A9E
-bm=\u30D0\u30F3\u30D0\u30E9\u8A9E
-bn=\u30D9\u30F3\u30AC\u30EB\u8A9E
-bo=\u30C1\u30D9\u30C3\u30C8\u8A9E
-br=\u30D6\u30EB\u30C8\u30F3\u8A9E
-bs=\u30DC\u30B9\u30CB\u30A2\u8A9E
-ca=\u30AB\u30BF\u30ED\u30CB\u30A2\u8A9E
-ce=\u30C1\u30A7\u30C1\u30A7\u30F3\u8A9E
-ch=\u30C1\u30E3\u30E2\u30ED\u8A9E
-co=\u30B3\u30EB\u30B7\u30AB\u8A9E
-cr=\u30AF\u30EA\u30FC\u8A9E
-cs=\u30C1\u30A7\u30B3\u8A9E
-cu=\u6559\u4F1A\u30B9\u30E9\u30D6\u8A9E
-cv=\u30C1\u30E5\u30F4\u30A1\u30B7\u30E5\u8A9E
-cy=\u30A6\u30A7\u30FC\u30EB\u30BA\u8A9E
-da=\u30C7\u30F3\u30DE\u30FC\u30AF\u8A9E
-de=\u30C9\u30A4\u30C4\u8A9E
-dv=\u30C7\u30A3\u30D9\u30D2\u8A9E
-dz=\u30D6\u30FC\u30BF\u30F3\u8A9E
-ee=\u30A8\u30A6\u30A7\u8A9E
-el=\u30AE\u30EA\u30B7\u30A2\u8A9E
-en=\u82F1\u8A9E
-eo=\u30A8\u30B9\u30DA\u30E9\u30F3\u30C8\u8A9E
-es=\u30B9\u30DA\u30A4\u30F3\u8A9E
-et=\u30A8\u30B9\u30C8\u30CB\u30A2\u8A9E
-eu=\u30D0\u30B9\u30AF\u8A9E
-fa=\u30DA\u30EB\u30B7\u30A2\u8A9E
-ff=\u30D5\u30E9\u8A9E
-fi=\u30D5\u30A3\u30F3\u30E9\u30F3\u30C9\u8A9E
-fj=\u30D5\u30A3\u30B8\u30FC\u8A9E
-fo=\u30D5\u30A7\u30ED\u30FC\u8A9E
-fr=\u30D5\u30E9\u30F3\u30B9\u8A9E
-fy=\u30D5\u30EA\u30B8\u30A2\u8A9E
-ga=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9\u8A9E
-gd=\u30B9\u30B3\u30C3\u30C8\u30E9\u30F3\u30C9\u30FB\u30B2\u30FC\u30EB\u8A9E
-gl=\u30AC\u30EA\u30B7\u30A2\u8A9E
-gn=\u30B0\u30A2\u30E9\u30CB\u8A9E
-gu=\u30B0\u30B8\u30E3\u30E9\u30FC\u30C8\u8A9E
-gv=\u30DE\u30F3\u5CF6\u8A9E
-ha=\u30CF\u30A6\u30B5\u8A9E
-he=\u30D8\u30D6\u30E9\u30A4\u8A9E
-hi=\u30D2\u30F3\u30C7\u30A3\u30FC\u8A9E
-ho=\u30D2\u30EA\u30FB\u30E2\u30C4\u8A9E
-hr=\u30AF\u30ED\u30A2\u30C1\u30A2\u8A9E
-ht=\u30CF\u30A4\u30C1\u8A9E
-hu=\u30CF\u30F3\u30AC\u30EA\u30FC\u8A9E
-hy=\u30A2\u30EB\u30E1\u30CB\u30A2\u8A9E
-hz=\u30D8\u30EC\u30ED\u8A9E
-ia=\u56FD\u969B\u8A9E
-id=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u8A9E
-ie=\u56FD\u969B\u8A9E
-ig=\u30A4\u30DC\u8A9E
-ii=\u56DB\u5DDD\u8A9E
-ik=\u30A4\u30CC\u30D4\u30A2\u30C3\u30AF\u8A9E
-in=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u8A9E
-io=\u30A4\u30C9\u8A9E
-is=\u30A2\u30A4\u30B9\u30E9\u30F3\u30C9\u8A9E
-it=\u30A4\u30BF\u30EA\u30A2\u8A9E
-iu=\u30A4\u30CC\u30AF\u30A6\u30C6\u30A3\u30C8\u30C3\u30C8\u8A9E
-iw=\u30D8\u30D6\u30E9\u30A4\u8A9E
-ja=\u65E5\u672C\u8A9E
-ji=\u30A4\u30C7\u30A3\u30C3\u30B7\u30E5\u8A9E
-jv=\u30B8\u30E3\u30EF\u8A9E
-ka=\u30B0\u30EB\u30B8\u30A2\u8A9E
-kg=\u30B3\u30F3\u30B4\u8A9E
-ki=\u30AD\u30AF\u30E6\u8A9E
-kj=\u30AF\u30A5\u30CB\u30E3\u30DE\u8A9E
-kk=\u30AB\u30B6\u30D5\u8A9E
-kl=\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9\u8A9E
-km=\u30AB\u30F3\u30DC\u30B8\u30A2\u8A9E
-kn=\u30AB\u30F3\u30CA\u30C0\u8A9E
-ko=\u97D3\u56FD\u8A9E
-kr=\u30AB\u30CC\u30EA\u8A9E
-ks=\u30AB\u30B7\u30DF\u30FC\u30EB\u8A9E
-ku=\u30AF\u30EB\u30C9\u8A9E
-kv=\u30B3\u30DF\u8A9E
-kw=\u30B3\u30FC\u30F3\u30A6\u30A9\u30FC\u30EB\u8A9E
-ky=\u30AD\u30EB\u30AE\u30B9\u8A9E
-la=\u30E9\u30C6\u30F3\u8A9E
-lb=\u30EB\u30AF\u30BB\u30F3\u30D6\u30EB\u30AF\u8A9E
-lg=\u30AC\u30F3\u30C0\u8A9E
-li=\u30EA\u30F3\u30D6\u30EB\u30B0\u8A9E
-ln=\u30EA\u30F3\u30AC\u30E9\u8A9E
-lo=\u30E9\u30AA\u8A9E
-lt=\u30EA\u30C8\u30A2\u30CB\u30A2\u8A9E
-lu=\u30EB\u30D0\u8A9E
-lv=\u30E9\u30C8\u30D3\u30A2\u8A9E (\u30EC\u30C3\u30C8\u8A9E)
-mg=\u30DE\u30E9\u30AC\u30B7\u30FC\u8A9E
-mh=\u30DE\u30FC\u30B7\u30E3\u30EB\u8A9E
-mi=\u30DE\u30AA\u30EA\u8A9E
-mk=\u30DE\u30B1\u30C9\u30CB\u30A2\u8A9E
-ml=\u30DE\u30E9\u30E4\u30FC\u30E9\u30E0\u8A9E
-mn=\u30E2\u30F3\u30B4\u30EB\u8A9E
-mo=\u30E2\u30EB\u30C0\u30D3\u30A2\u8A9E
-mr=\u30DE\u30E9\u30FC\u30C6\u30A3\u30FC\u8A9E
-ms=\u30DE\u30E9\u30A4\u8A9E
-mt=\u30DE\u30EB\u30BF\u8A9E
-my=\u30D3\u30EB\u30DE\u8A9E
-na=\u30CA\u30A6\u30EB\u8A9E
-nb=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30D6\u30FC\u30AF\u30E2\u30FC\u30EB)
-nd=\u5317\u30F3\u30C7\u30D9\u30EC\u8A9E
-ne=\u30CD\u30D1\u30FC\u30EB\u8A9E
-ng=\u30F3\u30C9\u30F3\u30AC\u8A9E
-nl=\u30AA\u30E9\u30F3\u30C0\u8A9E
-nn=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30CB\u30E5\u30FC\u30CE\u30EB\u30B9\u30AF)
-no=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E
-nr=\u5357\u30F3\u30C7\u30D9\u30EC\u8A9E
-nv=\u30CA\u30D0\u30DB\u8A9E
-ny=\u30CB\u30E3\u30F3\u30B8\u30E3\u8A9E
-oc=\u30D7\u30ED\u30D0\u30F3\u30B9\u8A9E
-oj=\u30AA\u30B8\u30D6\u30EF\u8A9E
-om=\u30AC\u30E9\u8A9E
-or=\u30AA\u30EA\u30E4\u30FC\u8A9E
-os=\u30AA\u30BB\u30C1\u30A2\u8A9E
-pa=\u30D1\u30F3\u30B8\u30E3\u30D6\u8A9E
-pi=\u30D1\u30FC\u30EA\u8A9E
-pl=\u30DD\u30FC\u30E9\u30F3\u30C9\u8A9E
-ps=\u30D1\u30B7\u30E5\u30C8\u30FC\u8A9E
-pt=\u30DD\u30EB\u30C8\u30AC\u30EB\u8A9E
-qu=\u30B1\u30C1\u30E5\u30A2\u8A9E
-rm=\u30EC\u30C8=\u30ED\u30DE\u30F3\u8A9E
-rn=\u30EB\u30F3\u30B8\u8A9E
-ro=\u30EB\u30FC\u30DE\u30CB\u30A2\u8A9E
-ru=\u30ED\u30B7\u30A2\u8A9E
-rw=\u30EB\u30EF\u30F3\u30C0\u8A9E
-sa=\u30B5\u30F3\u30B9\u30AF\u30EA\u30C3\u30C8\u8A9E
-sc=\u30B5\u30EB\u30C7\u30A3\u30CB\u30A2\u8A9E
-sd=\u30B7\u30F3\u30C9\u8A9E
-se=\u5317\u30B5\u30DF\u8A9E
-sg=\u30B5\u30F3\u30B4\u8A9E
-si=\u30B7\u30F3\u30CF\u30E9\u8A9E
-sk=\u30B9\u30ED\u30D0\u30AD\u30A2\u8A9E
-sl=\u30B9\u30ED\u30D9\u30CB\u30A2\u8A9E
-sm=\u30B5\u30E2\u30A2\u8A9E
-sn=\u30B7\u30E7\u30CA\u8A9E
-so=\u30BD\u30DE\u30EA\u8A9E
-sq=\u30A2\u30EB\u30D0\u30CB\u30A2\u8A9E
-sr=\u30BB\u30EB\u30D3\u30A2\u8A9E
-ss=\u30B7\u30B9\u30EF\u30C6\u30A3\u8A9E
-st=\u30BB\u30BD\u30C8\u8A9E
-su=\u30B9\u30F3\u30C0\u8A9E
-sv=\u30B9\u30A6\u30A7\u30FC\u30C7\u30F3\u8A9E
-sw=\u30B9\u30EF\u30D2\u30EA\u8A9E
-ta=\u30BF\u30DF\u30FC\u30EB\u8A9E
-te=\u30C6\u30EB\u30B0\u8A9E
-tg=\u30BF\u30B8\u30AF\u8A9E
-th=\u30BF\u30A4\u8A9E
-ti=\u30C6\u30A3\u30B0\u30EA\u30CB\u30A2\u8A9E
-tk=\u30C8\u30EB\u30AF\u30E1\u30F3\u8A9E
-tl=\u30BF\u30AC\u30ED\u30B0\u8A9E
-tn=\u30C4\u30EF\u30CA\u8A9E
-to=\u30C8\u30F3\u30AC\u8A9E
-tr=\u30C8\u30EB\u30B3\u8A9E
-ts=\u30C4\u30A9\u30F3\u30AC\u8A9E
-tt=\u30BF\u30BF\u30FC\u30EB\u8A9E
-tw=\u30C8\u30A5\u30A4\u8A9E
-ty=\u30BF\u30D2\u30C1\u8A9E
-ug=\u30A6\u30A4\u30B0\u30EB\u8A9E
-uk=\u30A6\u30AF\u30E9\u30A4\u30CA\u8A9E
-ur=\u30A6\u30EB\u30C9\u30A5\u30FC\u8A9E
-uz=\u30A6\u30BA\u30D9\u30AF\u8A9E
-ve=\u30D9\u30F3\u30C0\u8A9E
-vi=\u30D9\u30C8\u30CA\u30E0\u8A9E
-vo=\u30F4\u30A9\u30E9\u30D4\u30E5\u30FC\u30AF\u8A9E
-wa=\u30EF\u30ED\u30F3\u8A9E
-wo=\u30A6\u30A9\u30ED\u30D5\u8A9E
-xh=\u30B3\u30B5\u8A9E
-yi=\u30A4\u30C7\u30A3\u30C3\u30B7\u30E5\u8A9E
-yo=\u30E8\u30EB\u30D0\u8A9E
-za=\u30C1\u30EF\u30F3\u8A9E
-zh=\u4E2D\u56FD\u8A9E
-zu=\u30BA\u30FC\u30EB\u30FC\u8A9E
+aa=\u30a2\u30d5\u30a1\u30fc\u30eb\u8a9e
+ab=\u30a2\u30d6\u30cf\u30ba\u8a9e
+ae=\u30a2\u30f4\u30a7\u30b9\u30bf\u8a9e
+af=\u30a2\u30d5\u30ea\u30ab\u30fc\u30f3\u30b9\u8a9e
+ak=\u30a2\u30ab\u30f3\u8a9e
+am=\u30a2\u30e0\u30cf\u30e9\u8a9e
+an=\u30a2\u30e9\u30b4\u30f3\u8a9e
+ar=\u30a2\u30e9\u30d3\u30a2\u8a9e
+as=\u30a2\u30c3\u30b5\u30e0\u8a9e
+av=\u30a2\u30f4\u30a1\u30eb\u8a9e
+ay=\u30a2\u30a4\u30de\u30e9\u8a9e
+az=\u30a2\u30bc\u30eb\u30d0\u30a4\u30b8\u30e3\u30f3\u8a9e
+ba=\u30d0\u30b7\u30ad\u30fc\u30eb\u8a9e
+be=\u767d\u30ed\u30b7\u30a2\u8a9e
+bg=\u30d6\u30eb\u30ac\u30ea\u30a2\u8a9e
+bh=\u30d3\u30cf\u30fc\u30eb\u8a9e
+bi=\u30d3\u30b9\u30e9\u30de\u8a9e
+bm=\u30d0\u30f3\u30d0\u30e9\u8a9e
+bn=\u30d9\u30f3\u30ac\u30eb\u8a9e
+bo=\u30c1\u30d9\u30c3\u30c8\u8a9e
+br=\u30d6\u30eb\u30c8\u30f3\u8a9e
+bs=\u30dc\u30b9\u30cb\u30a2\u8a9e
+ca=\u30ab\u30bf\u30ed\u30cb\u30a2\u8a9e
+ce=\u30c1\u30a7\u30c1\u30a7\u30f3\u8a9e
+ch=\u30c1\u30e3\u30e2\u30ed\u8a9e
+co=\u30b3\u30eb\u30b7\u30ab\u8a9e
+cr=\u30af\u30ea\u30fc\u8a9e
+cs=\u30c1\u30a7\u30b3\u8a9e
+cu=\u6559\u4f1a\u30b9\u30e9\u30d6\u8a9e
+cv=\u30c1\u30e5\u30f4\u30a1\u30b7\u30e5\u8a9e
+cy=\u30a6\u30a7\u30fc\u30eb\u30ba\u8a9e
+da=\u30c7\u30f3\u30de\u30fc\u30af\u8a9e
+de=\u30c9\u30a4\u30c4\u8a9e
+dv=\u30c7\u30a3\u30d9\u30d2\u8a9e
+dz=\u30d6\u30fc\u30bf\u30f3\u8a9e
+ee=\u30a8\u30a6\u30a7\u8a9e
+el=\u30ae\u30ea\u30b7\u30a2\u8a9e
+en=\u82f1\u8a9e
+eo=\u30a8\u30b9\u30da\u30e9\u30f3\u30c8\u8a9e
+es=\u30b9\u30da\u30a4\u30f3\u8a9e
+et=\u30a8\u30b9\u30c8\u30cb\u30a2\u8a9e
+eu=\u30d0\u30b9\u30af\u8a9e
+fa=\u30da\u30eb\u30b7\u30a2\u8a9e
+ff=\u30d5\u30e9\u8a9e
+fi=\u30d5\u30a3\u30f3\u30e9\u30f3\u30c9\u8a9e
+fj=\u30d5\u30a3\u30b8\u30fc\u8a9e
+fo=\u30d5\u30a7\u30ed\u30fc\u8a9e
+fr=\u30d5\u30e9\u30f3\u30b9\u8a9e
+fy=\u30d5\u30ea\u30b8\u30a2\u8a9e
+ga=\u30a2\u30a4\u30eb\u30e9\u30f3\u30c9\u8a9e
+gd=\u30b9\u30b3\u30c3\u30c8\u30e9\u30f3\u30c9\u30fb\u30b2\u30fc\u30eb\u8a9e
+gl=\u30ac\u30ea\u30b7\u30a2\u8a9e
+gn=\u30b0\u30ef\u30e9\u30cb\u8a9e
+gu=\u30b0\u30b8\u30e3\u30e9\u30fc\u30c8\u8a9e
+gv=\u30de\u30f3\u5cf6\u8a9e
+ha=\u30cf\u30a6\u30b5\u8a9e
+he=\u30d8\u30d6\u30e9\u30a4\u8a9e
+hi=\u30d2\u30f3\u30c7\u30a3\u30fc\u8a9e
+ho=\u30d2\u30ea\u30fb\u30e2\u30c4\u8a9e
+hr=\u30af\u30ed\u30a2\u30c1\u30a2\u8a9e
+ht=\u30cf\u30a4\u30c1\u8a9e
+hu=\u30cf\u30f3\u30ac\u30ea\u30fc\u8a9e
+hy=\u30a2\u30eb\u30e1\u30cb\u30a2\u8a9e
+hz=\u30d8\u30ec\u30ed\u8a9e
+ia=\u56fd\u969b\u8a9e
+id=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u8a9e
+ie=\u56fd\u969b\u8a9e
+ig=\u30a4\u30dc\u8a9e
+ii=\u56db\u5ddd\u8a9e
+ik=\u30a4\u30cc\u30d4\u30a2\u30c3\u30af\u8a9e
+in=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u8a9e
+io=\u30a4\u30c9\u8a9e
+is=\u30a2\u30a4\u30b9\u30e9\u30f3\u30c9\u8a9e
+it=\u30a4\u30bf\u30ea\u30a2\u8a9e
+iu=\u30a4\u30cc\u30af\u30a6\u30c6\u30a3\u30c8\u30c3\u30c8\u8a9e
+iw=\u30d8\u30d6\u30e9\u30a4\u8a9e
+ja=\u65e5\u672c\u8a9e
+ji=\u30a4\u30c7\u30a3\u30c3\u30b7\u30e5\u8a9e
+jv=\u30b8\u30e3\u30ef\u8a9e
+ka=\u30b0\u30eb\u30b8\u30a2\u8a9e
+kg=\u30b3\u30f3\u30b4\u8a9e
+ki=\u30ad\u30af\u30e6\u8a9e
+kj=\u30af\u30a5\u30cb\u30e3\u30de\u8a9e
+kk=\u30ab\u30b6\u30d5\u8a9e
+kl=\u30b0\u30ea\u30fc\u30f3\u30e9\u30f3\u30c9\u8a9e
+km=\u30ab\u30f3\u30dc\u30b8\u30a2\u8a9e
+kn=\u30ab\u30f3\u30ca\u30c0\u8a9e
+ko=\u97d3\u56fd\u8a9e
+kr=\u30ab\u30cc\u30ea\u8a9e
+ks=\u30ab\u30b7\u30df\u30fc\u30eb\u8a9e
+ku=\u30af\u30eb\u30c9\u8a9e
+kv=\u30b3\u30df\u8a9e
+kw=\u30b3\u30fc\u30f3\u30a6\u30a9\u30fc\u30eb\u8a9e
+ky=\u30ad\u30eb\u30ae\u30b9\u8a9e
+la=\u30e9\u30c6\u30f3\u8a9e
+lb=\u30eb\u30af\u30bb\u30f3\u30d6\u30eb\u30af\u8a9e
+lg=\u30ac\u30f3\u30c0\u8a9e
+li=\u30ea\u30f3\u30d6\u30eb\u30b0\u8a9e
+ln=\u30ea\u30f3\u30ac\u30e9\u8a9e
+lo=\u30e9\u30aa\u8a9e
+lt=\u30ea\u30c8\u30a2\u30cb\u30a2\u8a9e
+lu=\u30eb\u30d0\u8a9e
+lv=\u30e9\u30c8\u30d3\u30a2\u8a9e (\u30ec\u30c3\u30c8\u8a9e)
+mg=\u30de\u30e9\u30ac\u30b7\u30fc\u8a9e
+mh=\u30de\u30fc\u30b7\u30e3\u30eb\u8a9e
+mi=\u30de\u30aa\u30ea\u8a9e
+mk=\u30de\u30b1\u30c9\u30cb\u30a2\u8a9e
+ml=\u30de\u30e9\u30e4\u30fc\u30e9\u30e0\u8a9e
+mn=\u30e2\u30f3\u30b4\u30eb\u8a9e
+mo=\u30e2\u30eb\u30c0\u30d3\u30a2\u8a9e
+mr=\u30de\u30e9\u30fc\u30c6\u30a3\u30fc\u8a9e
+ms=\u30de\u30e9\u30a4\u8a9e
+mt=\u30de\u30eb\u30bf\u8a9e
+my=\u30d3\u30eb\u30de\u8a9e
+na=\u30ca\u30a6\u30eb\u8a9e
+nb=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e (\u30dc\u30fc\u30af\u30e2\u30fc\u30eb)
+nd=\u5317\u30f3\u30c7\u30d9\u30ec\u8a9e
+ne=\u30cd\u30d1\u30fc\u30eb\u8a9e
+ng=\u30f3\u30c9\u30f3\u30ac\u8a9e
+nl=\u30aa\u30e9\u30f3\u30c0\u8a9e
+nn=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e (\u30cb\u30e5\u30fc\u30ce\u30eb\u30b9\u30af)
+no=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e
+nr=\u5357\u30f3\u30c7\u30d9\u30ec\u8a9e
+nv=\u30ca\u30d0\u30db\u8a9e
+ny=\u30cb\u30e3\u30f3\u30b8\u30e3\u8a9e
+oc=\u30d7\u30ed\u30d0\u30f3\u30b9\u8a9e
+oj=\u30aa\u30b8\u30d6\u30ef\u8a9e
+om=\u30ac\u30e9\u8a9e
+or=\u30aa\u30ea\u30e4\u30fc\u8a9e
+os=\u30aa\u30bb\u30c1\u30a2\u8a9e
+pa=\u30d1\u30f3\u30b8\u30e3\u30d6\u8a9e
+pi=\u30d1\u30fc\u30ea\u8a9e
+pl=\u30dd\u30fc\u30e9\u30f3\u30c9\u8a9e
+ps=\u30d1\u30b7\u30e5\u30c8\u30fc\u8a9e
+pt=\u30dd\u30eb\u30c8\u30ac\u30eb\u8a9e
+qu=\u30b1\u30c1\u30e5\u30a2\u8a9e
+rm=\u30ec\u30c8\uff1d\u30ed\u30de\u30f3\u8a9e
+rn=\u30eb\u30f3\u30b8\u8a9e
+ro=\u30eb\u30fc\u30de\u30cb\u30a2\u8a9e
+ru=\u30ed\u30b7\u30a2\u8a9e
+rw=\u30eb\u30ef\u30f3\u30c0\u8a9e
+sa=\u30b5\u30f3\u30b9\u30af\u30ea\u30c3\u30c8\u8a9e
+sc=\u30b5\u30eb\u30c7\u30a3\u30cb\u30a2\u8a9e
+sd=\u30b7\u30f3\u30c9\u8a9e
+se=\u5317\u30b5\u30df\u8a9e
+sg=\u30b5\u30f3\u30b4\u8a9e
+si=\u30b7\u30f3\u30cf\u30e9\u8a9e
+sk=\u30b9\u30ed\u30d0\u30ad\u30a2\u8a9e
+sl=\u30b9\u30ed\u30d9\u30cb\u30a2\u8a9e
+sm=\u30b5\u30e2\u30a2\u8a9e
+sn=\u30b7\u30e7\u30ca\u8a9e
+so=\u30bd\u30de\u30ea\u8a9e
+sq=\u30a2\u30eb\u30d0\u30cb\u30a2\u8a9e
+sr=\u30bb\u30eb\u30d3\u30a2\u8a9e
+ss=\u30b7\u30b9\u30ef\u30c6\u30a3\u8a9e
+st=\u30bb\u30bd\u30c8\u8a9e
+su=\u30b9\u30f3\u30c0\u8a9e
+sv=\u30b9\u30a6\u30a7\u30fc\u30c7\u30f3\u8a9e
+sw=\u30b9\u30ef\u30d2\u30ea\u8a9e
+ta=\u30bf\u30df\u30fc\u30eb\u8a9e
+te=\u30c6\u30eb\u30b0\u8a9e
+tg=\u30bf\u30b8\u30af\u8a9e
+th=\u30bf\u30a4\u8a9e
+ti=\u30c6\u30a3\u30b0\u30ea\u30cb\u30a2\u8a9e
+tk=\u30c8\u30eb\u30af\u30e1\u30f3\u8a9e
+tl=\u30bf\u30ac\u30ed\u30b0\u8a9e
+tn=\u30c4\u30ef\u30ca\u8a9e
+to=\u30c8\u30f3\u30ac\u8a9e
+tr=\u30c8\u30eb\u30b3\u8a9e
+ts=\u30c4\u30a9\u30f3\u30ac\u8a9e
+tt=\u30bf\u30bf\u30fc\u30eb\u8a9e
+tw=\u30c8\u30a5\u30a4\u8a9e
+ty=\u30bf\u30d2\u30c1\u8a9e
+ug=\u30a6\u30a4\u30b0\u30eb\u8a9e
+uk=\u30a6\u30af\u30e9\u30a4\u30ca\u8a9e
+ur=\u30a6\u30eb\u30c9\u30a5\u30fc\u8a9e
+uz=\u30a6\u30ba\u30d9\u30af\u8a9e
+ve=\u30d9\u30f3\u30c0\u8a9e
+vi=\u30d9\u30c8\u30ca\u30e0\u8a9e
+vo=\u30dc\u30e9\u30d4\u30e5\u30af\u8a9e
+wa=\u30ef\u30ed\u30f3\u8a9e
+wo=\u30a6\u30a9\u30ed\u30d5\u8a9e
+xh=\u30b3\u30b5\u8a9e
+yi=\u30a4\u30c7\u30a3\u30c3\u30b7\u30e5\u8a9e
+yo=\u30e8\u30eb\u30d0\u8a9e
+za=\u30c1\u30ef\u30f3\u8a9e
+zh=\u4e2d\u56fd\u8a9e
+zu=\u30ba\u30fc\u30eb\u30fc\u8a9e
 
 # key is ISO 639.2 language code
 aar=\u30A2\u30D5\u30A1\u30EB\u8A9E
@@ -807,7 +806,7 @@
 Narb=\u53E4\u4EE3\u5317\u30A2\u30E9\u30D3\u30A2\u8A9E
 Nbat=\u30CA\u30D0\u30C6\u30A2\u8A9E
 Nkgb=Nakhi Geba\u6587\u5B57
-Nkoo=\u30F3\u30B3\u8A9E
+Nkoo=\u30F3\u30B3\u6587\u5B57
 Ogam=\u30AA\u30AC\u30E0\u6587\u5B57
 Olck=\u30AA\u30EB\u30C1\u30AD\u6587\u5B57
 Orkh=\u30AA\u30EB\u30DB\u30F3\u6587\u5B57
@@ -856,7 +855,7 @@
 Visp=\u8996\u8A71\u6CD5
 Wara=\u30EF\u30E9\u30F3\u30B0\u30FB\u30AF\u30B7\u30C6\u30A3\u6587\u5B57
 Xpeo=\u53E4\u4EE3\u30DA\u30EB\u30B7\u30A2\u6587\u5B57
-Xsux=\u30B7\u30E5\u30E1\u30FC\u30EB=\u30A2\u30C3\u30AB\u30C9\u8A9E\u6954\u5F62\u6587\u5B57
+Xsux=\u30B7\u30E5\u30E1\u30FC\u30EB\uFF1D\u30A2\u30C3\u30AB\u30C9\u8A9E\u6954\u5F62\u6587\u5B57
 Yiii=\u30A4\u6587\u5B57
 Zinh=\u7D99\u627F\u7528\u5B57
 Zmth=\u6570\u5B66\u8A18\u53F7
@@ -868,256 +867,256 @@
 # country names
 # key is ISO 3166 country code
 
-AD=\u30A2\u30F3\u30C9\u30E9
-AE=\u30A2\u30E9\u30D6\u9996\u9577\u56FD\u9023\u90A6
-AF=\u30A2\u30D5\u30AC\u30CB\u30B9\u30BF\u30F3
-AG=\u30A2\u30F3\u30C1\u30B0\u30A2\u30D0\u30FC\u30D6\u30FC\u30C0
-AI=\u30A2\u30F3\u30AE\u30E9
-AL=\u30A2\u30EB\u30D0\u30CB\u30A2
-AM=\u30A2\u30EB\u30E1\u30CB\u30A2
-AN=\u30AA\u30E9\u30F3\u30C0\u9818\u30A2\u30F3\u30C6\u30A3\u30EB\u8AF8\u5CF6
-AO=\u30A2\u30F3\u30B4\u30E9
+AD=\u30a2\u30f3\u30c9\u30e9
+AE=\u30a2\u30e9\u30d6\u9996\u9577\u56fd\u9023\u90a6
+AF=\u30a2\u30d5\u30ac\u30cb\u30b9\u30bf\u30f3
+AG=\u30a2\u30f3\u30c1\u30b0\u30a2\u30d0\u30fc\u30d6\u30fc\u30c0
+AI=\u30a2\u30f3\u30ae\u30e9
+AL=\u30a2\u30eb\u30d0\u30cb\u30a2
+AM=\u30a2\u30eb\u30e1\u30cb\u30a2
+AN=\u30aa\u30e9\u30f3\u30c0\u9818\u30a2\u30f3\u30c6\u30a3\u30eb\u8af8\u5cf6
+AO=\u30a2\u30f3\u30b4\u30e9
 AQ=\u5357\u6975
-AR=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3
-AS=\u30A2\u30E1\u30EA\u30AB\u30F3\u30B5\u30E2\u30A2
-AT=\u30AA\u30FC\u30B9\u30C8\u30EA\u30A2
-AU=\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2
-AW=\u30A2\u30EB\u30D0\u5CF6
-AX=\u30AA\u30FC\u30E9\u30F3\u30C9\u8AF8\u5CF6
-AZ=\u30A2\u30BC\u30EB\u30D0\u30A4\u30B8\u30E3\u30F3
-BA=\u30DC\u30B9\u30CB\u30A2\u30FB\u30D8\u30EB\u30C4\u30A7\u30B4\u30D3\u30CA
-BB=\u30D0\u30EB\u30D0\u30C9\u30B9
-BD=\u30D0\u30F3\u30B0\u30E9\u30C7\u30B7\u30E5
-BE=\u30D9\u30EB\u30AE\u30FC
-BF=\u30D6\u30EB\u30AD\u30CA\u30D5\u30A1\u30BD
-BG=\u30D6\u30EB\u30AC\u30EA\u30A2
-BH=\u30D0\u30FC\u30EC\u30FC\u30F3
-BI=\u30D6\u30EB\u30F3\u30B8
-BJ=\u30D9\u30CB\u30F3
+AR=\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3
+AS=\u30a2\u30e1\u30ea\u30ab\u30f3\u30b5\u30e2\u30a2
+AT=\u30aa\u30fc\u30b9\u30c8\u30ea\u30a2
+AU=\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2
+AW=\u30a2\u30eb\u30d0\u5cf6
+AX=\u30aa\u30fc\u30e9\u30f3\u30c9\u8af8\u5cf6
+AZ=\u30a2\u30bc\u30eb\u30d0\u30a4\u30b8\u30e3\u30f3
+BA=\u30dc\u30b9\u30cb\u30a2\u30fb\u30d8\u30eb\u30c4\u30a7\u30b4\u30d3\u30ca
+BB=\u30d0\u30eb\u30d0\u30c9\u30b9
+BD=\u30d0\u30f3\u30b0\u30e9\u30c7\u30b7\u30e5
+BE=\u30d9\u30eb\u30ae\u30fc
+BF=\u30d6\u30eb\u30ad\u30ca\u30d5\u30a1\u30bd
+BG=\u30d6\u30eb\u30ac\u30ea\u30a2
+BH=\u30d0\u30fc\u30ec\u30fc\u30f3
+BI=\u30d6\u30eb\u30f3\u30b8
+BJ=\u30d9\u30cb\u30f3
 BL=\u30B5\u30F3\u30FB\u30D0\u30EB\u30C6\u30EB\u30DF\u30FC
-BM=\u30D0\u30FC\u30DF\u30E5\u30FC\u30C0\u8AF8\u5CF6
-BN=\u30D6\u30EB\u30CD\u30A4
-BO=\u30DC\u30EA\u30D3\u30A2
+BM=\u30d0\u30fc\u30df\u30e5\u30fc\u30c0\u8af8\u5cf6
+BN=\u30d6\u30eb\u30cd\u30a4
+BO=\u30dc\u30ea\u30d3\u30a2
 BQ=\u30DC\u30CD\u30FC\u30EB\u3001\u30BB\u30F3\u30C8\u30FB\u30A8\u30A6\u30B9\u30BF\u30C6\u30A3\u30A6\u30B9\u304A\u3088\u3073\u30B5\u30D0
-BR=\u30D6\u30E9\u30B8\u30EB
-BS=\u30D0\u30CF\u30DE
-BT=\u30D6\u30FC\u30BF\u30F3
-BV=\u30D6\u30FC\u30D9\u5CF6
-BW=\u30DC\u30C4\u30EF\u30CA
-BY=\u30D9\u30E9\u30EB\u30FC\u30B7
-BZ=\u30D9\u30EA\u30FC\u30BA
-CA=\u30AB\u30CA\u30C0
-CC=\u30B3\u30B3\u30B9\u8AF8\u5CF6
-CD=\u30B3\u30F3\u30B4\u6C11\u4E3B\u5171\u548C\u56FD
-CF=\u4E2D\u592E\u30A2\u30D5\u30EA\u30AB\u5171\u548C\u56FD
-CG=\u30B3\u30F3\u30B4
-CH=\u30B9\u30A4\u30B9
-CI=\u30B3\u30FC\u30C8\u30B8\u30DC\u30A2\u30FC\u30EB
-CK=\u30AF\u30C3\u30AF\u8AF8\u5CF6
-CL=\u30C1\u30EA
-CM=\u30AB\u30E1\u30EB\u30FC\u30F3
-CN=\u4E2D\u83EF\u4EBA\u6C11\u5171\u548C\u56FD
-CO=\u30B3\u30ED\u30F3\u30D3\u30A2
-CR=\u30B3\u30B9\u30BF\u30EA\u30AB
-CS=\u30BB\u30EB\u30D3\u30A2\u30FB\u30E2\u30F3\u30C6\u30CD\u30B0\u30ED
-CU=\u30AD\u30E5\u30FC\u30D0
-CV=\u30AB\u30FC\u30DC\u30D9\u30EB\u30C7
+BR=\u30d6\u30e9\u30b8\u30eb
+BS=\u30d0\u30cf\u30de
+BT=\u30d6\u30fc\u30bf\u30f3
+BV=\u30d6\u30fc\u30d9\u5cf6
+BW=\u30dc\u30c4\u30ef\u30ca
+BY=\u30d9\u30e9\u30eb\u30fc\u30b7
+BZ=\u30d9\u30ea\u30fc\u30ba
+CA=\u30ab\u30ca\u30c0
+CC=\u30b3\u30b3\u30b9\u8af8\u5cf6
+CD=\u30b3\u30f3\u30b4\u6c11\u4e3b\u5171\u548c\u56fd
+CF=\u4e2d\u592e\u30a2\u30d5\u30ea\u30ab\u5171\u548c\u56fd
+CG=\u30b3\u30f3\u30b4
+CH=\u30b9\u30a4\u30b9
+CI=\u30b3\u30fc\u30c8\u30b8\u30dc\u30a2\u30fc\u30eb
+CK=\u30af\u30c3\u30af\u8af8\u5cf6
+CL=\u30c1\u30ea
+CM=\u30ab\u30e1\u30eb\u30fc\u30f3
+CN=\u4e2d\u83ef\u4eba\u6c11\u5171\u548c\u56fd
+CO=\u30b3\u30ed\u30f3\u30d3\u30a2
+CR=\u30b3\u30b9\u30bf\u30ea\u30ab
+CS=\u30bb\u30eb\u30d3\u30a2\u30fb\u30e2\u30f3\u30c6\u30cd\u30b0\u30ed
+CU=\u30ad\u30e5\u30fc\u30d0
+CV=\u30ab\u30fc\u30dc\u30d9\u30eb\u30c7
 CW=\u30AD\u30E5\u30E9\u30BD\u30FC
-CX=\u30AF\u30EA\u30B9\u30DE\u30B9\u5CF6
-CY=\u30AD\u30D7\u30ED\u30B9
-CZ=\u30C1\u30A7\u30B3
-DE=\u30C9\u30A4\u30C4
-DJ=\u30B8\u30D6\u30C1
-DK=\u30C7\u30F3\u30DE\u30FC\u30AF
-DM=\u30C9\u30DF\u30CB\u30AB\u56FD
-DO=\u30C9\u30DF\u30CB\u30AB\u5171\u548C\u56FD
-DZ=\u30A2\u30EB\u30B8\u30A7\u30EA\u30A2
-EC=\u30A8\u30AF\u30A2\u30C9\u30EB
-EE=\u30A8\u30B9\u30C8\u30CB\u30A2
-EG=\u30A8\u30B8\u30D7\u30C8
-EH=\u897F\u30B5\u30CF\u30E9
-ER=\u30A8\u30EA\u30C8\u30EA\u30A2
-ES=\u30B9\u30DA\u30A4\u30F3
-ET=\u30A8\u30C1\u30AA\u30D4\u30A2
-FI=\u30D5\u30A3\u30F3\u30E9\u30F3\u30C9
-FJ=\u30D5\u30A3\u30B8\u30FC
-FK=\u30D5\u30A9\u30FC\u30AF\u30E9\u30F3\u30C9\u8AF8\u5CF6
-FM=\u30DF\u30AF\u30ED\u30CD\u30B7\u30A2
-FO=\u30D5\u30A7\u30ED\u30FC\u8AF8\u5CF6
-FR=\u30D5\u30E9\u30F3\u30B9
-GA=\u30AC\u30DC\u30F3
-GB=\u30A4\u30AE\u30EA\u30B9
-GD=\u30B0\u30EC\u30CA\u30C0
-GE=\u30B0\u30EB\u30B8\u30A2
-GF=\u4ECF\u9818\u30AE\u30A2\u30CA
+CX=\u30af\u30ea\u30b9\u30de\u30b9\u5cf6
+CY=\u30ad\u30d7\u30ed\u30b9
+CZ=\u30c1\u30a7\u30b3
+DE=\u30c9\u30a4\u30c4
+DJ=\u30b8\u30d6\u30c1
+DK=\u30c7\u30f3\u30de\u30fc\u30af
+DM=\u30c9\u30df\u30cb\u30ab\u56fd
+DO=\u30c9\u30df\u30cb\u30ab\u5171\u548c\u56fd
+DZ=\u30a2\u30eb\u30b8\u30a7\u30ea\u30a2
+EC=\u30a8\u30af\u30a2\u30c9\u30eb
+EE=\u30a8\u30b9\u30c8\u30cb\u30a2
+EG=\u30a8\u30b8\u30d7\u30c8
+EH=\u897f\u30b5\u30cf\u30e9
+ER=\u30a8\u30ea\u30c8\u30ea\u30a2
+ES=\u30b9\u30da\u30a4\u30f3
+ET=\u30a8\u30c1\u30aa\u30d4\u30a2
+FI=\u30d5\u30a3\u30f3\u30e9\u30f3\u30c9
+FJ=\u30d5\u30a3\u30b8\u30fc
+FK=\u30d5\u30a9\u30fc\u30af\u30e9\u30f3\u30c9\u8af8\u5cf6
+FM=\u30df\u30af\u30ed\u30cd\u30b7\u30a2
+FO=\u30d5\u30a7\u30ed\u30fc\u8af8\u5cf6
+FR=\u30d5\u30e9\u30f3\u30b9
+GA=\u30ac\u30dc\u30f3
+GB=\u30a4\u30ae\u30ea\u30b9
+GD=\u30b0\u30ec\u30ca\u30c0
+GE=\u30b0\u30eb\u30b8\u30a2
+GF=\u4ecf\u9818\u30ae\u30a2\u30ca
 GG=\u30AC\u30FC\u30F3\u30B8\u30FC
-GH=\u30AC\u30FC\u30CA
-GI=\u30B8\u30D6\u30E9\u30EB\u30BF\u30EB
-GL=\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9
-GM=\u30AC\u30F3\u30D3\u30A2
-GN=\u30AE\u30CB\u30A2
-GP=\u30B0\u30A2\u30C9\u30EB\u30FC\u30D7
-GQ=\u8D64\u9053\u30AE\u30CB\u30A2
-GR=\u30AE\u30EA\u30B7\u30A2
-GS=\u30B5\u30A6\u30B9\u30B8\u30E7\u30FC\u30B8\u30A2\u5CF6\u30FB\u30B5\u30A6\u30B9\u30B5\u30F3\u30C9\u30A6\u30A3\u30C3\u30C1\u5CF6
-GT=\u30B0\u30A2\u30C6\u30DE\u30E9
-GU=\u30B0\u30A2\u30E0
-GW=\u30AE\u30CB\u30A2\u30D3\u30B5\u30A6
-GY=\u30AC\u30A4\u30A2\u30CA
-HK=\u9999\u6E2F
-HM=\u30CF\u30FC\u30C9\u30FB\u30DE\u30AF\u30C9\u30CA\u30EB\u30C9\u8AF8\u5CF6
-HN=\u30DB\u30F3\u30B8\u30E5\u30E9\u30B9
-HR=\u30AF\u30ED\u30A2\u30C1\u30A2
-HT=\u30CF\u30A4\u30C1
-HU=\u30CF\u30F3\u30AC\u30EA\u30FC
-ID=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2
-IE=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9
-IL=\u30A4\u30B9\u30E9\u30A8\u30EB
+GH=\u30ac\u30fc\u30ca
+GI=\u30b8\u30d6\u30e9\u30eb\u30bf\u30eb
+GL=\u30b0\u30ea\u30fc\u30f3\u30e9\u30f3\u30c9
+GM=\u30ac\u30f3\u30d3\u30a2
+GN=\u30ae\u30cb\u30a2
+GP=\u30b0\u30a2\u30c9\u30eb\u30fc\u30d7
+GQ=\u8d64\u9053\u30ae\u30cb\u30a2
+GR=\u30ae\u30ea\u30b7\u30a2
+GS=\u30b5\u30a6\u30b9\u30b8\u30e7\u30fc\u30b8\u30a2\u5cf6\u30fb\u30b5\u30a6\u30b9\u30b5\u30f3\u30c9\u30a6\u30a3\u30c3\u30c1\u5cf6
+GT=\u30b0\u30a2\u30c6\u30de\u30e9
+GU=\u30b0\u30a2\u30e0
+GW=\u30ae\u30cb\u30a2\u30d3\u30b5\u30a6
+GY=\u30ac\u30a4\u30a2\u30ca
+HK=\u9999\u6e2f
+HM=\u30cf\u30fc\u30c9\u30fb\u30de\u30af\u30c9\u30ca\u30eb\u30c9\u8af8\u5cf6
+HN=\u30db\u30f3\u30b8\u30e5\u30e9\u30b9
+HR=\u30af\u30ed\u30a2\u30c1\u30a2
+HT=\u30cf\u30a4\u30c1
+HU=\u30cf\u30f3\u30ac\u30ea\u30fc
+ID=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2
+IE=\u30a2\u30a4\u30eb\u30e9\u30f3\u30c9
+IL=\u30a4\u30b9\u30e9\u30a8\u30eb
 IM=\u30DE\u30F3\u5CF6
-IN=\u30A4\u30F3\u30C9
-IO=\u82F1\u9818\u30A4\u30F3\u30C9\u6D0B\u5730\u57DF
-IQ=\u30A4\u30E9\u30AF
-IR=\u30A4\u30E9\u30F3
-IS=\u30A2\u30A4\u30B9\u30E9\u30F3\u30C9
-IT=\u30A4\u30BF\u30EA\u30A2
+IN=\u30a4\u30f3\u30c9
+IO=\u82f1\u9818\u30a4\u30f3\u30c9\u6d0b\u5730\u57df
+IQ=\u30a4\u30e9\u30af
+IR=\u30a4\u30e9\u30f3
+IS=\u30a2\u30a4\u30b9\u30e9\u30f3\u30c9
+IT=\u30a4\u30bf\u30ea\u30a2
 JE=\u30B8\u30E3\u30FC\u30B8\u30FC
-JM=\u30B8\u30E3\u30DE\u30A4\u30AB
-JO=\u30E8\u30EB\u30C0\u30F3
-JP=\u65E5\u672C
-KE=\u30B1\u30CB\u30A2
-KG=\u30AD\u30EB\u30AE\u30B9\u30BF\u30F3
-KH=\u30AB\u30F3\u30DC\u30B8\u30A2
-KI=\u30AD\u30EA\u30D0\u30B9
-KM=\u30B3\u30E2\u30ED
-KN=\u30BB\u30F3\u30C8\u30AF\u30EA\u30B9\u30C8\u30D5\u30A1\u30FC\u30FB\u30CD\u30A4\u30D3\u30B9
-KP=\u671D\u9BAE\u6C11\u4E3B\u4E3B\u7FA9\u4EBA\u6C11\u5171\u548C\u56FD
-KR=\u5927\u97D3\u6C11\u56FD
-KW=\u30AF\u30A6\u30A7\u30FC\u30C8
-KY=\u30B1\u30A4\u30DE\u30F3\u8AF8\u5CF6
-KZ=\u30AB\u30B6\u30D5\u30B9\u30BF\u30F3
-LA=\u30E9\u30AA\u30B9
-LB=\u30EC\u30D0\u30CE\u30F3
-LC=\u30BB\u30F3\u30C8\u30EB\u30B7\u30A2
-LI=\u30EA\u30D2\u30C6\u30F3\u30B7\u30E5\u30BF\u30A4\u30F3
-LK=\u30B9\u30EA\u30E9\u30F3\u30AB
-LR=\u30EA\u30D9\u30EA\u30A2
-LS=\u30EC\u30BD\u30C8
-LT=\u30EA\u30C8\u30A2\u30CB\u30A2
-LU=\u30EB\u30AF\u30BB\u30F3\u30D6\u30EB\u30AF
-LV=\u30E9\u30C8\u30D3\u30A2
-LY=\u30EA\u30D3\u30A2
-MA=\u30E2\u30ED\u30C3\u30B3
-MC=\u30E2\u30CA\u30B3
-MD=\u30E2\u30EB\u30C9\u30D0
-ME=\u30E2\u30F3\u30C6\u30CD\u30B0\u30ED
+JM=\u30b8\u30e3\u30de\u30a4\u30ab
+JO=\u30e8\u30eb\u30c0\u30f3
+JP=\u65e5\u672c
+KE=\u30b1\u30cb\u30a2
+KG=\u30ad\u30eb\u30ae\u30b9\u30bf\u30f3
+KH=\u30ab\u30f3\u30dc\u30b8\u30a2
+KI=\u30ad\u30ea\u30d0\u30b9
+KM=\u30b3\u30e2\u30ed
+KN=\u30bb\u30f3\u30c8\u30af\u30ea\u30b9\u30c8\u30d5\u30a1\u30fc\u30fb\u30cd\u30a4\u30d3\u30b9
+KP=\u671d\u9bae\u6c11\u4e3b\u4e3b\u7fa9\u4eba\u6c11\u5171\u548c\u56fd
+KR=\u5927\u97d3\u6c11\u56fd
+KW=\u30af\u30a6\u30a7\u30fc\u30c8
+KY=\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6
+KZ=\u30ab\u30b6\u30d5\u30b9\u30bf\u30f3
+LA=\u30e9\u30aa\u30b9
+LB=\u30ec\u30d0\u30ce\u30f3
+LC=\u30bb\u30f3\u30c8\u30eb\u30b7\u30a2
+LI=\u30ea\u30d2\u30c6\u30f3\u30b7\u30e5\u30bf\u30a4\u30f3
+LK=\u30b9\u30ea\u30e9\u30f3\u30ab
+LR=\u30ea\u30d9\u30ea\u30a2
+LS=\u30ec\u30bd\u30c8
+LT=\u30ea\u30c8\u30a2\u30cb\u30a2
+LU=\u30eb\u30af\u30bb\u30f3\u30d6\u30eb\u30af
+LV=\u30e9\u30c8\u30d3\u30a2
+LY=\u30ea\u30d3\u30a2
+MA=\u30e2\u30ed\u30c3\u30b3
+MC=\u30e2\u30ca\u30b3
+MD=\u30e2\u30eb\u30c9\u30d0
+ME=\u30e2\u30f3\u30c6\u30cd\u30b0\u30ed
 MF=\u30BB\u30F3\u30C8\u30FB\u30DE\u30FC\u30C1\u30F3
-MG=\u30DE\u30C0\u30AC\u30B9\u30AB\u30EB
-MH=\u30DE\u30FC\u30B7\u30E3\u30EB\u8AF8\u5CF6
-MK=\u30DE\u30B1\u30C9\u30CB\u30A2
-ML=\u30DE\u30EA
-MM=\u30DF\u30E3\u30F3\u30DE\u30FC
-MN=\u30E2\u30F3\u30B4\u30EB
-MO=\u30DE\u30AB\u30AA
-MP=\u5317\u30DE\u30EA\u30A2\u30CA\u8AF8\u5CF6
-MQ=\u30DE\u30EB\u30C6\u30A3\u30CB\u30FC\u30AF\u5CF6
-MR=\u30E2\u30FC\u30EA\u30BF\u30CB\u30A2
-MS=\u30E2\u30F3\u30C8\u30BB\u30E9\u30C8\u5CF6
-MT=\u30DE\u30EB\u30BF
-MU=\u30E2\u30FC\u30EA\u30B7\u30E3\u30B9
-MV=\u30E2\u30EB\u30C7\u30A3\u30D6
-MW=\u30DE\u30E9\u30A6\u30A4
-MX=\u30E1\u30AD\u30B7\u30B3
-MY=\u30DE\u30EC\u30FC\u30B7\u30A2
-MZ=\u30E2\u30B6\u30F3\u30D3\u30FC\u30AF
-NA=\u30CA\u30DF\u30D3\u30A2
-NC=\u30CB\u30E5\u30FC\u30AB\u30EC\u30C9\u30CB\u30A2
-NE=\u30CB\u30B8\u30A7\u30FC\u30EB
-NF=\u30CE\u30FC\u30D5\u30A9\u30FC\u30AF\u5CF6
-NG=\u30CA\u30A4\u30B8\u30A7\u30EA\u30A2
-NI=\u30CB\u30AB\u30E9\u30B0\u30A2
-NL=\u30AA\u30E9\u30F3\u30C0
-NO=\u30CE\u30EB\u30A6\u30A7\u30FC
-NP=\u30CD\u30D1\u30FC\u30EB
-NR=\u30CA\u30A6\u30EB
-NU=\u30CB\u30A6\u30A8\u5CF6
-NZ=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9
-OM=\u30AA\u30DE\u30FC\u30F3
-PA=\u30D1\u30CA\u30DE
-PE=\u30DA\u30EB\u30FC
-PF=\u4ECF\u9818\u30DD\u30EA\u30CD\u30B7\u30A2
-PG=\u30D1\u30D7\u30A2\u30CB\u30E5\u30FC\u30AE\u30CB\u30A2
-PH=\u30D5\u30A3\u30EA\u30D4\u30F3
-PK=\u30D1\u30AD\u30B9\u30BF\u30F3
-PL=\u30DD\u30FC\u30E9\u30F3\u30C9
-PM=\u30B5\u30F3\u30D4\u30A8\u30FC\u30EB\u5CF6\u30FB\u30DF\u30AF\u30ED\u30F3\u5CF6
-PN=\u30D4\u30C8\u30B1\u30A2\u30F3\u5CF6
-PR=\u30D7\u30A8\u30EB\u30C8\u30EA\u30B3
-PS=\u30D1\u30EC\u30B9\u30C1\u30CA
-PT=\u30DD\u30EB\u30C8\u30AC\u30EB
-PW=\u30D1\u30E9\u30AA
-PY=\u30D1\u30E9\u30B0\u30A2\u30A4
-QA=\u30AB\u30BF\u30FC\u30EB
-RE=\u30EC\u30E6\u30CB\u30AA\u30F3
-RO=\u30EB\u30FC\u30DE\u30CB\u30A2
-RS=\u30BB\u30EB\u30D3\u30A2
-RU=\u30ED\u30B7\u30A2
-RW=\u30EB\u30EF\u30F3\u30C0
-SA=\u30B5\u30A6\u30B8\u30A2\u30E9\u30D3\u30A2
-SB=\u30BD\u30ED\u30E2\u30F3\u8AF8\u5CF6
-SC=\u30BB\u30A4\u30B7\u30A7\u30EB
-SD=\u30B9\u30FC\u30C0\u30F3
-SE=\u30B9\u30A6\u30A7\u30FC\u30C7\u30F3
-SG=\u30B7\u30F3\u30AC\u30DD\u30FC\u30EB
-SH=\u30BB\u30F3\u30C8\u30D8\u30EC\u30CA\u5CF6
-SI=\u30B9\u30ED\u30D9\u30CB\u30A2
-SJ=\u30B9\u30D0\u30FC\u30EB\u30D0\u30EB\u8AF8\u5CF6\u30FB\u30E4\u30F3\u30DE\u30A4\u30A8\u30F3\u5CF6
-SK=\u30B9\u30ED\u30D0\u30AD\u30A2
-SL=\u30B7\u30A8\u30E9\u30EC\u30AA\u30CD
-SM=\u30B5\u30F3\u30DE\u30EA\u30CE
-SN=\u30BB\u30CD\u30AC\u30EB
-SO=\u30BD\u30DE\u30EA\u30A2
-SR=\u30B9\u30EA\u30CA\u30E0
-ST=\u30B5\u30F3\u30C8\u30E1\u30FB\u30D7\u30EA\u30F3\u30B7\u30DA
-SV=\u30A8\u30EB\u30B5\u30EB\u30D0\u30C9\u30EB
+MG=\u30de\u30c0\u30ac\u30b9\u30ab\u30eb
+MH=\u30de\u30fc\u30b7\u30e3\u30eb\u8af8\u5cf6
+MK=\u30de\u30b1\u30c9\u30cb\u30a2
+ML=\u30de\u30ea
+MM=\u30df\u30e3\u30f3\u30de\u30fc
+MN=\u30e2\u30f3\u30b4\u30eb
+MO=\u30de\u30ab\u30aa
+MP=\u5317\u30de\u30ea\u30a2\u30ca\u8af8\u5cf6
+MQ=\u30de\u30eb\u30c6\u30a3\u30cb\u30fc\u30af\u5cf6
+MR=\u30e2\u30fc\u30ea\u30bf\u30cb\u30a2
+MS=\u30e2\u30f3\u30c8\u30bb\u30e9\u30c8\u5cf6
+MT=\u30de\u30eb\u30bf
+MU=\u30e2\u30fc\u30ea\u30b7\u30e3\u30b9
+MV=\u30e2\u30eb\u30c7\u30a3\u30d6
+MW=\u30de\u30e9\u30a6\u30a4
+MX=\u30e1\u30ad\u30b7\u30b3
+MY=\u30de\u30ec\u30fc\u30b7\u30a2
+MZ=\u30e2\u30b6\u30f3\u30d3\u30fc\u30af
+NA=\u30ca\u30df\u30d3\u30a2
+NC=\u30cb\u30e5\u30fc\u30ab\u30ec\u30c9\u30cb\u30a2
+NE=\u30cb\u30b8\u30a7\u30fc\u30eb
+NF=\u30ce\u30fc\u30d5\u30a9\u30fc\u30af\u5cf6
+NG=\u30ca\u30a4\u30b8\u30a7\u30ea\u30a2
+NI=\u30cb\u30ab\u30e9\u30b0\u30a2
+NL=\u30aa\u30e9\u30f3\u30c0
+NO=\u30ce\u30eb\u30a6\u30a7\u30fc
+NP=\u30cd\u30d1\u30fc\u30eb
+NR=\u30ca\u30a6\u30eb
+NU=\u30cb\u30a6\u30a8\u5cf6
+NZ=\u30cb\u30e5\u30fc\u30b8\u30fc\u30e9\u30f3\u30c9
+OM=\u30aa\u30de\u30fc\u30f3
+PA=\u30d1\u30ca\u30de
+PE=\u30da\u30eb\u30fc
+PF=\u4ecf\u9818\u30dd\u30ea\u30cd\u30b7\u30a2
+PG=\u30d1\u30d7\u30a2\u30cb\u30e5\u30fc\u30ae\u30cb\u30a2
+PH=\u30d5\u30a3\u30ea\u30d4\u30f3
+PK=\u30d1\u30ad\u30b9\u30bf\u30f3
+PL=\u30dd\u30fc\u30e9\u30f3\u30c9
+PM=\u30b5\u30f3\u30d4\u30a8\u30fc\u30eb\u5cf6\u30fb\u30df\u30af\u30ed\u30f3\u5cf6
+PN=\u30d4\u30c8\u30b1\u30a2\u30f3\u5cf6
+PR=\u30d7\u30a8\u30eb\u30c8\u30ea\u30b3
+PS=\u30d1\u30ec\u30b9\u30c1\u30ca
+PT=\u30dd\u30eb\u30c8\u30ac\u30eb
+PW=\u30d1\u30e9\u30aa
+PY=\u30d1\u30e9\u30b0\u30a2\u30a4
+QA=\u30ab\u30bf\u30fc\u30eb
+RE=\u30ec\u30e6\u30cb\u30aa\u30f3
+RO=\u30eb\u30fc\u30de\u30cb\u30a2
+RS=\u30bb\u30eb\u30d3\u30a2
+RU=\u30ed\u30b7\u30a2
+RW=\u30eb\u30ef\u30f3\u30c0
+SA=\u30b5\u30a6\u30b8\u30a2\u30e9\u30d3\u30a2
+SB=\u30bd\u30ed\u30e2\u30f3\u8af8\u5cf6
+SC=\u30bb\u30a4\u30b7\u30a7\u30eb
+SD=\u30b9\u30fc\u30c0\u30f3
+SE=\u30b9\u30a6\u30a7\u30fc\u30c7\u30f3
+SG=\u30b7\u30f3\u30ac\u30dd\u30fc\u30eb
+SH=\u30bb\u30f3\u30c8\u30d8\u30ec\u30ca\u5cf6
+SI=\u30b9\u30ed\u30d9\u30cb\u30a2
+SJ=\u30b9\u30d0\u30fc\u30eb\u30d0\u30eb\u8af8\u5cf6\u30fb\u30e4\u30f3\u30de\u30a4\u30a8\u30f3\u5cf6
+SK=\u30b9\u30ed\u30d0\u30ad\u30a2
+SL=\u30b7\u30a8\u30e9\u30ec\u30aa\u30cd
+SM=\u30b5\u30f3\u30de\u30ea\u30ce
+SN=\u30bb\u30cd\u30ac\u30eb
+SO=\u30bd\u30de\u30ea\u30a2
+SR=\u30b9\u30ea\u30ca\u30e0
+ST=\u30b5\u30f3\u30c8\u30e1\u30fb\u30d7\u30ea\u30f3\u30b7\u30da
+SV=\u30a8\u30eb\u30b5\u30eb\u30d0\u30c9\u30eb
 SX=\u30B5\u30F3\u30FB\u30DE\u30EB\u30BF\u30F3(\u30AA\u30E9\u30F3\u30C0\u9818)
-SY=\u30B7\u30EA\u30A2
-SZ=\u30B9\u30EF\u30B8\u30E9\u30F3\u30C9
-TC=\u30BF\u30FC\u30AF\u30B9\u8AF8\u5CF6\u30FB\u30AB\u30A4\u30B3\u30B9\u8AF8\u5CF6
-TD=\u30C1\u30E3\u30C9
-TF=\u30D5\u30E9\u30F3\u30B9\u9818\u6975\u5357\u8AF8\u5CF6
-TG=\u30C8\u30FC\u30B4
-TH=\u30BF\u30A4
-TJ=\u30BF\u30B8\u30AD\u30B9\u30BF\u30F3
-TK=\u30C8\u30B1\u30E9\u30A6\u8AF8\u5CF6
-TL=\u6771\u30C6\u30A3\u30E2\u30FC\u30EB
-TM=\u30C8\u30EB\u30AF\u30E1\u30CB\u30B9\u30BF\u30F3
-TN=\u30C1\u30E5\u30CB\u30B8\u30A2
-TO=\u30C8\u30F3\u30AC
-TR=\u30C8\u30EB\u30B3
-TT=\u30C8\u30EA\u30CB\u30C0\u30FC\u30C9\u30FB\u30C8\u30D0\u30B4
-TV=\u30C4\u30D0\u30EB
-TW=\u53F0\u6E7E
-TZ=\u30BF\u30F3\u30B6\u30CB\u30A2
-UA=\u30A6\u30AF\u30E9\u30A4\u30CA
-UG=\u30A6\u30AC\u30F3\u30C0
-UM=\u7C73\u9818\u592A\u5E73\u6D0B\u8AF8\u5CF6
-US=\u30A2\u30E1\u30EA\u30AB\u5408\u8846\u56FD
-UY=\u30A6\u30EB\u30B0\u30A2\u30A4
-UZ=\u30A6\u30BA\u30D9\u30AD\u30B9\u30BF\u30F3
-VA=\u30D0\u30C1\u30AB\u30F3
-VC=\u30BB\u30F3\u30C8\u30D3\u30F3\u30BB\u30F3\u30C8\u304A\u3088\u3073\u30B0\u30EC\u30CA\u30C7\u30A3\u30FC\u30F3\u8AF8\u5CF6
-VE=\u30D9\u30CD\u30BA\u30A8\u30E9
-VG=\u82F1\u9818\u30D0\u30FC\u30B8\u30F3\u8AF8\u5CF6
-VI=\u7C73\u9818\u30D0\u30FC\u30B8\u30F3\u8AF8\u5CF6
-VN=\u30D9\u30C8\u30CA\u30E0
-VU=\u30D0\u30CC\u30A2\u30C4
-WF=\u30EF\u30EA\u30B9\u30FB\u30D5\u30C6\u30E5\u30CA\u8AF8\u5CF6
-WS=\u897F\u30B5\u30E2\u30A2
-YE=\u30A4\u30A8\u30E1\u30F3
-YT=\u30DE\u30E8\u30C3\u30C8\u5CF6
-ZA=\u5357\u30A2\u30D5\u30EA\u30AB
-ZM=\u30B6\u30F3\u30D3\u30A2
-ZW=\u30B8\u30F3\u30D0\u30D6\u30A8
+SY=\u30b7\u30ea\u30a2
+SZ=\u30b9\u30ef\u30b8\u30e9\u30f3\u30c9
+TC=\u30bf\u30fc\u30af\u30b9\u8af8\u5cf6\u30fb\u30ab\u30a4\u30b3\u30b9\u8af8\u5cf6
+TD=\u30c1\u30e3\u30c9
+TF=\u30d5\u30e9\u30f3\u30b9\u9818\u6975\u5357\u8af8\u5cf6
+TG=\u30c8\u30fc\u30b4
+TH=\u30bf\u30a4
+TJ=\u30bf\u30b8\u30ad\u30b9\u30bf\u30f3
+TK=\u30c8\u30b1\u30e9\u30a6\u8af8\u5cf6
+TL=\u6771\u30c6\u30a3\u30e2\u30fc\u30eb
+TM=\u30c8\u30eb\u30af\u30e1\u30cb\u30b9\u30bf\u30f3
+TN=\u30c1\u30e5\u30cb\u30b8\u30a2
+TO=\u30c8\u30f3\u30ac
+TR=\u30c8\u30eb\u30b3
+TT=\u30c8\u30ea\u30cb\u30c0\u30fc\u30c9\u30fb\u30c8\u30d0\u30b4
+TV=\u30c4\u30d0\u30eb
+TW=\u53f0\u6e7e
+TZ=\u30bf\u30f3\u30b6\u30cb\u30a2
+UA=\u30a6\u30af\u30e9\u30a4\u30ca
+UG=\u30a6\u30ac\u30f3\u30c0
+UM=\u7c73\u9818\u592a\u5e73\u6d0b\u8af8\u5cf6
+US=\u30a2\u30e1\u30ea\u30ab\u5408\u8846\u56fd
+UY=\u30a6\u30eb\u30b0\u30a2\u30a4
+UZ=\u30a6\u30ba\u30d9\u30ad\u30b9\u30bf\u30f3
+VA=\u30d0\u30c1\u30ab\u30f3
+VC=\u30bb\u30f3\u30c8\u30d3\u30f3\u30bb\u30f3\u30c8\u304a\u3088\u3073\u30b0\u30ec\u30ca\u30c7\u30a3\u30fc\u30f3\u8af8\u5cf6
+VE=\u30d9\u30cd\u30ba\u30a8\u30e9
+VG=\u82f1\u9818\u30d0\u30fc\u30b8\u30f3\u8af8\u5cf6
+VI=\u7c73\u9818\u30d0\u30fc\u30b8\u30f3\u8af8\u5cf6
+VN=\u30d9\u30c8\u30ca\u30e0
+VU=\u30d0\u30cc\u30a2\u30c4
+WF=\u30ef\u30ea\u30b9\u30fb\u30d5\u30c6\u30e5\u30ca\u8af8\u5cf6
+WS=\u897f\u30b5\u30e2\u30a2
+YE=\u30a4\u30a8\u30e1\u30f3
+YT=\u30de\u30e8\u30c3\u30c8\u5cf6
+ZA=\u5357\u30a2\u30d5\u30ea\u30ab
+ZM=\u30b6\u30f3\u30d3\u30a2
+ZW=\u30b8\u30f3\u30d0\u30d6\u30a8
 
 # territory names
 # key is UN M.49 country and area code
@@ -1152,19 +1151,3 @@
 154=\u5317\u30E8\u30FC\u30ED\u30C3\u30D1
 155=\u897F\u30E8\u30FC\u30ED\u30C3\u30D1
 419=\u30E9\u30C6\u30F3\u30A2\u30E1\u30EA\u30AB\u30FB\u30AB\u30EA\u30D6\u5730\u57DF
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=\u30E6\u30FC\u30ED
-%%B=\u30D6\u30FC\u30AF\u30E2\u30FC\u30EB
-%%NY=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30CB\u30FC\u30CE\u30B7\u30AF)
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_ko.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_ko.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=\uC544\uD30C\uB974\uC5B4
-ab=\uC555\uCE74\uC988\uC5B4
-ae=\uC544\uBCA0\uC2A4\uD0C0\uC5B4
-af=\uB0A8\uC544\uACF5 \uACF5\uC6A9\uC5B4
-ak=\uC544\uCE78\uC5B4
-am=\uC554\uD558\uB77C\uC5B4
-an=\uC544\uB77C\uACE4\uC5B4
-ar=\uC544\uB78D\uC5B4
-as=\uC544\uC0D8\uC5B4
-av=\uC544\uBC14\uB974\uC5B4
-ay=\uC544\uC774\uB9C8\uB77C\uC5B4
-az=\uC544\uC81C\uB974\uBC14\uC774\uC794\uC5B4
-ba=\uBC14\uC288\uD0A4\uB974\uC5B4
-be=\uBCA8\uB77C\uB8E8\uC2A4\uC5B4
-bg=\uBD88\uAC00\uB9AC\uC544\uC5B4
-bh=\uBE44\uD558\uB974\uC5B4
-bi=\uBE44\uC2AC\uB77C\uB9C8\uC5B4
-bm=\uBC24\uBC14\uB77C\uC5B4
-bn=\uBCB5\uACE8\uC5B4
-bo=\uD2F0\uBCA0\uD2B8\uC5B4
-br=\uBE0C\uB974\uD0C0\uB274\uC5B4
-bs=\uBCF4\uC2A4\uB2C8\uC544\uC5B4
-ca=\uCE74\uD0C8\uB85C\uB2C8\uC544\uC5B4
-ce=\uCCB4\uCCB8\uC5B4
-ch=\uCC28\uBAA8\uB85C\uC5B4
-co=\uCF54\uB974\uC2DC\uCE74\uC5B4
-cr=\uD06C\uB9AC\uC5B4
-cs=\uCCB4\uCF54\uC5B4
-cu=\uAD50\uD68C \uC2AC\uB77C\uBE0C\uC5B4
-cv=\uCD94\uBC14\uC26C\uC5B4
-cy=\uC6E8\uC77C\uC2A4\uC5B4
-da=\uB374\uB9C8\uD06C\uC5B4
-de=\uB3C5\uC77C\uC5B4
-dv=\uB514\uBCA0\uD788\uC5B4
-dz=\uBD80\uD0C4\uC5B4
-ee=\uC5D0\uC6E8\uC5B4
-el=\uADF8\uB9AC\uC2A4\uC5B4
-en=\uC601\uC5B4
-eo=\uC5D0\uC2A4\uD398\uB780\uD1A0\uC5B4
-es=\uC2A4\uD398\uC778\uC5B4
-et=\uC5D0\uC2A4\uD1A0\uB2C8\uC544\uC5B4
-eu=\uBC14\uC2A4\uD06C\uC5B4
-fa=\uC774\uB780\uC5B4
-ff=\uD480\uB77C\uB2C8\uC5B4
-fi=\uD540\uB780\uB4DC\uC5B4
-fj=\uD53C\uC9C0\uC5B4
-fo=\uD398\uB85C\uC2A4\uC5B4
-fr=\uD504\uB791\uC2A4\uC5B4
-fy=\uD504\uB9AC\uC2AC\uB780\uB4DC\uC5B4
-ga=\uC544\uC77C\uB79C\uB4DC\uC5B4
-gd=\uC2A4\uCF54\uAC24\uB9AD\uC5B4
-gl=\uAC08\uB9AC\uC2DC\uC544\uC5B4
-gn=\uAD6C\uC544\uB77C\uB2C8\uC5B4
-gu=\uAD6C\uC790\uB77C\uD2B8\uC5B4
-gv=\uB9F9\uD06C\uC2A4\uC5B4
-ha=\uD558\uC6B0\uC790\uC5B4
-he=\uD788\uBE0C\uB9AC \uBB38\uC790
-hi=\uD78C\uB514\uC5B4
-ho=\uD788\uB9AC\uBAA8\uD22C\uC5B4
-hr=\uD06C\uB85C\uC544\uD2F0\uC544\uC5B4
-ht=\uC544\uC774\uD2F0\uC5B4
-hu=\uD5DD\uAC00\uB9AC\uC5B4
-hy=\uC544\uB974\uBA54\uB2C8\uC544\uC5B4
-hz=\uD5E4\uB808\uB85C\uC5B4
-ia=\uC778\uD130\uB9C1\uAC70
-id=\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4
-ie=\uC778\uD130\uB9C1\uAC8C\uC5B4
-ig=\uC774\uADF8\uBCF4\uC5B4
-ii=\uC4F0\uCD28 \uC774\uC5B4
-ik=\uC774\uB204\uD53C\uC544\uD06C\uC5B4
-in=\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4
-io=\uC774\uB3C4\uC5B4
-is=\uC544\uC774\uC2AC\uB780\uB4DC\uC5B4
-it=\uC774\uD0C8\uB9AC\uC544\uC5B4
-iu=\uC774\uB205\uD2F0\uD22C\uD2B8\uC5B4
-iw=\uD788\uBE0C\uB9AC \uBB38\uC790
-ja=\uC77C\uBCF8\uC5B4
-ji=\uC774\uB514\uC2DC\uC5B4
-jv=\uC790\uBC14\uC5B4
-ka=\uADF8\uB8E8\uC9C0\uC57C\uC5B4
-kg=\uCF69\uACE0\uC5B4
-ki=\uD0A4\uCFE0\uC720\uC5B4
-kj=\uCF74\uC57C\uB9C8\uC5B4
-kk=\uCE74\uC790\uD750\uC5B4
-kl=\uADF8\uB9B0\uB79C\uB4DC\uC5B4
-km=\uD06C\uBA54\uB974 \uBB38\uC790
-kn=\uCE78\uB098\uB2E4 \uBB38\uC790
-ko=\uD55C\uAD6D\uC5B4
-kr=\uCE74\uB204\uB9AC\uC5B4
-ks=\uCE74\uC288\uBBF8\uB974\uC5B4
-ku=\uD06C\uB974\uB4DC\uC5B4
-kv=\uCF54\uBBF8\uC5B4
-kw=\uCF58\uC6D4\uC5B4
-ky=\uD0A4\uB974\uAE30\uC2A4\uC5B4
-la=\uB77C\uD2F4\uC5B4
-lb=\uB8E9\uC148\uBD80\uB974\uD06C\uC5B4
-lg=\uAC04\uB2E4\uC5B4
-li=\uB9BC\uBC84\uADF8\uC5B4
-ln=\uB9C1\uAC08\uB77C\uC5B4
-lo=\uB77C\uC624\uC5B4
-lt=\uB9AC\uD22C\uC544\uB2C8\uC544\uC5B4
-lu=\uB8E8\uBC14\uC5B4(\uCE74\uD0D5\uAC00)
-lv=\uB77C\uD2B8\uBE44\uC544\uC5B4(\uB808\uD2B8\uC5B4)
-mg=\uB9C8\uB2E4\uAC00\uC2A4\uCE74\uB974\uC5B4
-mh=\uB9C8\uC15C\uC81C\uB3C4\uC5B4
-mi=\uB9C8\uC624\uB9AC\uC5B4
-mk=\uB9C8\uCF00\uB3C4\uB2C8\uC544\uC5B4
-ml=\uB9D0\uB77C\uC584\uB78C\uC5B4
-mn=\uBABD\uACE8\uC5B4
-mo=\uBAB0\uB2E4\uBE44\uC544\uC5B4
-mr=\uB9C8\uB77C\uD2F0\uC5B4
-ms=\uB9D0\uB808\uC774\uC5B4
-mt=\uBAB0\uD0C0\uC5B4
-my=\uBC84\uB9C8\uC5B4
-na=\uB098\uC6B0\uB8E8\uC5B4
-nb=\uB178\uB974\uC6E8\uC774\uC5B4(\uBCF5\uB9D0)
-nd=\uBD81\uBD80 \uC740\uB370\uBCA8\uB808
-ne=\uB124\uD314\uC5B4
-ng=\uC740\uB3D9\uAC00\uC5B4
-nl=\uB124\uB35C\uB780\uB4DC\uC5B4
-nn=\uB178\uB974\uC6E8\uC774\uC5B4(\uB2C8\uB178\uB974\uC2A4\uD06C)
-no=\uB178\uB974\uC6E8\uC774\uC5B4
-nr=\uB0A8\uBD80 \uC740\uB370\uBCA8\uB808
-nv=\uB098\uBC14\uD638\uC5B4
-ny=\uB2C8\uC580\uC790\uC5B4
-oc=\uC625\uC2DC\uD2B8\uC5B4
-oj=\uC624\uC9C0\uBE0C\uC640\uC5B4
-om=\uC624\uB85C\uBAA8\uC5B4(\uC544\uD310)
-or=\uC624\uB9AC\uC57C\uC5B4
-os=\uC624\uC138\uD2F0\uC548\uC5B4
-pa=\uD380\uC7A1\uC5B4
-pi=\uD314\uB9AC\uC5B4
-pl=\uD3F4\uB780\uB4DC\uC5B4
-ps=\uD30C\uC2DC\uD1A0\uC5B4(\uD478\uC2DC\uD1A0)
-pt=\uD3EC\uB974\uD22C\uCE7C\uC5B4
-qu=\uCF00\uCD94\uC544\uC5B4
-rm=\uB808\uD1A0\uB85C\uB9CC\uC5B4
-rn=\uBC18\uD22C\uC5B4(\uBD80\uB8EC\uB514)
-ro=\uB8E8\uB9C8\uB2C8\uC544\uC5B4
-ru=\uB7EC\uC2DC\uC544\uC5B4
-rw=\uBC18\uD22C\uC5B4(\uB8E8\uC644\uB2E4)
-sa=\uC0B0\uC2A4\uD06C\uB9AC\uD2B8\uC5B4
-sc=\uC0AC\uB974\uB514\uB2C8\uC544\uC5B4
-sd=\uC2E0\uB514\uC5B4
-se=\uBD81\uBD80 \uC0AC\uBBF8\uC5B4
-sg=\uC0B0\uACE0\uC5B4
-si=\uC2E0\uD560\uB77C\uC5B4
-sk=\uC2AC\uB85C\uBC14\uD0A4\uC544\uC5B4
-sl=\uC2AC\uB85C\uBCA0\uB2C8\uC544\uC5B4
-sm=\uC0AC\uBAA8\uC544\uC5B4
-sn=\uC1FC\uB098\uC5B4
-so=\uC18C\uB9D0\uB9AC\uC544\uC5B4
-sq=\uC54C\uBC14\uB2C8\uC544\uC5B4
-sr=\uC138\uB974\uBE44\uC544\uC5B4
-ss=\uC2DC\uC2A4\uC640\uD2F0\uC5B4
-st=\uC138\uC18C\uD1A0\uC5B4
-su=\uC21C\uB2E8\uC5B4
-sv=\uC2A4\uC6E8\uB374\uC5B4
-sw=\uC2A4\uC640\uD790\uB9AC\uC5B4
-ta=\uD0C0\uBC00\uC5B4
-te=\uD154\uB8E8\uAD6C\uC5B4
-tg=\uD0C0\uC9C0\uD0A4\uC2A4\uD0C4\uC5B4
-th=\uD0DC\uAD6D\uC5B4
-ti=\uD2F0\uADF8\uB9AC\uB0D0\uC5B4
-tk=\uD22C\uB974\uD06C\uBA58\uC5B4
-tl=\uD0C0\uAC08\uB85C\uADF8\uC5B4
-tn=\uC138\uCE20\uC640\uB098\uC5B4
-to=\uD1B5\uAC00
-tr=\uD130\uD0A4\uC5B4
-ts=\uD1B5\uAC00\uC5B4
-tt=\uD0C0\uD0C0\uB974\uC5B4
-tw=\uD2B8\uC704\uC5B4
-ty=\uD0C0\uD788\uD2F0\uC548\uC5B4
-ug=\uC704\uAD6C\uB974\uC5B4
-uk=\uC6B0\uD06C\uB77C\uC774\uB098\uC5B4
-ur=\uC6B0\uB974\uB450\uC5B4
-uz=\uC6B0\uC988\uBCA0\uD06C\uC5B4
-ve=\uBCA4\uB2E4\uC5B4
-vi=\uBCA0\uD2B8\uB0A8\uC5B4
-vo=\uBCFC\uB77C\uD4CC\uD06C\uC5B4
-wa=\uC648\uB8EC\uC5B4
-wo=\uC62C\uB85C\uD504\uC5B4
-xh=\uBC18\uD22C\uC5B4(\uB0A8\uC544\uD504\uB9AC\uCE74)
-yi=\uC774\uB514\uC2DC\uC5B4
-yo=\uC694\uB8E8\uBC14\uC5B4
-za=\uC8FC\uC559\uC5B4
-zh=\uC911\uAD6D\uC5B4
-zu=\uC904\uB8E8\uC5B4
+aa=\uc544\ud30c\ub974\uc5b4
+ab=\uc555\uce74\uc988\uc5b4
+ae=\uc544\ubca0\uc2a4\ud0c0\uc5b4
+af=\ub0a8\uc544\uacf5 \uacf5\uc6a9\uc5b4
+ak=\uc544\uce78\uc5b4
+am=\uc554\ud558\ub77c\uc5b4
+an=\uc544\ub77c\uace4\uc5b4
+ar=\uc544\ub78d\uc5b4
+as=\uc544\uc0d8\uc5b4
+av=\uc544\ubc14\ub974\uc5b4
+ay=\uc544\uc774\ub9c8\ub77c\uc5b4
+az=\uc544\uc81c\ub974\ubc14\uc774\uc794\uc5b4
+ba=\ubc14\uc288\ud0a4\ub974\uc5b4
+be=\ubca8\ub85c\ub8e8\uc2dc\uc5b4
+bg=\ubd88\uac00\ub9ac\uc544\uc5b4
+bh=\ube44\ud558\ub974\uc5b4
+bi=\ube44\uc2ac\ub77c\ub9c8\uc5b4
+bm=\ubc24\ubc14\ub77c\uc5b4
+bn=\ubcb5\uace8\uc5b4
+bo=\ud2f0\ubca0\ud2b8\uc5b4
+br=\ube0c\ub974\ud0c0\ub274\uc5b4
+bs=\ubcf4\uc2a4\ub2c8\uc544\uc5b4
+ca=\uce74\ud0c8\ub85c\ub2c8\uc544\uc5b4
+ce=\uccb4\uccb8\uc5b4
+ch=\ucc28\ubaa8\ub85c\uc5b4
+co=\ucf54\ub974\uc2dc\uce74\uc5b4
+cr=\ud06c\ub9ac\uc5b4
+cs=\uccb4\ucf54\uc5b4
+cu=\uad50\ud68c \uc2ac\ub77c\ube0c\uc5b4
+cv=\ucd94\ubc14\uc26c\uc5b4
+cy=\uc6e8\uc77c\uc2a4\uc5b4
+da=\ub374\ub9c8\ud06c\uc5b4
+de=\ub3c5\uc77c\uc5b4
+dv=\ub514\ubca0\ud788\uc5b4
+dz=\ubd80\ud0c4\uc5b4
+ee=\uc5d0\uc6e8\uc5b4
+el=\uadf8\ub9ac\uc2a4\uc5b4
+en=\uc601\uc5b4
+eo=\uc5d0\uc2a4\ud398\ub780\ud1a0\uc5b4
+es=\uc2a4\ud398\uc778\uc5b4
+et=\uc5d0\uc2a4\ud1a0\ub2c8\uc544\uc5b4
+eu=\ubc14\uc2a4\ud06c\uc5b4
+fa=\uc774\ub780\uc5b4
+ff=\ud480\ub77c\ub2c8\uc5b4
+fi=\ud540\ub780\ub4dc\uc5b4
+fj=\ud53c\uc9c0\uc5b4
+fo=\ud398\ub85c\uc2a4\uc5b4
+fr=\ud504\ub791\uc2a4\uc5b4
+fy=\ud504\ub9ac\uc9c0\uc544\uc5b4
+ga=\uc544\uc77c\ub79c\ub4dc\uc5b4
+gd=\uc2a4\ucf54\uac24\ub9ad\uc5b4
+gl=\uac08\ub9ac\uc2dc\uc544\uc5b4
+gn=\uad6c\uc544\ub77c\ub2c8\uc5b4
+gu=\uad6c\uc790\ub77c\ud2b8\uc5b4
+gv=\ub9f9\ud06c\uc2a4\uc5b4
+ha=\ud558\uc6b0\uc790\uc5b4
+he=\ud788\ube0c\ub9ac\uc5b4
+hi=\ud78c\ub514\uc5b4
+ho=\ud788\ub9ac\ubaa8\ud22c\uc5b4
+hr=\ud06c\ub85c\uc544\ud2f0\uc544\uc5b4
+ht=\uc544\uc774\ud2f0\uc5b4
+hu=\ud5dd\uac00\ub9ac\uc5b4
+hy=\uc544\ub974\uba54\ub2c8\uc544\uc5b4
+hz=\ud5e4\ub808\ub85c\uc5b4
+ia=\uc778\ud130\ub9c1\uac70
+id=\uc778\ub3c4\ub124\uc2dc\uc544\uc5b4
+ie=\uc778\ud130\ub9c1\uac8c\uc5b4
+ig=\uc774\uadf8\ubcf4\uc5b4
+ii=\uc4f0\ucd28 \uc774\uc5b4
+ik=\uc774\ub204\ud53c\uc544\ud06c\uc5b4
+in=\uc778\ub3c4\ub124\uc2dc\uc544\uc5b4
+io=\uc774\ub3c4\uc5b4
+is=\uc544\uc774\uc2ac\ub780\ub4dc\uc5b4
+it=\uc774\ud0c8\ub9ac\uc544\uc5b4
+iu=\uc774\ub205\ud2f0\ud22c\ud2b8\uc5b4
+iw=\ud788\ube0c\ub9ac\uc5b4
+ja=\uc77c\ubcf8\uc5b4
+ji=\uc774\ub514\uc2dc\uc5b4
+jv=\uc790\ubc14\uc5b4
+ka=\uadf8\ub8e8\uc9c0\uc57c\uc5b4
+kg=\ucf69\uace0\uc5b4
+ki=\ud0a4\ucfe0\uc720\uc5b4
+kj=\ucf74\uc57c\ub9c8\uc5b4
+kk=\uce74\uc790\ud750\uc5b4
+kl=\uadf8\ub9b0\ub79c\ub4dc\uc5b4
+km=\uce84\ubcf4\ub514\uc544\uc5b4
+kn=\uce74\ub098\ub2e4\uc5b4
+ko=\ud55c\uad6d\uc5b4
+kr=\uce74\ub204\ub9ac\uc5b4
+ks=\uce74\uc288\ubbf8\ub974\uc5b4
+ku=\ud06c\ub974\ub4dc\uc5b4
+kv=\ucf54\ubbf8\uc5b4
+kw=\ucf58\uc6d4\uc5b4
+ky=\ud0a4\ub974\uae30\uc2a4\uc5b4
+la=\ub77c\ud2f4\uc5b4
+lb=\ub8e9\uc148\ubd80\ub974\ud06c\uc5b4
+lg=\uac04\ub2e4\uc5b4
+li=\ub9bc\ubc84\uadf8\uc5b4
+ln=\ub9c1\uac08\ub77c\uc5b4
+lo=\ub77c\uc624\uc5b4
+lt=\ub9ac\ud22c\uc544\ub2c8\uc544\uc5b4
+lu=\ub8e8\ubc14\uc5b4(\uce74\ud0d5\uac00)
+lv=\ub77c\ud2b8\ube44\uc544\uc5b4(\ub808\ud2b8\uc5b4)
+mg=\ub9c8\ub2e4\uac00\uc2a4\uce74\ub974\uc5b4
+mh=\ub9c8\uc15c\uc81c\ub3c4\uc5b4
+mi=\ub9c8\uc624\ub9ac\uc5b4
+mk=\ub9c8\ucf00\ub3c4\ub2c8\uc544\uc5b4
+ml=\ub9d0\ub77c\uc584\ub78c\uc5b4
+mn=\ubabd\uace8\uc5b4
+mo=\ubab0\ub2e4\ube44\uc544\uc5b4
+mr=\ub9c8\ub77c\ud2f0\uc5b4
+ms=\ub9d0\ub808\uc774\uc5b4
+mt=\ubab0\ud0c0\uc5b4
+my=\ubc84\ub9c8\uc5b4
+na=\ub098\uc6b0\ub8e8\uc5b4
+nb=\ub178\ub974\uc6e8\uc774\uc5b4(\ubd81\ubab0)
+nd=\ubd81\ubd80 \uc740\ub370\ubca8\ub808
+ne=\ub124\ud314\uc5b4
+ng=\uc740\ub3d9\uac00\uc5b4
+nl=\ub124\ub35c\ub780\ub4dc\uc5b4
+nn=\ub178\ub974\uc6e8\uc774\uc5b4(\ub2c8\ub178\ub974\uc2a4\ud06c)
+no=\ub178\ub974\uc6e8\uc774\uc5b4
+nr=\ub0a8\ubd80 \uc740\ub370\ubca8\ub808
+nv=\ub098\ubc14\ud638\uc5b4
+ny=\ub2c8\uc580\uc790\uc5b4
+oc=\uc625\uc2dc\ud2b8\uc5b4
+oj=\uc624\uc9c0\ube0c\uc640\uc5b4
+om=\uc624\ub85c\ubaa8\uc5b4(\uc544\ud310)
+or=\uc624\ub9ac\uc57c\uc5b4
+os=\uc624\uc138\ud2f0\uc548\uc5b4
+pa=\ud380\uc7a1\uc5b4
+pi=\ud314\ub9ac\uc5b4
+pl=\ud3f4\ub780\ub4dc\uc5b4
+ps=\ud30c\uc2dc\ud1a0\uc5b4(\ud478\uc2dc\ud1a0)
+pt=\ud3ec\ub974\ud22c\uce7c\uc5b4
+qu=\ucf00\ucd94\uc544\uc5b4
+rm=\ub808\ud1a0\ub85c\ub9cc\uc5b4
+rn=\ubc18\ud22c\uc5b4(\ubd80\ub8ec\ub514)
+ro=\ub8e8\ub9c8\ub2c8\uc544\uc5b4
+ru=\ub7ec\uc2dc\uc544\uc5b4
+rw=\ubc18\ud22c\uc5b4(\ub8e8\uc644\ub2e4)
+sa=\uc0b0\uc2a4\ud06c\ub9ac\ud2b8\uc5b4
+sc=\uc0ac\ub974\ub514\ub2c8\uc544\uc5b4
+sd=\uc2e0\ub514\uc5b4
+se=\ubd81\ubd80 \uc0ac\ubbf8\uc5b4
+sg=\uc0b0\uace0\uc5b4
+si=\uc2a4\ub9ac\ub791\uce74\uc5b4
+sk=\uc2ac\ub85c\ubc14\ud0a4\uc544\uc5b4
+sl=\uc2ac\ub85c\ubca0\ub2c8\uc544\uc5b4
+sm=\uc0ac\ubaa8\uc544\uc5b4
+sn=\uc1fc\ub098\uc5b4
+so=\uc18c\ub9d0\ub9ac\uc544\uc5b4
+sq=\uc54c\ubc14\ub2c8\uc544\uc5b4
+sr=\uc138\ub974\ube44\uc544\uc5b4
+ss=\uc2dc\uc2a4\uc640\ud2f0\uc5b4
+st=\uc138\uc18c\ud1a0\uc5b4
+su=\uc21c\ub2e8\uc5b4
+sv=\uc2a4\uc6e8\ub374\uc5b4
+sw=\uc2a4\uc640\ud790\ub9ac\uc5b4
+ta=\ud0c0\ubc00\uc5b4
+te=\ud154\ub8e8\uad6c\uc5b4
+tg=\ud0c0\uc9c0\ud0a4\uc2a4\ud0c4\uc5b4
+th=\ud0dc\uad6d\uc5b4
+ti=\ud2f0\uadf8\ub9ac\ub0d0\uc5b4
+tk=\ud22c\ub974\ud06c\uba58\uc5b4
+tl=\ud0c0\uac08\ub85c\uadf8\uc5b4
+tn=\uc138\uce20\uc640\ub098\uc5b4
+to=\ud1b5\uac00\uc5b4
+tr=\ud130\ud0a4\uc5b4
+ts=\ud1b5\uac00\uc5b4
+tt=\ud0c0\ud0c0\ub974\uc5b4
+tw=\ud2b8\uc704\uc5b4
+ty=\ud0c0\ud788\ud2f0\uc548\uc5b4
+ug=\uc704\uad6c\ub974\uc5b4
+uk=\uc6b0\ud06c\ub77c\uc774\ub098\uc5b4
+ur=\uc6b0\ub974\ub450\uc5b4
+uz=\uc6b0\uc988\ubca0\ud06c\uc5b4
+ve=\ubca4\ub2e4\uc5b4
+vi=\ubca0\ud2b8\ub0a8\uc5b4
+vo=\ubcfc\ub77c\ud4cc\ud06c\uc5b4
+wa=\uc648\ub8ec\uc5b4
+wo=\uc62c\ub85c\ud504\uc5b4
+xh=\ubc18\ud22c\uc5b4(\ub0a8\uc544\ud504\ub9ac\uce74)
+yi=\uc774\ub514\uc2dc\uc5b4
+yo=\uc694\ub8e8\ubc14\uc5b4
+za=\uc8fc\uc559\uc5b4
+zh=\uc911\uad6d\uc5b4
+zu=\uc904\ub8e8\uc5b4
 
 # key is ISO 639.2 language code
 aar=\uC544\uD30C\uB974\uC5B4
@@ -541,7 +540,7 @@
 nic=\uB2C8\uCE74\uB77C\uACFC \uCF54\uB974\uB3C4\uBC14
 niu=\uB2C8\uC6E8\uC5B8\uC5B4
 nno=\uB178\uB974\uC6E8\uC774\uC5B4(\uB2C8\uB178\uB974\uC2A4\uD06C)
-nob=\uB178\uB974\uC6E8\uC774\uC5B4(\uBCF5\uB9D0)
+nob=\uB178\uB974\uC6E8\uC774\uC5B4(\uBD81\uBAB0)
 nog=\uB178\uAC00\uC774\uC5B4
 non=\uB178\uB974\uC6E8\uC774, \uACE0\uB300
 nor=\uB178\uB974\uC6E8\uC774\uC5B4
@@ -868,256 +867,256 @@
 # country names
 # key is ISO 3166 country code
 
-AD=\uC548\uB3C4\uB77C
-AE=\uC544\uB78D\uC5D0\uBBF8\uB9AC\uD2B8
-AF=\uC544\uD504\uAC00\uB2C8\uC2A4\uD0C4
-AG=\uC564\uD2F0\uAC00 \uBC14\uBD80\uB2E4
-AI=\uC548\uAE38\uB77C
-AL=\uC54C\uBC14\uB2C8\uC544
-AM=\uC544\uB974\uBA54\uB2C8\uC544
-AN=\uB124\uB35C\uB780\uB4DC\uB839 \uC564\uD2F8\uB9AC\uC2A4
-AO=\uC559\uACE8\uB77C
-AQ=\uB0A8\uADF9
-AR=\uC544\uB974\uD5E8\uD2F0\uB098
-AS=\uBBF8\uAD6D\uB839 \uC0AC\uBAA8\uC544
-AT=\uC624\uC2A4\uD2B8\uB9AC\uC544
-AU=\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544
-AW=\uC544\uB8E8\uBC14
-AX=\uC62C\uB780\uB4DC \uC81C\uB3C4
-AZ=\uC544\uC81C\uB974\uBC14\uC774\uC794
-BA=\uBCF4\uC2A4\uB2C8\uC544 \uD5E4\uB974\uCCB4\uACE0\uBE44\uB098
-BB=\uBC14\uBCA0\uC774\uB3C4\uC2A4
-BD=\uBC29\uAE00\uB77C\uB370\uC2DC
-BE=\uBCA8\uAE30\uC5D0
-BF=\uBD80\uB974\uD0A4\uB098\uD30C\uC18C
-BG=\uBD88\uAC00\uB9AC\uC544
-BH=\uBC14\uB808\uC778
-BI=\uBD80\uB8EC\uB514
-BJ=\uBCA0\uB139
+AD=\uc548\ub3c4\ub77c
+AE=\uc544\ub78d\uc5d0\ubbf8\ub9ac\ud2b8
+AF=\uc544\ud504\uac00\ub2c8\uc2a4\ud0c4
+AG=\uc564\ud2f0\uac00 \ubc14\ubd80\ub2e4
+AI=\uc548\uae38\ub77c
+AL=\uc54c\ubc14\ub2c8\uc544
+AM=\uc544\ub974\uba54\ub2c8\uc544
+AN=\ub124\ub35c\ub780\ub4dc\ub839 \uc548\ud2f8\ub808\uc2a4
+AO=\uc559\uace8\ub77c
+AQ=\ub0a8\uadf9
+AR=\uc544\ub974\ud5e8\ud2f0\ub098
+AS=\ubbf8\uad6d\ub839 \uc0ac\ubaa8\uc544
+AT=\uc624\uc2a4\ud2b8\ub9ac\uc544
+AU=\uc624\uc2a4\ud2b8\ub808\uc77c\ub9ac\uc544
+AW=\uc544\ub8e8\ubc14
+AX=\uc62c\ub780\ub4dc \uc81c\ub3c4
+AZ=\uc544\uc81c\ub974\ubc14\uc774\uc794
+BA=\ubcf4\uc2a4\ub2c8\uc544 \ud5e4\ub974\uccb4\uace0\ube44\ub098
+BB=\ubc14\ubca0\uc774\ub3c4\uc2a4
+BD=\ubc29\uae00\ub77c\ub370\uc2dc
+BE=\ubca8\uae30\uc5d0
+BF=\ubd80\ub974\ud0a4\ub098\ud30c\uc18c
+BG=\ubd88\uac00\ub9ac\uc544
+BH=\ubc14\ub808\uc778
+BI=\ubd80\ub8ec\ub514
+BJ=\ubca0\ub139
 BL=\uC0DD \uBC14\uB974\uD154\uB808\uBBF8
-BM=\uBC84\uBBA4\uB2E4
-BN=\uBE0C\uB8E8\uB098\uC774
-BO=\uBCFC\uB9AC\uBE44\uC544
+BM=\ubc84\ubba4\ub2e4
+BN=\ube0c\ub8e8\ub098\uc774
+BO=\ubcfc\ub9ac\ube44\uc544
 BQ=\uBCF4\uB124\uB974, \uC2E0\uD2B8\uC720\uC2A4\uD0C0\uD2F0\uC6B0\uC2A4, \uC0AC\uBC14 \uC81C\uB3C4
-BR=\uBE0C\uB77C\uC9C8
-BS=\uBC14\uD558\uB9C8
-BT=\uBD80\uD0C4
-BV=\uBD80\uBCA0\uC774 \uC12C
-BW=\uBCF4\uCE20\uC640\uB098
-BY=\uBCA8\uB77C\uB8E8\uC2A4
-BZ=\uBCA8\uB9AC\uC988
-CA=\uCE90\uB098\uB2E4
-CC=\uCF54\uCF54\uC2A4 \uAD70\uB3C4
-CD=\uCF69\uACE0 \uBBFC\uC8FC \uACF5\uD654\uAD6D
-CF=\uC911\uC559 \uC544\uD504\uB9AC\uCE74
-CG=\uCF69\uACE0
-CH=\uC2A4\uC704\uC2A4
-CI=\uCF54\uD2B8\uB514\uBD80\uC544\uB974
-CK=\uCFE1 \uC81C\uB3C4
-CL=\uCE60\uB808
-CM=\uCE74\uBA54\uB8EC
-CN=\uC911\uAD6D
-CO=\uCF5C\uB86C\uBE44\uC544
-CR=\uCF54\uC2A4\uD0C0\uB9AC\uCE74
-CS=\uC138\uB974\uBE44\uC544 \uBAAC\uD14C\uB124\uADF8\uB85C(\uC720\uACE0\uC2AC\uB77C\uBE44\uC544)
-CU=\uCFE0\uBC14
-CV=\uAE4C\uBF40\uBCA0\uB974\uB370
+BR=\ube0c\ub77c\uc9c8
+BS=\ubc14\ud558\ub9c8
+BT=\ubd80\ud0c4
+BV=\ubd80\ubca0\uc774 \uc12c
+BW=\ubcf4\uce20\uc640\ub098
+BY=\ubca8\ub77c\ub8e8\uc2a4
+BZ=\ubca8\ub9ac\uc988
+CA=\uce90\ub098\ub2e4
+CC=\ucf54\ucf54\uc2a4 \uad70\ub3c4
+CD=\ucf69\uace0 \ubbfc\uc8fc \uacf5\ud654\uad6d
+CF=\uc911\uc559 \uc544\ud504\ub9ac\uce74
+CG=\ucf69\uace0
+CH=\uc2a4\uc704\uc2a4
+CI=\ucf54\ud2b8\ub514\ubd80\uc640\ub974
+CK=\ucfe1 \uc81c\ub3c4
+CL=\uce60\ub808
+CM=\uce74\uba54\ub8ec
+CN=\uc911\uad6d
+CO=\ucf5c\ub86c\ube44\uc544
+CR=\ucf54\uc2a4\ud0c0\ub9ac\uce74
+CS=\uc138\ub974\ube44\uc544 \ubaac\ud14c\ub124\uadf8\ub85c(\uc720\uace0\uc2ac\ub77c\ube44\uc544)
+CU=\ucfe0\ubc14
+CV=\uae4c\ubf40\ubca0\ub974\ub370
 CW=\uD034\uB77C\uC18C
-CX=\uD06C\uB9AC\uC2A4\uB9C8\uC2A4 \uC12C
-CY=\uC0AC\uC774\uD504\uB7EC\uC2A4
-CZ=\uCCB4\uCF54
-DE=\uB3C5\uC77C
-DJ=\uC9C0\uBD80\uD2F0
-DK=\uB374\uB9C8\uD06C
-DM=\uB3C4\uBBF8\uB2C8\uCE74
-DO=\uB3C4\uBBF8\uB2C8\uCE74 \uACF5\uD654\uAD6D
-DZ=\uC54C\uC81C\uB9AC
-EC=\uC5D0\uCFE0\uC544\uB3C4\uB974
-EE=\uC5D0\uC2A4\uD1A0\uB2C8\uC544
-EG=\uC774\uC9D1\uD2B8
-EH=\uC11C\uC0AC\uD558\uB77C
-ER=\uC5D0\uB9AC\uD2B8\uB9AC\uC544
-ES=\uC2A4\uD398\uC778
-ET=\uC774\uB514\uC624\uD53C\uC544
-FI=\uD540\uB780\uB4DC
-FJ=\uD53C\uC9C0
-FK=\uD3EC\uD074\uB79C\uB4DC \uC81C\uB3C4
-FM=\uB9C8\uC774\uD06C\uB85C\uB124\uC2DC\uC544
-FO=\uD398\uB85C \uC81C\uB3C4
-FR=\uD504\uB791\uC2A4
-GA=\uAC00\uBD09
-GB=\uC601\uAD6D
-GD=\uADF8\uB808\uB098\uB2E4
-GE=\uADF8\uB8E8\uC9C0\uC57C
-GF=\uD504\uB791\uC2A4\uB839 \uAE30\uC544\uB098
+CX=\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \uc12c
+CY=\uc0ac\uc774\ud504\ub7ec\uc2a4
+CZ=\uccb4\ucf54
+DE=\ub3c5\uc77c
+DJ=\uc9c0\ubd80\ud2f0
+DK=\ub374\ub9c8\ud06c
+DM=\ub3c4\ubbf8\ub2c8\uce74
+DO=\ub3c4\ubbf8\ub2c8\uce74 \uacf5\ud654\uad6d
+DZ=\uc54c\uc81c\ub9ac
+EC=\uc5d0\ucfe0\uc544\ub3c4\ub974
+EE=\uc5d0\uc2a4\ud1a0\ub2c8\uc544
+EG=\uc774\uc9d1\ud2b8
+EH=\uc11c\uc0ac\ud558\ub77c
+ER=\uc5d0\ub9ac\ud2b8\ub9ac\uc544
+ES=\uc2a4\ud398\uc778
+ET=\uc774\ub514\uc624\ud53c\uc544
+FI=\ud540\ub780\ub4dc
+FJ=\ud53c\uc9c0
+FK=\ud3ec\ud074\ub79c\ub4dc \uc81c\ub3c4
+FM=\ub9c8\uc774\ud06c\ub85c\ub124\uc2dc\uc544
+FO=\ud398\ub85c \uc81c\ub3c4
+FR=\ud504\ub791\uc2a4
+GA=\uac00\ubd09
+GB=\uc601\uad6d
+GD=\uadf8\ub808\ub098\ub2e4
+GE=\uadf8\ub8e8\uc9c0\uc57c
+GF=\ud504\ub791\uc2a4\ub839 \uae30\uc544\ub098
 GG=\uAC74\uC9C0
-GH=\uAC00\uB098
-GI=\uC9C0\uBE0C\uB864\uD130
-GL=\uADF8\uB9B0\uB79C\uB4DC
-GM=\uAC10\uBE44\uC544
-GN=\uAE30\uB2C8
-GP=\uACFC\uB2EC\uB85C\uD504
-GQ=\uC801\uB3C4 \uAE30\uB2C8
-GR=\uADF8\uB9AC\uC2A4
-GS=\uC0AC\uC6B0\uC2A4 \uC870\uC9C0\uC544 \uBC0F \uC0AC\uC6B0\uC2A4 \uC0CC\uB4DC\uC704\uCE58 \uC81C\uB3C4
-GT=\uACFC\uD14C\uB9D0\uB77C
-GU=\uAD0C
-GW=\uAE30\uB124\uBE44\uC3D8
-GY=\uAC00\uC774\uC544\uB098
-HK=\uD64D\uCF69
-HM=\uD5C8\uB4DC \uC12C \uBC0F \uB9E5\uB3C4\uB110\uB4DC \uC81C\uB3C4
-HN=\uC628\uB450\uB77C\uC2A4
-HR=\uD06C\uB85C\uC544\uD2F0\uC544
-HT=\uD558\uC774\uD2F0
-HU=\uD5DD\uAC00\uB9AC
-ID=\uC778\uB3C4\uB124\uC2DC\uC544
-IE=\uC544\uC77C\uB79C\uB4DC
-IL=\uC774\uC2A4\uB77C\uC5D8
+GH=\uac00\ub098
+GI=\uc9c0\ube0c\ub864\ud130
+GL=\uadf8\ub9b0\ub79c\ub4dc
+GM=\uac10\ube44\uc544
+GN=\uae30\ub2c8
+GP=\uacfc\ub2ec\ub85c\ud504
+GQ=\uc801\ub3c4 \uae30\ub2c8
+GR=\uadf8\ub9ac\uc2a4
+GS=\uc0ac\uc6b0\uc2a4 \uc870\uc9c0\uc544 \ubc0f \uc0ac\uc6b0\uc2a4 \uc0cc\ub4dc\uc704\uce58 \uc81c\ub3c4
+GT=\uacfc\ud14c\ub9d0\ub77c
+GU=\uad0c
+GW=\uae30\ub124\ube44\uc3d8
+GY=\uac00\uc774\uc544\ub098
+HK=\ud64d\ucf69
+HM=\ud5c8\ub4dc \uc12c \ubc0f \ub9e5\ub3c4\ub110\ub4dc \uc81c\ub3c4
+HN=\uc628\ub450\ub77c\uc2a4
+HR=\ud06c\ub85c\uc544\ud2f0\uc544
+HT=\ud558\uc774\ud2f0
+HU=\ud5dd\uac00\ub9ac
+ID=\uc778\ub3c4\ub124\uc2dc\uc544
+IE=\uc544\uc77c\ub79c\ub4dc
+IL=\uc774\uc2a4\ub77c\uc5d8
 IM=\uB9E8 \uC12C
-IN=\uC778\uB3C4
-IO=\uC601\uC778\uB3C4 \uC81C\uB3C4
-IQ=\uC774\uB77C\uD06C
-IR=\uC774\uB780
-IS=\uC544\uC774\uC2AC\uB780\uB4DC
-IT=\uC774\uD0C8\uB9AC\uC544
+IN=\uc778\ub3c4
+IO=\uc601\uc778\ub3c4 \uc81c\ub3c4
+IQ=\uc774\ub77c\ud06c
+IR=\uc774\ub780
+IS=\uc544\uc774\uc2ac\ub780\ub4dc
+IT=\uc774\ud0c8\ub9ac\uc544
 JE=\uC800\uC9C0
-JM=\uC790\uBA54\uC774\uCE74
-JO=\uC694\uB974\uB2E8
-JP=\uC77C\uBCF8
-KE=\uCF00\uB0D0
-KG=\uD0A4\uB974\uAE30\uC2A4\uC2A4\uD0C4
-KH=\uCE84\uBCF4\uB514\uC544
-KI=\uD0A4\uB9AC\uBC14\uC2DC
-KM=\uCF54\uBAA8\uB974
-KN=\uC138\uC778\uD2B8 \uD06C\uB9AC\uC2A4\uD1A0\uD37C \uB2C8\uBE44\uC2A4
-KP=\uBD81\uD55C
-KR=\uB300\uD55C\uBBFC\uAD6D
-KW=\uCFE0\uC6E8\uC774\uD2B8
-KY=\uCF00\uC774\uB9E8 \uC81C\uB3C4
-KZ=\uCE74\uC790\uD750\uC2A4\uD0C4
-LA=\uB77C\uC624\uC2A4
-LB=\uB808\uBC14\uB17C
-LC=\uC138\uC778\uD2B8 \uB8E8\uC2DC\uC544
-LI=\uB9AC\uD788\uD150\uC288\uD0C0\uC778
-LK=\uC2A4\uB9AC\uB791\uCE74
-LR=\uB77C\uC774\uBCA0\uB9AC\uC544
-LS=\uB808\uC18C\uD1A0
-LT=\uB9AC\uD22C\uC544\uB2C8\uC544
-LU=\uB8E9\uC148\uBD80\uB974\uD06C
-LV=\uB77C\uD2B8\uBE44\uC544
-LY=\uB9AC\uBE44\uC544
-MA=\uBAA8\uB85C\uCF54
-MC=\uBAA8\uB098\uCF54
-MD=\uBAB0\uB3C4\uBC14
-ME=\uBAAC\uD14C\uB124\uADF8\uB85C
+JM=\uc790\uba54\uc774\uce74
+JO=\uc694\ub974\ub2e8
+JP=\uc77c\ubcf8
+KE=\ucf00\ub0d0
+KG=\ud0a4\ub974\uae30\uc2a4\uc2a4\ud0c4
+KH=\uce84\ubcf4\ub514\uc544
+KI=\ud0a4\ub9ac\ubc14\uc2dc
+KM=\ucf54\ubaa8\ub974
+KN=\uc138\uc778\ud2b8 \ud06c\ub9ac\uc2a4\ud1a0\ud37c \ub2c8\ube44\uc2a4
+KP=\ubd81\ud55c
+KR=\ub300\ud55c\ubbfc\uad6d
+KW=\ucfe0\uc6e8\uc774\ud2b8
+KY=\ucf00\uc774\ub9e8 \uc81c\ub3c4
+KZ=\uce74\uc790\ud750\uc2a4\ud0c4
+LA=\ub77c\uc624\uc2a4
+LB=\ub808\ubc14\ub17c
+LC=\uc138\uc778\ud2b8 \ub8e8\uc2dc\uc544
+LI=\ub9ac\ud788\ud150\uc288\ud0c0\uc778
+LK=\uc2a4\ub9ac\ub791\uce74
+LR=\ub77c\uc774\ubca0\ub9ac\uc544
+LS=\ub808\uc18c\ud1a0
+LT=\ub9ac\ud22c\uc544\ub2c8\uc544
+LU=\ub8e9\uc148\ubd80\ub974\ud06c
+LV=\ub77c\ud2b8\ube44\uc544
+LY=\ub9ac\ube44\uc544
+MA=\ubaa8\ub85c\ucf54
+MC=\ubaa8\ub098\ucf54
+MD=\ubab0\ub3c4\ubc14
+ME=\ubaac\ud14c\ub124\uadf8\ub85c
 MF=\uC0DD \uB9C8\uB974\uD0F1
-MG=\uB9C8\uB2E4\uAC00\uC2A4\uCE74\uB974
-MH=\uB9C8\uC15C \uC81C\uB3C4
-MK=\uB9C8\uCF00\uB3C4\uB2C8\uC544
-ML=\uB9D0\uB9AC
-MM=\uBBF8\uC580\uB9C8
-MN=\uBABD\uACE8
-MO=\uB9C8\uCE74\uC624
-MP=\uBD81\uB9C8\uB9AC\uC544\uB098 \uC81C\uB3C4
-MQ=\uB9D0\uD2F0\uB2C8\uD06C
-MR=\uBAA8\uB9AC\uD0C0\uB2C8
-MS=\uBAAC\uD2B8\uC138\uB77C\uD2B8
-MT=\uBAB0\uD0C0
-MU=\uBAA8\uB9AC\uC154\uC2A4
-MV=\uBAB0\uB514\uBE0C
-MW=\uB9D0\uB77C\uC704
-MX=\uBA55\uC2DC\uCF54
-MY=\uB9D0\uB808\uC774\uC9C0\uC544
-MZ=\uBAA8\uC7A0\uBE44\uD06C
-NA=\uB098\uBBF8\uBE44\uC544
-NC=\uB274 \uCE7C\uB808\uB3C4\uB2C8\uC544
-NE=\uB2C8\uC81C\uB974
-NF=\uB178\uD37D \uC12C
-NG=\uB098\uC774\uC9C0\uB9AC\uC544
-NI=\uB2C8\uCE74\uB77C\uACFC
-NL=\uB124\uB35C\uB780\uB4DC
-NO=\uB178\uB974\uC6E8\uC774
-NP=\uB124\uD314
-NR=\uB098\uC6B0\uB8E8
-NU=\uB2C8\uC6B0\uC5D0
-NZ=\uB274\uC9C8\uB79C\uB4DC
-OM=\uC624\uB9CC
-PA=\uD30C\uB098\uB9C8
-PE=\uD398\uB8E8
-PF=\uD504\uB791\uC2A4\uB839 \uD3F4\uB9AC\uB124\uC2DC\uC544
-PG=\uD30C\uD478\uC544\uB274\uAE30\uB2C8
-PH=\uD544\uB9AC\uD540
-PK=\uD30C\uD0A4\uC2A4\uD0C4
-PL=\uD3F4\uB780\uB4DC
-PM=\uC138\uC778\uD2B8 \uD53C\uC5D0\uB974 \uBBF8\uCF08\uB860
-PN=\uD54F\uCF00\uC5B8 \uC81C\uB3C4
-PR=\uD478\uC5D0\uB974\uD1A0\uB9AC\uCF54
-PS=\uD314\uB808\uC2A4\uD0C0\uC778
-PT=\uD3EC\uB974\uD22C\uCE7C
-PW=\uD314\uB77C\uC6B0
-PY=\uD30C\uB77C\uACFC\uC774
-QA=\uCE74\uD0C0\uB974
-RE=\uB9AC\uC720\uB2C8\uC5B8
-RO=\uB8E8\uB9C8\uB2C8\uC544
-RS=\uC138\uB974\uBE44\uC544
-RU=\uB7EC\uC2DC\uC544
-RW=\uB974\uC644\uB2E4
-SA=\uC0AC\uC6B0\uB514\uC544\uB77C\uBE44\uC544
-SB=\uC194\uB85C\uBAAC \uC81C\uB3C4
-SC=\uC250\uC774\uC258
-SD=\uC218\uB2E8
-SE=\uC2A4\uC6E8\uB374
-SG=\uC2F1\uAC00\uD3EC\uB974
-SH=\uC138\uC778\uD2B8 \uD5EC\uB808\uB098
-SI=\uC2AC\uB85C\uBCA0\uB2C8\uC544
-SJ=\uC2A4\uBC1C\uBC14\uB974 \uBC0F \uC580\uB9C8\uC6EC
-SK=\uC2AC\uB85C\uBC14\uD0A4\uC544
-SL=\uC2DC\uC5D0\uB77C\uB9AC\uC628
-SM=\uC0B0\uB9C8\uB9AC\uB178
-SN=\uC138\uB124\uAC08
-SO=\uC18C\uB9D0\uB9AC\uC544
-SR=\uC218\uB9AC\uB0A8
-ST=\uC0C1\uD22C\uBA54 \uD504\uB9B0\uC2DC\uD398
-SV=\uC5D8\uC0B4\uBC14\uB3C4\uB974
+MG=\ub9c8\ub2e4\uac00\uc2a4\uce74\ub974
+MH=\ub9c8\uc15c \uc81c\ub3c4
+MK=\ub9c8\ucf00\ub3c4\ub2c8\uc544\uc5b4
+ML=\ub9d0\ub9ac
+MM=\ubbf8\uc580\ub9c8
+MN=\ubabd\uace8
+MO=\ub9c8\uce74\uc624
+MP=\ubd81\ub9c8\ub9ac\uc544\ub098 \uc81c\ub3c4
+MQ=\ub9d0\ud2f0\ub2c8\ud06c
+MR=\ubaa8\ub9ac\ud0c0\ub2c8
+MS=\ubaac\ud2b8\uc138\ub77c\ud2b8
+MT=\ubab0\ud0c0
+MU=\ubaa8\ub9ac\uc154\uc2a4
+MV=\ubab0\ub514\ube0c
+MW=\ub9d0\ub77c\uc704
+MX=\uba55\uc2dc\ucf54
+MY=\ub9d0\ub808\uc774\uc9c0\uc544
+MZ=\ubaa8\uc7a0\ube44\ud06c
+NA=\ub098\ubbf8\ube44\uc544
+NC=\ub274 \uce7c\ub808\ub3c4\ub2c8\uc544
+NE=\ub2c8\uc81c\ub974
+NF=\ub178\ud37d \uc12c
+NG=\ub098\uc774\uc9c0\ub9ac\uc544
+NI=\ub2c8\uce74\ub77c\uacfc
+NL=\ub124\ub35c\ub780\ub4dc
+NO=\ub178\ub974\uc6e8\uc774
+NP=\ub124\ud314
+NR=\ub098\uc6b0\ub8e8
+NU=\ub2c8\uc6b0\uc5d0
+NZ=\ub274\uc9c8\ub79c\ub4dc
+OM=\uc624\ub9cc
+PA=\ud30c\ub098\ub9c8
+PE=\ud398\ub8e8
+PF=\ud504\ub791\uc2a4\ub839 \ud3f4\ub9ac\ub124\uc2dc\uc544
+PG=\ud30c\ud478\uc544\ub274\uae30\ub2c8
+PH=\ud544\ub9ac\ud540
+PK=\ud30c\ud0a4\uc2a4\ud0c4
+PL=\ud3f4\ub780\ub4dc
+PM=\uc138\uc778\ud2b8 \ud53c\uc5d0\ub974 \ubbf8\ucf08\ub860
+PN=\ud54f\ucf00\uc5b8 \uc81c\ub3c4
+PR=\ud478\uc5d0\ub974\ud1a0\ub9ac\ucf54
+PS=\ud314\ub808\uc2a4\ud0c0\uc778
+PT=\ud3ec\ub974\ud2b8\uce7c
+PW=\ud314\ub77c\uc6b0
+PY=\ud30c\ub77c\uacfc\uc774
+QA=\uce74\ud0c0\ub974
+RE=\ub9ac\uc720\ub2c8\uc5b8
+RO=\ub8e8\ub9c8\ub2c8\uc544
+RS=\uc138\ub974\ube44\uc544
+RU=\ub7ec\uc2dc\uc544
+RW=\ub974\uc644\ub2e4
+SA=\uc0ac\uc6b0\ub514\uc544\ub77c\ube44\uc544
+SB=\uc194\ub85c\ubaac \uc81c\ub3c4
+SC=\uc250\uc774\uc258
+SD=\uc218\ub2e8
+SE=\uc2a4\uc6e8\ub374
+SG=\uc2f1\uac00\ud3ec\ub974
+SH=\uc138\uc778\ud2b8 \ud5ec\ub808\ub098
+SI=\uc2ac\ub85c\ubca0\ub2c8\uc544
+SJ=\uc2a4\ubc1c\ubc14\ub974 \ubc0f \uc580\ub9c8\uc6ec
+SK=\uc2ac\ub85c\ubc14\ud0a4\uc544
+SL=\uc2dc\uc5d0\ub77c\ub9ac\uc628
+SM=\uc0b0\ub9c8\ub9ac\ub178
+SN=\uc138\ub124\uac08
+SO=\uc18c\ub9d0\ub9ac\uc544
+SR=\uc218\ub9ac\ub0a8
+ST=\uc0c1\ud22c\uba54 \ud504\ub9b0\uc2dc\ud398
+SV=\uc5d8\uc0b4\ubc14\ub3c4\ub974
 SX=\uC2E0\uD2B8\uB9C8\uB974\uD150(\uB124\uB35C\uB780\uB4DC\uB839)
-SY=\uC2DC\uB9AC\uC544
-SZ=\uC2A4\uC640\uC9C8\uB79C\uB4DC
-TC=\uD130\uD06C\uC2A4 \uCF00\uC774\uCEE4\uC2A4 \uC81C\uB3C4
-TD=\uCC28\uB4DC
-TF=\uD504\uB791\uC2A4 \uB0A8\uBD80 \uC9C0\uBC29
-TG=\uD1A0\uACE0
-TH=\uD0DC\uAD6D
-TJ=\uD0C0\uC9C0\uD0A4\uC2A4\uD0C4
-TK=\uD1A0\uCF08\uB77C\uC6B0\uC81C\uB3C4
-TL=\uB3D9\uD2F0\uBAA8\uB974
-TM=\uD22C\uB974\uD06C\uBA54\uB2C8\uC2A4\uD0C4
-TN=\uD280\uB2C8\uC9C0
-TO=\uD1B5\uAC00
-TR=\uD130\uD0A4
-TT=\uD2B8\uB9AC\uB2C8\uB2E4\uB4DC \uD1A0\uBC14\uACE0
-TV=\uD22C\uBC1C\uB8E8
-TW=\uB300\uB9CC
-TZ=\uD0C4\uC790\uB2C8\uC544
-UA=\uC6B0\uD06C\uB77C\uC774\uB098
-UG=\uC6B0\uAC04\uB2E4
-UM=\uBBF8\uAD6D\uB839 \uAD70\uB3C4
-US=\uBBF8\uAD6D
-UY=\uC6B0\uB8E8\uACFC\uC774
-UZ=\uC6B0\uC988\uBCA0\uD0A4\uC2A4\uD0C4
-VA=\uBC14\uD2F0\uCE78
-VC=\uC138\uC778\uD2B8 \uBE48\uC13C\uD2B8 \uADF8\uB808\uB098\uB518\uC2A4
-VE=\uBCA0\uB124\uC218\uC5D8\uB77C
-VG=\uC601\uAD6D\uB839 \uBC84\uC9C4 \uC544\uC77C\uB79C\uB4DC
-VI=\uBBF8\uAD6D\uB839 \uBC84\uC9C4 \uC544\uC77C\uB79C\uB4DC
-VN=\uBCA0\uD2B8\uB0A8
-VU=\uBC14\uB204\uC544\uD22C
-WF=\uC70C\uB9AC\uC2A4 \uD478\uD22C\uB098
-WS=\uC0AC\uBAA8\uC544
-YE=\uC608\uBA58
-YT=\uB9C8\uC694\uD2F0
-ZA=\uB0A8\uC544\uD504\uB9AC\uCE74
-ZM=\uC7A0\uBE44\uC544
-ZW=\uC9D0\uBC14\uBE0C\uC6E8
+SY=\uc2dc\ub9ac\uc544
+SZ=\uc2a4\uc640\uc9c8\ub79c\ub4dc
+TC=\ud130\ud06c\uc2a4 \ucf00\uc774\ucee4\uc2a4 \uc81c\ub3c4
+TD=\ucc28\ub4dc
+TF=\ud504\ub791\uc2a4 \ub0a8\ubd80 \uc9c0\ubc29
+TG=\ud1a0\uace0
+TH=\ud0dc\uad6d
+TJ=\ud0c0\uc9c0\ud0a4\uc2a4\ud0c4
+TK=\ud1a0\ucf08\ub77c\uc6b0
+TL=\ub3d9\ud2f0\ubaa8\ub974
+TM=\ud22c\ub974\ud06c\uba54\ub2c8\uc2a4\ud0c4
+TN=\ud280\ub2c8\uc9c0
+TO=\ud1b5\uac00
+TR=\ud130\ud0a4
+TT=\ud2b8\ub9ac\ub2c8\ub2e4\ub4dc \ud1a0\ubc14\uace0
+TV=\ud22c\ubc1c\ub8e8
+TW=\ub300\ub9cc
+TZ=\ud0c4\uc790\ub2c8\uc544
+UA=\uc6b0\ud06c\ub77c\uc774\ub098
+UG=\uc6b0\uac04\ub2e4
+UM=\ubbf8\uad6d\ub839 \uad70\ub3c4
+US=\ubbf8\uad6d
+UY=\uc6b0\ub8e8\uacfc\uc774
+UZ=\uc6b0\uc988\ubca0\ud0a4\uc2a4\ud0c4
+VA=\ubc14\ud2f0\uce78
+VC=\uc138\uc778\ud2b8 \ube48\uc13c\ud2b8 \uadf8\ub808\ub098\ub518\uc2a4
+VE=\ubca0\ub124\uc218\uc5d8\ub77c
+VG=\uc601\uad6d\ub839 \ubc84\uc9c4 \uc544\uc77c\ub79c\ub4dc
+VI=\ubbf8\uad6d\ub839 \ubc84\uc9c4 \uc544\uc77c\ub79c\ub4dc
+VN=\ubca0\ud2b8\ub0a8
+VU=\ubc14\ub204\uc544\ud22c
+WF=\uc70c\ub9ac\uc2a4 \ud478\ud22c\ub098
+WS=\uc0ac\ubaa8\uc544
+YE=\uc608\uba58
+YT=\ub9c8\uc694\ud2f0
+ZA=\ub0a8\uc544\ud504\ub9ac\uce74
+ZM=\uc7a0\ube44\uc544
+ZW=\uc9d0\ubc14\ube0c\uc6e8
 
 # territory names
 # key is UN M.49 country and area code
@@ -1152,19 +1151,3 @@
 154=\uBD81\uC720\uB7FD
 155=\uC11C\uC720\uB7FD
 419=\uB77C\uD2F4 \uC544\uBA54\uB9AC\uCE74 \uBC0F \uCE74\uB9AC\uBE0C \uD574 \uC81C\uB3C4
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=\uC720\uB85C
-%%B=\uBCF5\uB9D0
-%%NY=\uB2C8\uB178\uB974\uC2A4\uD06C
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,1170 +1,54 @@
 #
-# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code 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
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
+# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
 #
 
-# (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
-# (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
 #
-# The original version of this source code and documentation
-# is copyrighted and owned by Taligent, Inc., a wholly-owned
-# subsidiary of IBM. These materials are provided under terms
-# of a License Agreement between Taligent and Sun. This technology
-# is protected by multiple US and International patents.
+# COPYRIGHT AND PERMISSION NOTICE
 #
-# This notice and attribution to Taligent may not be removed.
-# Taligent is a registered trademark of Taligent, Inc.
+# Copyright (C) 1991-2007 Unicode, Inc. All rights reserved.
+# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of the Unicode data files and any associated documentation (the "Data
+# Files") or Unicode software and any associated documentation (the
+# "Software") to deal in the Data Files or Software without restriction,
+# including without limitation the rights to use, copy, modify, merge,
+# publish, distribute, and/or sell copies of the Data Files or Software, and
+# to permit persons to whom the Data Files or Software are furnished to do
+# so, provided that (a) the above copyright notice(s) and this permission
+# notice appear with all copies of the Data Files or Software, (b) both the
+# above copyright notice(s) and this permission notice appear in associated
+# documentation, and (c) there is clear notice in each modified Data File or
+# in the Software as well as in the documentation associated with the Data
+# File(s) or Software that the data or software has been modified.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+# THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
+# INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
+# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder shall not
+# be used in advertising or otherwise to promote the sale, use or other
+# dealings in these Data Files or Software without prior written
+# authorization of the copyright holder.
+#
+ 
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
 
-
-# language names
-# key is ISO 639 language code
-
-aa=Afar
-ab=Abcaziano
-ae=Av\u00E9stico
-af=Afric\u00E2ner
-ak=Akan
-am=Am\u00E1rico
-an=Aragon\u00EAs
-ar=\u00C1rabe
-as=Assam\u00EAs
-av=Av\u00E1rico
-ay=Aimara
-az=Azerbaijano
-ba=Bashkir
-be=Bielorrusso
-bg=B\u00FAlgaro
-bh=Biari
-bi=Bislam\u00E1
-bm=Bambara
-bn=Bengali
-bo=Tibetano
-br=Bret\u00E3o
-bs=B\u00F3snio
-ca=Catal\u00E3o
-ce=Checheno
-ch=Chamorro
-co=C\u00F3rsico
-cr=Cree
-cs=Tcheco
-cu=Eslavo Eclesi\u00E1stico
-cv=Chuvash
-cy=Gal\u00EAs
-da=Dinamarqu\u00EAs
-de=Alem\u00E3o
-dv=Divehi
-dz=Dzonga
-ee=Eve
-el=Grego
-en=Ingl\u00EAs
-eo=Esperanto
-es=Espanhol
-et=Estoniano
-eu=Basco
-fa=Persa
-ff=Fula
-fi=Finland\u00EAs
-fj=Fijiano
-fo=Fero\u00EAs
-fr=Franc\u00EAs
-fy=Fr\u00EDsio
-ga=Irland\u00EAs
-gd=Ga\u00E9lico Escoc\u00EAs
-gl=Galego
-gn=Guarani
-gu=Guzerate
-gv=Manx
-ha=Hau\u00E7\u00E1
-he=Hebraico
-hi=H\u00EDndi
-ho=Hiri Motu
-hr=Croata
-ht=Haitiano
-hu=H\u00FAngaro
-hy=Arm\u00EAnio
-hz=Herero
-ia=Interl\u00EDngua
-id=Indon\u00E9sio
-ie=Interlingue
-ig=Ibo
-ii=Sichuan Yi
-ik=Inupiaque
-in=Indon\u00E9sio
-io=Ido
-is=Island\u00EAs
-it=Italiano
-iu=Inuktitut
-iw=Hebraico
-ja=Japon\u00EAs
-ji=\u00CDdiche
-jv=Javan\u00EAs
-ka=Georgiano
-kg=Congol\u00EAs
-ki=Quicuio
-kj=Kuanyama
-kk=Cazaque
-kl=Groenland\u00EAs
-km=Khmer
-kn=Kannada
-ko=Coreano
-kr=Can\u00FAri
-ks=Caxemir
-ku=Curdo
-kv=Komi
-kw=C\u00F3rnico
-ky=Quirguiz
-la=Latim
-lb=Luxemburgu\u00EAs
-lg=Ganda
-li=Limburgish
-ln=Lingala
-lo=Laosiano
-lt=Lituano
-lu=Luba-Catanga
-lv=Let\u00E3o
-mg=Malgaxe
-mh=Marshall\u00EAs
-mi=Maori
-mk=Maced\u00F4nio
-ml=Malaiala
-mn=Mongol
-mo=Mold\u00E1vio
-mr=Marata
-ms=Malaio
-mt=Malt\u00EAs
-my=Birman\u00EAs
-na=Nauruano
-nb=Bokm\u00E5l Noruegu\u00EAs
-nd=Ndebele do Norte
-ne=Nepali
-ng=Dongo
-nl=Holand\u00EAs
-nn=Nynorsk Noruegu\u00EAs
-no=Noruegu\u00EAs
-nr=Ndebele do Sul
-nv=Navajo
-ny=Nianja; Chicheua; Cheua
-oc=occit\u00E2nico
-oj=Ojibwa
-om=Oromo
-or=Oriya
-os=Osseta
-pa=Panjabi
-pi=Pali
-pl=Polon\u00EAs
-ps=Pashto (Pushto)
-pt=Portugu\u00EAs
-qu=Qu\u00EDchua
-rm=Reto-Romano
-rn=Rundi
-ro=Romeno
-ru=Russo
-rw=Kinyarwanda
-sa=S\u00E2nscrito
-sc=Sardo
-sd=Sindi
-se=Sami do Norte
-sg=Sango
-si=Cingal\u00EAs
-sk=Eslovaco
-sl=Eslov\u00EAnio
-sm=Samoano
-sn=Shona
-so=Somali
-sq=Alban\u00EAs
-sr=S\u00E9rvio
-ss=Swati
-st=Soto do Sul
-su=Sundan\u00EAs
-sv=Sueco
-sw=Sua\u00EDli
-ta=T\u00E2mil
-te=Telugu
-tg=Tadjique
-th=Tailand\u00EAs
-ti=Tigr\u00EDnia
-tk=Turcomano
-tl=Tagalo
-tn=Tswana
-to=Reino de Tonga
-tr=Turco
-ts=Tsonga
-tt=Tatar
-tw=Twi
-ty=Taitiano
-ug=Uighur
-uk=Ucraniano
-ur=Urdu
-uz=Usbeque
-ve=Venda
-vi=Vietnamita
-vo=Volap\u00FCk
-wa=Walloon
-wo=Uolofe
-xh=Xosa
-yi=\u00CDdiche
-yo=Ioruba
-za=Zhuang
-zh=Chin\u00EAs
-zu=Zulu
-
-# key is ISO 639.2 language code
-aar=Afar
-abk=Abcaziano
-ace=Ach\u00E9m
-ach=Acoli
-ada=Adangme
-ady=Adigue
-afa=Afro-Asi\u00E1tico
-afh=Afrihili
-afr=Afric\u00E2ner
-ain=Ainu
-aka=Akan
-akk=Acadiano
-alb=Alban\u00EAs
-ale=Ale\u00FAte
-alg=Idioma Algonquiano
-alt=Altai do Sul
-amh=Am\u00E1rico
-ang=Ingl\u00EAs Antigo (aprox.450-1100)
-anp=Angika
-apa=Idioma Apache
-ara=\u00C1rabe
-arc=Aramaico Oficial (700-300 BCE)
-arg=Aragon\u00EAs
-arm=Arm\u00EAnio
-arn=Mapudungun
-arp=Arapaho
-art=Idioma Artificial
-arw=Arauaqui
-asm=Assam\u00EAs
-ast=Asturiano
-ath=Idioma Atabascano
-aus=Idioma Australiano
-ava=Av\u00E1rico
-ave=Av\u00E9stico
-awa=Awadhi
-aym=Aimara
-aze=Azerbaijano
-bad=Banda
-bai=Idioma Bamileke
-bak=Bashkir
-bal=Bal\u00FAchi
-bam=Bambara
-ban=Balin\u00EAs
-baq=Basco
-bas=Basa
-bat=Idioma B\u00E1ltico
-bej=Beja
-bel=Bielorrusso
-bem=Bemba
-ben=Bengali
-ber=Berbere
-bho=Bhojpuri
-bih=Biari
-bik=Bikol
-bin=Bini
-bis=Bislam\u00E1
-bla=Siksika
-bnt=Banto
-bos=B\u00F3snio
-bra=Braj
-bre=Bret\u00E3o
-btk=Bataque
-bua=Buriata
-bug=Buguin\u00EAs
-bul=B\u00FAlgaro
-bur=Birman\u00EAs
-byn=Blin
-cad=Caddo
-cai=Idioma Ind\u00EDgena Centro-Americano
-car=Galibi Carib
-cat=Catal\u00E3o
-cau=Idioma Cauc\u00E1sico
-ceb=Cebuano
-cel=Idioma Celta
-cha=Chamorro
-chb=Chibcha
-che=Checheno
-chg=Chagatai
-chi=Chin\u00EAs
-chk=Chuukese
-chm=Mari
-chn=Jarg\u00E3o Chinuke
-cho=Choctaw
-chp=Chipewyan
-chr=Cherokee
-chu=Eslavo Eclesi\u00E1stico
-chv=Chuvash
-chy=Cheiene
-cmc=Idioma Chamic
-cop=C\u00F3ptico
-cor=C\u00F3rnico
-cos=C\u00F3rsico
-cpe=Crioulo ou Pidgin Baseado no Ingl\u00EAs
-cpf=Crioulo ou Pidgin Baseado no Franc\u00EAs
-cpp=Crioulo ou Pidgin Baseado no Portugu\u00EAs
-cre=Cree
-crh=Turco da Crimeia
-crp=Crioulo ou Pidgin
-csb=Kashubian
-cus=Idioma Cuch\u00EDtico
-cze=Tcheco
-dak=Dacota
-dan=Dinamarqu\u00EAs
-dar=Dargwa
-day=Dayak
-del=Delaware
-den=Slavey (Athapascano)
-dgr=Dogrib
-din=Dinka
-div=Divehi
-doi=Dogri
-dra=Idioma Dravidiano
-dsb=S\u00E9rvio Baixo
-dua=Duala
-dum=Holand\u00EAs M\u00E9dio (aprox. 1050-1350)
-dut=Holand\u00EAs
-dyu=Di\u00FAla
-dzo=Dzonga
-efi=Efique
-egy=Eg\u00EDpcio Arcaico
-eka=Ekajuk
-elx=Elamita
-eng=Ingl\u00EAs
-enm=Ingl\u00EAs M\u00E9dio (1100-1500)
-epo=Esperanto
-est=Estoniano
-ewe=Eve
-ewo=Ewondo
-fan=Fangue
-fao=Fero\u00EAs
-fat=Fanti
-fij=Fijiano
-fil=Filipino
-fin=Finland\u00EAs
-fiu=Idioma Fino-\u00DAgrico
-fon=Fom
-fre=Franc\u00EAs
-frm=Franc\u00EAs M\u00E9dio (aprox. 1400-1600)
-fro=Franc\u00EAs Arcaico (842- aprox.1400)
-frr=Fr\u00EDsio Setentrional
-frs=Fr\u00EDsio Oriental
-fry=Fr\u00EDsio Ocidental
-ful=Fula
-fur=Friuliano
-gaa=Ga
-gay=Gayo
-gba=Gbaia
-gem=Idioma Germ\u00E2nico
-geo=Georgiano
-ger=Alem\u00E3o
-gez=Geez
-gil=Gilbert\u00EAs
-gla=Ga\u00E9lico
-gle=Irland\u00EAs
-glg=Gal\u00EDcio
-glv=Manx
-gmh=Alem\u00E3o M\u00E9dio-Alto (aprox. 1050-1500)
-goh=Alem\u00E3o Arcaico Alto (aprox. 750-1050)
-gon=Gondi
-gor=Gorontalo
-got=G\u00F3tico
-grb=Grebo
-grc=Grego Arcaico (at\u00E9 1453)
-gre=Grego Moderno (1453-)
-grn=Guarani
-gsw=Alem\u00E3o Su\u00ED\u00E7o
-guj=Guzerate
-gwi=Gwich'in
-hai=Haida
-hat=Haitiano
-hau=Hau\u00E7\u00E1
-haw=Havaiano
-heb=Hebraico
-her=Herero
-hil=Hiligaynon
-him=Himachali
-hin=H\u00EDndi
-hit=Hitita
-hmn=Hmong
-hmo=Hiri Motu
-hrv=Croata
-hsb=Sor\u00E1bio Superior
-hun=H\u00FAngaro
-hup=Hupa
-iba=Iban
-ibo=Ibo
-ice=Island\u00EAs
-ido=Ido
-iii=Sichuan Yi
-ijo=Ijo
-iku=Inuktitut
-ile=Interlingue
-ilo=Ilocano
-ina=Interlingua (Associa\u00E7\u00E3o Internacional de Idiomas Auxiliares)
-inc=Idioma \u00CDndico
-ind=Indon\u00E9sio
-ine=Idioma Indo-Europeu
-inh=Inguche
-ipk=Inupiaque
-ira=Iraniano
-iro=Idioma Iroqu\u00EAs
-ita=Italiano
-jav=Javan\u00EAs
-jbo=Lojban
-jpn=Japon\u00EAs
-jpr=Judaico-Persa
-jrb=Judaico-Ar\u00E1bico
-kaa=Kara-Kalpak
-kab=Kabyle
-kac=Kachin
-kal=Kalaallisut
-kam=Kamba
-kan=Kannada
-kar=Karen
-kas=Caxemir
-kau=Can\u00FAri
-kaw=Kawi
-kaz=Cazaque
-kbd=Kabardiano
-kha=Khasi
-khi=Idioma Cois\u00E3
-khm=Khmer Central
-kho=Khotan\u00EAs
-kik=Quicuio
-kin=Kinyarwanda
-kir=Quirguiz
-kmb=Quimbundo
-kok=Concani
-kom=Komi
-kon=Congol\u00EAs
-kor=Coreano
-kos=Kosraeano
-kpe=Kpelle
-krc=Karachay-Balkar
-krl=Idioma Car\u00E9lio
-kro=Kru
-kru=Kurukh
-kua=Cuanhama
-kum=Kumyk
-kur=Curdo
-kut=Kutenai
-lad=Ladino
-lah=Lahnda
-lam=Lamba
-lao=Laosiano
-lat=Latim
-lav=Let\u00E3o
-lez=Lezgui
-lim=Limburgu\u00EAs
-lin=Lingala
-lit=Lituano
-lol=Mongo
-loz=Lozi
-ltz=Luxemburgu\u00EAs
-lua=Luba-Lulua
-lub=Luba-Catanga
-lug=Ganda
-lui=Luiseno
-lun=Lunda
-luo=Luo (Qu\u00EAnia e Tanz\u00E2nia)
-lus=lushai
-mac=Maced\u00F4nio
-mad=Madur\u00EAs
-mag=Magahi
-mah=Marshall\u00EAs
-mai=Maithili
-mak=Makasar
-mal=Malaiala
-man=Mandinga
-mao=Maori
-map=Austron\u00E9sio
-mar=Marata
-mas=Massai
-may=Malaio
-mdf=Mocsa
-mdr=Mandar
-men=Mende
-mga=Irland\u00EAs M\u00E9dio (900-1200)
-mic=Miquemaque
-min=Minangkabau
-mis=Idiomas Diversos
-mkh=Idioma Mon-Khmer
-mlg=Malgaxe
-mlt=Malt\u00EAs
-mnc=Manchu
-mni=Manipuri
-mno=Idioma Manobo
-moh=Mohawk
-mon=Mongol
-mos=Mossi
-mul=Idiomas M\u00FAltiplos
-mun=Idiomas Munda
-mus=Creek
-mwl=Mirand\u00EAs
-mwr=Marwari
-myn=Maia
-myv=Erzya
-nah=N\u00E1uatle
-nai=Idioma Ind\u00EDgena Norte-Americano
-nap=Napolitano
-nau=Nauruano
-nav=Navajo
-nbl=Ndebele, Sul
-nde=Ndebele, Norte
-ndo=Dongo
-nds=Baixo-Alem\u00E3o
-nep=Nepali
-new=Nepal Bhasa
-nia=Nias
-nic=Niger-Cordof\u00E2nio
-niu=Niueano
-nno=Nynorsk Noruegu\u00EAs
-nob=Bokm\u00E5l, Noruega
-nog=Nogai
-non=N\u00F3rdico Arcaico
-nor=Noruegu\u00EAs
-nqo=N'Ko
-nso=Pedi
-nub=Idioma N\u00FAbio
-nwc=Newari Cl\u00E1ssico
-nya=Chichewa
-nym=Nyamwezi
-nyn=Nyankole
-nyo=Nyoro
-nzi=Nzima
-oci=Occit\u00E2nico (ap\u00F3s 1500)
-oji=Ojibwa
-ori=Oriya
-orm=Oromo
-osa=Osage
-oss=Osseta
-ota=Turco Otomano (1500-1928)
-oto=Idioma Otomano
-paa=Idioma Papuano
-pag=Pangasin\u00E3
-pal=P\u00E1lavi
-pam=Pampanga
-pan=Panjabi
-pap=Papiamento
-pau=Palauano
-peo=Persa Arcaico (aprox.600-400 a.C.)
-per=Persa
-phi=Idioma Filipino
-phn=Fen\u00EDcio
-pli=Pali
-pol=Polon\u00EAs
-pon=Pompeiano
-por=Portugu\u00EAs
-pra=Idioma Pr\u00E1crito
-pro=Proven\u00E7al, Antigo (at\u00E9 1500)
-pus=Pushto; Pashto
-que=Qu\u00EDchua
-raj=Rajastani
-rap=Rapanui
-rar=Rarotongano
-roa=Idioma Rom\u00E2nico
-roh=Raetho-Romance
-rom=Romani
-rum=Romeno
-run=Rundi
-rup=Aromeno
-rus=Russo
-sad=Sandawe
-sag=Sango
-sah=Iacuto
-sai=Idioma Ind\u00EDgena Sul-Americano
-sal=Idioma Salisano
-sam=Aramaico Samaritano
-san=S\u00E2nscrito
-sas=Sasak
-sat=Santali
-scn=Siciliano
-sco=Escoc\u00EAs
-sel=Selkup
-sem=Idioma Sem\u00EDtico
-sga=Irland\u00EAs Arcaico (at\u00E9 900)
-sgn=Linguagem de Sinais
-shn=Shan
-sid=Sidamo
-sin=Cingal\u00EAs
-sio=Idioma Sioux
-sit=Sino-Tibetano
-sla=Idioma Eslavo
-slo=Eslovaco
-slv=Eslov\u00EAnio
-sma=Sami do Sul
-sme=Sami do Norte
-smi=Idioma Sami
-smj=Lule Sami
-smn=Inari Sami
-smo=Samoano
-sms=Skolt Sami
-sna=Shona
-snd=Sindi
-snk=Soninqu\u00EA
-sog=Sogdiano
-som=Somali
-son=Songai
-sot=Soto do Sul
-spa=Espanhol
-srd=Sardo
-srn=Idioma Surinam\u00EAs
-srp=S\u00E9rvio
-srr=Serere
-ssa=Idioma Nilo-Saariano
-ssw=Swati
-suk=Sukuma
-sun=Sundan\u00EAs
-sus=Sosso
-sux=Sum\u00E9rio
-swa=Sua\u00EDli
-swe=Sueco
-syc=Sir\u00EDaco Cl\u00E1ssico
-syr=Sir\u00EDaco
-tah=Taitiano
-tai=Idioma Tailand\u00EAs
-tam=T\u00E2mil
-tat=Tatar
-tel=Telugu
-tem=Timne
-ter=Tereno
-tet=T\u00E9tum
-tgk=Tadjique
-tgl=Tagalo
-tha=Tailand\u00EAs
-tib=Tibetano
-tig=Tigre
-tir=Tigr\u00EDnia
-tiv=Tiv
-tkl=Toquelauano
-tlh=Klingon
-tli=Tlinguite
-tmh=Tamaxeque
-tog=Tongan\u00EAs de Nyasa
-ton=Tongan\u00EAs (das Ilhas Tonga)
-tpi=Tok Pisin
-tsi=Tsimshian
-tsn=Tswana
-tso=Tsonga
-tuk=Turcomano
-tum=Tumbuka
-tup=Idioma Tupi
-tur=Turco
-tut=Idioma Altaico
-tvl=Tuvaluano
-twi=Twi
-tyv=Tuviniano
-udm=Udmurt
-uga=Ugar\u00EDtico
-uig=Uighur
-ukr=Ucraniano
-umb=Umbundu
-und=Idioma Inv\u00E1lido ou Desconhecido
-urd=Urdu
-uzb=Usbeque
-vai=Vai
-ven=Venda
-vie=Vietnamita
-vol=Volap\u00FCk
-vot=Votico
-wak=Idioma Wakashan
-wal=Walamo
-war=Waray
-was=Washo
-wel=Gal\u00EAs
-wen=Idioma Sor\u00E1bio
-wln=Walloon
-wol=Uolofe
-xal=Kalmyk
-xho=Xosa
-yao=Yao
-yap=Yapese
-yid=\u00CDdiche
-yor=Ioruba
-ypk=Idioma I\u00FApique
-zap=Zapoteca
-zbl=S\u00EDmbolos Blis
-zen=Zenaga
-zha=Zhuang
-znd=Zande
-zul=Zulu
-zun=Zunhi
-zxx=Sem conte\u00FAdo lingu\u00EDstico
-zza=Zaza
-
-# script names
-# key is ISO 15924 script code
-
-Arab=\u00C1rabe
-Armi=Aramaico Imperial
-Armn=Arm\u00EAnio
-Avst=Av\u00E9stico
-Bali=Balin\u00EAs
-Bamu=Bamum
-Bass=Bassa Vah
-Batk=Bataque
-Beng=Bengali
-Blis=S\u00EDmbolos Blis
-Bopo=Bopomofo
-Brah=Brahmi
-Brai=Braille
-Bugi=Buguin\u00EAs
-Buhd=Buhid
-Cakm=Chakma
-Cans=Escrita Sil\u00E1bica Unificada dos Abor\u00EDgenes Canadenses
-Cari=Cariano
-Cham=Cham
-Cher=Cherokee
-Cirt=Cirth
-Copt=C\u00F3ptico
-Cprt=Cipriota
-Cyrl=Cir\u00EDlico
-Cyrs=Alfabeto Cir\u00EDlico do Eslavo "Old Church"
-Deva=Devan\u00E1gari
-Dsrt=Deseret
-Dupl=Estenografia Duploiana
-Egyd=Dem\u00F3tico Eg\u00EDpcio
-Egyh=Hier\u00E1tico Eg\u00EDpcio
-Egyp=Hier\u00F3glifos eg\u00EDpcios
-Elba=Elbasan
-Ethi=Eti\u00F3pico
-Geok=Khutsuri
-Geor=Georgiano
-Glag=Glagol\u00EDtico
-Goth=G\u00F3tico
-Gran=Grantha
-Grek=Grego
-Gujr=Guzerate
-Guru=Gurmuqui
-Hang=Hangul
-Hani=Han
-Hano=Hanunoo
-Hans=Han Simplificado
-Hant=Han Tradicional
-Hebr=Hebraico
-Hira=Hiragana
-Hmng=Pahawh Hmong
-Hrkt=Katakana ou Hiragana
-Hung=H\u00FAngaro Antigo
-Inds=Indus
-Ital=It\u00E1lico Antigo
-Java=Javan\u00EAs
-Jpan=Japon\u00EAs
-Kali=Kayah Li
-Kana=Katakana
-Khar=Kharoshthi
-Khmr=Khmer
-Knda=Kannada
-Kore=Coreano
-Kpel=Kpelle
-Kthi=Kaithi
-Lana=Tai Tham
-Laoo=Laosiano
-Latf=Tipo Fraktur Latino
-Latg=Latim Ga\u00E9lico
-Latn=Latim
-Lepc=Lepcha
-Limb=Limbu
-Lina=A Linear
-Linb=B Linear
-Lisu=Lisu
-Loma=Loma
-Lyci=L\u00EDcio
-Lydi=L\u00EDdio
-Mand=Mandaico
-Mani=Maniqueano
-Maya=Hier\u00F3glifos maias
-Mend=Mende
-Merc=Mero\u00EDtico Cursivo
-Mero=Mero\u00EDtico
-Mlym=Malaiala
-Mong=Mongol
-Moon=Moon
-Mtei=Meitei Mayek
-Mymr=Mianmar
-Narb=\u00C1rabe Antigo do Norte
-Nbat=Nabataeano
-Nkgb=Nakhi Geba
-Nkoo=N'Ko
-Ogam=Og\u00E2mico
-Olck=Ol Chiki
-Orkh=Orkhon
-Orya=Oriya
-Osma=Osmanya
-Palm=Palmyrene
-Perm=P\u00E9rmico Antigo
-Phag=Phags-pa
-Phli=Pahlavi de Inscri\u00E7\u00E3o
-Phlp=Psalter Pahlavi
-Phlv=Book Pahlavi
-Phnx=Fen\u00EDcio
-Plrd=Miao
-Prti=Parthian de Inscri\u00E7\u00E3o
-Rjng=Rejang
-Roro=Rongorongo
-Runr=R\u00FAnico
-Samr=Samaritano
-Sara=Sarati
-Sarb=\u00C1rabe Antigo do Sul
-Saur=Saurashtra
-Sgnw=SignWriting
-Shaw=Shaviano
-Sind=Sindi
-Sinh=Cingal\u00EAs
-Sund=Sundan\u00EAs
-Sylo=Syloti Nagri
-Syrc=Sir\u00EDaco
-Syre=Sir\u00EDaco Estrangelo
-Syrj=Sir\u00EDaco Ocidental
-Syrn=Sir\u00EDaco Oriental
-Tagb=Tagbanwa
-Tale=Tai Le
-Talu=New Tai Lue
-Taml=T\u00E2mil
-Tavt=Tai Viet
-Telu=Telugu
-Teng=Tengwar
-Tfng=Tifinagh
-Tglg=Tagalo
-Thaa=Thaana
-Thai=Tailand\u00EAs
-Tibt=Tibetano
-Ugar=Ugar\u00EDtico
-Vaii=Vai
-Visp=Visible Speech
-Wara=Warang Citi
-Xpeo=Persa Antigo
-Xsux=Sum\u00E9rio-Acadiano Cuneiforme
-Yiii=Yi
-Zinh=Herdado
-Zmth=Nota\u00E7\u00E3o Matem\u00E1tica
-Zsym=S\u00EDmbolos
-Zxxx=\u00C1grafo
-Zyyy=Escrita indeterminada
-Zzzz=Escrita Desconhecida ou Inv\u00E1lida
-
-# country names
-# key is ISO 3166 country code
-
-AD=Andorra
-AE=Emirados \u00C1rabes Unidos
-AF=Afeganist\u00E3o
-AG=Ant\u00EDgua e Barbuda
-AI=Anguila
-AL=Alb\u00E2nia
-AM=Arm\u00EAnia
-AN=Antilhas Holandesas
-AO=Angola
-AQ=Ant\u00E1rtida
-AR=Argentina
-AS=Samoa Americana
-AT=\u00C1ustria
-AU=Austr\u00E1lia
-AW=Aruba
-AX=Ilhas \u00C5land
-AZ=Azerbaij\u00E3o
-BA=B\u00F3snia-Herzegovina
-BB=Barbados
-BD=Bangladesh
-BE=B\u00E9lgica
-BF=Burkina Faso
-BG=Bulg\u00E1ria
+ce=checheno
+ik=inupiaque
+jv=javan\u00eas
+nd=ndebele do norte
+nr=ndebele do sul
+st=soto do sul
+AX=Ilhas Aland
+BA=B\u00f3snia-Herzegovina
 BH=Bahrain
-BI=Burundi
-BJ=Benin
-BL=Saint Barth\u00E9lemy
-BM=Bermudas
-BN=Brunei
-BO=Bol\u00EDvia
-BQ=Territ\u00F3rio Insular de Bonaire, Ilha de Santo Eust\u00E1quio e Saba
-BR=Brasil
-BS=Bahamas
-BT=But\u00E3o
-BV=Ilha Bouvet
-BW=Botsuana
-BY=Bielorr\u00FAssia
-BZ=Belize
-CA=Canad\u00E1
-CC=Ilhas Cocos (Keeling)
-CD=Congo, Rep\u00FAblica Democr\u00E1tica do
-CF=Rep\u00FAblica Centro-Africana
-CG=Congo - Brazzaville
-CH=Su\u00ED\u00E7a
-CI=Costa do Marfim
-CK=Ilhas Cook
-CL=Chile
-CM=Rep\u00FAblica dos Camar\u00F5es
-CN=China
-CO=Col\u00F4mbia
-CR=Costa Rica
-CS=S\u00E9rvia e Montenegro
-CU=Cuba
-CV=Cabo Verde
-CW=Cura\u00E7ao
-CX=Ilha Christmas
-CY=Chipre
-CZ=Rep\u00FAblica Tcheca
-DE=Alemanha
-DJ=Djibuti
-DK=Dinamarca
-DM=Dominica
-DO=Rep\u00FAblica Dominicana
-DZ=Arg\u00E9lia
-EC=Equador
-EE=Est\u00F4nia
-EG=Egito
-EH=Saara Ocidental
-ER=Eritreia
-ES=Espanha
-ET=Eti\u00F3pia
-FI=Finl\u00E2ndia
-FJ=Fiji
-FK=Ilhas Falkland
-FM=Micron\u00E9sia, Estados Federados da
-FO=Ilhas Faroe
-FR=Fran\u00E7a
-GA=Gab\u00E3o
-GB=Reino Unido
-GD=Granada
-GE=Ge\u00F3rgia
-GF=Guiana Francesa
-GG=Guernsey
-GH=Gana
-GI=Gibraltar
-GL=Groenl\u00E2ndia
-GM=G\u00E2mbia
-GN=Guin\u00E9
-GP=Guadalupe
-GQ=Guin\u00E9 Equatorial
-GR=Gr\u00E9cia
-GS=Ge\u00F3rgia do Sul e Ilhas Sandwich do Sul
-GT=Guatemala
-GU=Guam
-GW=Guin\u00E9 Bissau
-GY=Guiana
-HK=Hong Kong, Regi\u00E3o Admin. Especial da China
-HM=Ilha Heard e Ilhas McDonald
-HN=Honduras
-HR=Cro\u00E1cia
-HT=Haiti
-HU=Hungria
-ID=Indon\u00E9sia
-IE=Irlanda
-IL=Israel
-IM=Ilha de Man
-IN=\u00CDndia
-IO=Territ\u00F3rio Brit\u00E2nico do Oceano \u00CDndico
-IQ=Iraque
-IR=Ir\u00E3
-IS=Isl\u00E2ndia
-IT=It\u00E1lia
-JE=Jersey
-JM=Jamaica
-JO=Jord\u00E2nia
-JP=Jap\u00E3o
-KE=Qu\u00EAnia
-KG=Quirguist\u00E3o
-KH=Camboja
-KI=Quiribati
-KM=Comores
-KN=S\u00E3o Crist\u00F3v\u00E3o e Nevis
-KP=Coreia do Norte
-KR=Coreia do Sul
-KW=Kuwait
-KY=Ilhas Caiman
-KZ=Cazaquist\u00E3o
-LA=Rep\u00FAblica Democr\u00E1tica Popular de Laos
-LB=L\u00EDbano
-LC=Santa L\u00FAcia
-LI=Liechtenstein
-LK=Sri Lanka
-LR=Lib\u00E9ria
-LS=Lesoto
-LT=Litu\u00E2nia
-LU=Luxemburgo
-LV=Let\u00F4nia
-LY=L\u00EDbia
-MA=Marrocos
-MC=M\u00F4naco
-MD=Moldova, Rep\u00FAblica de
-ME=Montenegro
-MF=Saint Martin
-MG=Madag\u00E1scar
-MH=Ilhas Marshall
-MK=Maced\u00F4nia
-ML=Mali
-MM=Mianmar
-MN=Mong\u00F3lia
-MO=Macau, Regi\u00E3o Admin. Especial da China
-MP=Ilhas Marianas do Norte
-MQ=Martinica
-MR=Maurit\u00E2nia
-MS=Montserrat
-MT=Malta
-MU=Maur\u00EDcio
-MV=Maldivas
-MW=Malau\u00ED
-MX=M\u00E9xico
-MY=Mal\u00E1sia
-MZ=Mo\u00E7ambique
-NA=Nam\u00EDbia
-NC=Nova Caled\u00F4nia
-NE=N\u00EDger
-NF=Ilha Norfolk
-NG=Nig\u00E9ria
-NI=Nicar\u00E1gua
-NL=Pa\u00EDses Baixos
-NO=Noruega
-NP=Nepal
-NR=Nauruano
-NU=Niue
-NZ=Nova Zel\u00E2ndia
-OM=Om\u00E3
-PA=Panam\u00E1
-PE=Peru
-PF=Polin\u00E9sia Francesa
-PG=Papua-Nova Guin\u00E9
-PH=Filipinas
-PK=Paquist\u00E3o
-PL=Pol\u00F4nia
-PM=Saint Pierre e Miquelon
-PN=Pitcairn
-PR=Porto Rico
-PS=Territ\u00F3rio da Palestina
-PT=Portugal
-PW=Palau
-PY=Paraguai
-QA=Catar
-RE=Reuni\u00E3o
-RO=Rom\u00EAnia
-RS=S\u00E9rvia
-RU=R\u00FAssia
-RW=Ruanda
-SA=Ar\u00E1bia Saudita
-SB=Ilhas Salom\u00E3o
-SC=Ilhas Seychelles
-SD=Sud\u00E3o
-SE=Su\u00E9cia
-SG=Cingapura
-SH=Santa Helena
-SI=Eslov\u00EAnia
-SJ=Svalbard e Jan Mayen
-SK=Eslov\u00E1quia
-SL=Serra Leoa
-SM=San Marino
-SN=Senegal
-SO=Som\u00E1lia
-SR=Suriname
-ST=S\u00E3o Tom\u00E9 e Pr\u00EDncipe
-SV=El Salvador
-SX=Saint Maarten (parte holandesa)
-SY=S\u00EDria
-SZ=Suazil\u00E2ndia
-TC=Ilhas Turks e Caicos
-TD=Chade
-TF=Territ\u00F3rios Franceses do Sul
-TG=Togo
-TH=Tail\u00E2ndia
-TJ=Tadjiquist\u00E3o
-TK=Toquelauano
-TL=Timor Leste
-TM=Turcomenist\u00E3o
-TN=Tun\u00EDsia
-TO=Reino de Tonga
-TR=Turquia
-TT=Trinidad e Tobago
-TV=Tuvaluano
-TW=Taiwan
-TZ=Tanz\u00E2nia
-UA=Ucr\u00E2nia
-UG=Uganda
-UM=Ilhas Menores Distantes dos Estados Unidos
-US=Estados Unidos
-UY=Uruguai
-UZ=Uzbequist\u00E3o
-VA=Vaticano
-VC=S\u00E3o Vicente e Granadinas
-VE=Venezuela
-VG=Ilhas Virgens Brit\u00E2nicas
-VI=Ilhas Virgens dos EUA
-VN=Vietn\u00E3
-VU=Vanuatu
-WF=Wallis e Futuna
-WS=Samoa
-YE=I\u00EAmen
-YT=Maiote
-ZA=\u00C1frica do Sul
-ZM=Z\u00E2mbia
-ZW=Zimb\u00E1bue
-
-# territory names
-# key is UN M.49 country and area code
-
-001=Mundo
-002=\u00C1frica
-003=Am\u00E9rica do Norte
-005=Am\u00E9rica do Sul
-009=Oceania
-011=\u00C1frica Ocidental
-013=Am\u00E9rica Central
-014=\u00C1frica Oriental
-015=\u00C1frica Setentrional
-017=\u00C1frica Central
-018=\u00C1frica Austral
-019=Am\u00E9ricas
-021=Am\u00E9rica Setentrional
-029=Caribe
-030=\u00C1sia Oriental
-034=\u00C1sia Meridional
-035=\u00C1sia Centro-Oriental
-039=Europa Meridional
-053=Austr\u00E1lia e Nova Zel\u00E2ndia
-054=Melan\u00E9sia
-057=Regi\u00E3o da Micron\u00E9sia
-061=Polin\u00E9sia
-142=\u00C1sia
-143=\u00C1sia Central
-145=\u00C1sia Ocidental
-150=Europa
-151=Europa Oriental
-154=Europa Setentrional
-155=Europa Ocidental
-419=Am\u00E9rica Latina e Caribe
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Noruegu\u00EAs (Nynorsk)
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
+KP=Cor\u00e9ia do Norte
+MK=Maced\u00f4nia
+ZW=Zimb\u00e1bue
--- a/src/share/classes/sun/util/resources/LocaleNames_sv.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_sv.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=Afar
-ab=Abchasiska
+aa=afar
+ab=abchasiska
 ae=Avestiska
-af=Afrikaans
+af=afrikaans
 ak=Akan
-am=Amhariska
-an=Aragonsk spanska
-ar=Arabiska
-as=Assamesiska
-av=Avariskt spr\u00E5k
-ay=Aymara
-az=Azerbajdzjanska
-ba=Basjkiriska
-be=Vitryska
-bg=Bulgariska
-bh=Bihari
-bi=Bislama
+am=amhariska
+an=Aragoniska
+ar=arabiska
+as=assamesiska
+av=Avariska
+ay=aymara
+az=azerbadjanska
+ba=bashkir
+be=vitryska
+bg=bulgariska
+bh=bihari
+bi=bislama
 bm=Bambara
-bn=Bengali
-bo=Tibetanska
-br=Bretonska
+bn=bengaliska
+bo=tibetanska
+br=bretagnska
 bs=Bosniska
-ca=Katalanska
+ca=katalan
 ce=Tjetjenska
 ch=Chamorro
-co=Korsikanska
+co=korsikanksa
 cr=Cree
-cs=Tjeckiska
+cs=tjeckiska
 cu=Kyrkoslaviska
 cv=Tjuvasjiska
-cy=Kymriska
-da=Danska
-de=Tyska
+cy=walesiska
+da=danska
+de=tyska
 dv=Divehi
-dz=Bhutanesiska (Dzongkha)
+dz=bhutanska
 ee=Ewe
-el=Grekiska
-en=Engelska
-eo=Esperanto
-es=Spanska
-et=Estniska
-eu=Baskiska
-fa=Persiska
+el=grekiska
+en=engelska
+eo=esperanto
+es=spanska
+et=estniska
+eu=baskiska
+fa=persiska
 ff=Fulani
-fi=Finska
-fj=Fidjianska
-fo=F\u00E4r\u00F6iska
-fr=Franska
-fy=Frisiska
-ga=Iriska
-gd=Skotsk gaeliska
-gl=Galiciska
-gn=Guarani
-gu=Gujarati
+fi=finska
+fj=fiji
+fo=f\u00e4r\u00f6iska
+fr=franska
+fy=frisiska
+ga=irl\u00e4ndska
+gd=skotsk gaeliska
+gl=galiciska
+gn=guarani
+gu=gujarati
 gv=Manx
-ha=Haussa
-he=Hebreiska
-hi=Hindi
+ha=hausa
+he=hebreiska
+hi=hindi
 ho=Hirimotu
-hr=Kroatiska
+hr=kroatiska
 ht=Haitiska
-hu=Ungerska
-hy=Armeniska
+hu=ungerska
+hy=armeniska
 hz=Herero
-ia=Interlingua
-id=Indonesiska
-ie=Interlingue
-ig=Ibo (Igbo)
+ia=interlingua
+id=indonesiska
+ie=interlingue
+ig=Igbo
 ii=Sichuan Yi
-ik=Inupiaq
-in=Indonesiska
+ik=inupiak
+in=indonesiska
 io=Ido
-is=Isl\u00E4ndska
-it=Italienska
-iu=Inuktitut
-iw=Hebreiska
-ja=Japanska
-ji=Jiddisch
+is=isl\u00e4ndska
+it=italienska
+iu=inuktitut
+iw=hebreiska
+ja=japanska
+ji=jiddish
 jv=Javanesiska
-ka=Georgiska
+ka=georgiska
 kg=Kikongo
 ki=Kikuyu
 kj=Kwanyama
-kk=Kazakiska
-kl=Gr\u00F6nl\u00E4ndska
-km=Kambodjanska (Khmer)
-kn=Kannada
-ko=Koreanska
+kk=kazakstanska
+kl=gr\u00f6nl\u00e4ndska
+km=kambodjanska
+kn=kannada
+ko=koreanska
 kr=Kanuri
-ks=Kashmiri
-ku=Kurdiska
+ks=kashmiriska
+ku=kurdiska
 kv=Komi
 kw=Korniska
-ky=Kirgisiska
-la=Latin
+ky=kirgisiska
+la=latin
 lb=Luxemburgiska
 lg=Luganda
 li=Limburgiska
-ln=Lingala
-lo=Laotiska
-lt=Litauiska
+ln=lingala
+lo=laotiska
+lt=litauiska
 lu=Luba-Katanga
-lv=Lettiska
-mg=Malagassiska
+lv=lettiska
+mg=malagas
 mh=Marshallesiska
-mi=Maori
-mk=Makedonska
-ml=Malayalam
-mn=Mongoliska
-mo=Moldaviska
-mr=Marathi
-ms=Malajiska
-mt=Maltesiska
-my=Burmesiska
-na=Nauru
-nb=Norska, bokm\u00E5l
-nd=Nordndebele
-ne=Nepali
+mi=maori
+mk=makedoniska
+ml=malayalam
+mn=mongoliska
+mo=moldaviska
+mr=marathi
+ms=malajiska
+mt=maltesiska
+my=burmesiska
+na=nauru
+nb=Norska (bokm\u00e5l)
+nd=Ndebele (nord)
+ne=nepaliska
 ng=Ndonga
-nl=Nederl\u00E4ndska
-nn=Norska (Nynorska)
-no=Norska
-nr=Sydndebele
-nv=Navajo
+nl=nederl\u00e4ndska
+nn=Nynorska
+no=norska
+nr=Ndebele (syd)
+nv=Navaho
 ny=Nyanja
-oc=Occitanska
-oj=Odjibwa (Chippewa)
-om=Oromo
-or=Oriya
+oc=occitan
+oj=Odjibwa
+om=oromo (afan)
+or=oriya
 os=Ossetiska
-pa=Panjabi
+pa=punjabiska
 pi=Pali
-pl=Polska
-ps=Pashto
-pt=Portugisiska
-qu=Quechua
-rm=R\u00E4toromanska
-rn=Rundi
-ro=Rum\u00E4nska
-ru=Ryska
-rw=Rwanda
-sa=Sanskrit
+pl=polska
+ps=pashto (pushto)
+pt=portugisiska
+qu=quechua
+rm=r\u00e4tromanska 
+rn=kirundi
+ro=rum\u00e4nska
+ru=ryska
+rw=kinyarwanda
+sa=sanskrit
 sc=Sardiska
-sd=Sindhi
+sd=sindhi
 se=Nordsamiska
-sg=Sango
-si=Singalesiska
-sk=Slovakiska
-sl=Slovenska
-sm=Samoanska
-sn=Shona
-so=Somaliska
-sq=Albanska
-sr=Serbiska
-ss=Swazi
-st=Sesotho
-su=Sundanesiska
-sv=Svenska
-sw=Swahili
-ta=Tamil
-te=Telugo
-tg=Tadzjikiska
-th=Thail\u00E4ndska
-ti=Tigrinja
-tk=Turkmeniska
-tl=Tagalog
-tn=Tswana
-to=Tonga
-tr=Turkiska
-ts=Tsonga
-tt=Tatariska
-tw=Twi
+sg=sangho
+si=singalese
+sk=slovakiska
+sl=slovenska
+sm=samoa
+sn=shona
+so=somaliska
+sq=albanska
+sr=serbiska
+ss=siswati
+st=sesotho
+su=sundanesiska
+sv=svenska
+sw=swahili
+ta=tamil
+te=telugu
+tg=tadjekiska
+th=thail\u00e4ndska
+ti=tigrinya
+tk=turkmeniska
+tl=tagalog
+tn=setswana
+to=tonga
+tr=turkiska
+ts=tsonga
+tt=tatariska
+tw=twi
 ty=Tahitiska
-ug=Uiguriska
-uk=Ukrainska
-ur=Urdu
-uz=Uzbekiska
+ug=uighur
+uk=ukrainska
+ur=urdu
+uz=uzbekiska
 ve=Venda
-vi=Vietnamesiska
-vo=Volap\u00FCk
+vi=vietnamesiska
+vo=volapuk
 wa=Vallonska
-wo=Wolof
-xh=Xhosa
-yi=Jiddisch
-yo=Yoruba
-za=Zhuang
-zh=Kinesiska
-zu=Zulu
+wo=wolof
+xh=xhosa
+yi=jiddish
+yo=yoruba
+za=zhuang
+zh=kinesiska
+zu=zulu
 
 # key is ISO 639.2 language code
 aar=Afar
@@ -578,7 +577,7 @@
 pon=Pohnpeiska
 por=Portugisiska
 pra=Prakrit
-pro=Provensalska, gammal (till 1500)
+pro=Fornprovensalska (-1500)
 pus=Pashto
 que=Quechua
 raj=Rajasthani
@@ -807,7 +806,7 @@
 Narb=Nordlig fornarabiska
 Nbat=Nabataeiska
 Nkgb=Nakhi geba
-Nkoo=N\u2019Ko
+Nkoo=N'Ko
 Ogam=Ogham
 Olck=Ol chiki
 Orkh=Orkhon
@@ -869,23 +868,23 @@
 # key is ISO 3166 country code
 
 AD=Andorra
-AE=F\u00F6renade Arabemiraten
+AE=F\u00f6renade Arabemiraten
 AF=Afghanistan
 AG=Antigua och Barbuda
 AI=Anguilla
 AL=Albanien
 AM=Armenien
-AN=Nederl\u00E4ndska Antillerna
+AN=Nederl\u00e4ndska Antillerna 
 AO=Angola
 AQ=Antarktis
 AR=Argentina
-AS=Amerikanska Samoa\u00F6arna
-AT=\u00D6sterrike
+AS=Amerikanska Samoa
+AT=\u00d6sterrike
 AU=Australien
 AW=Aruba
-AX=\u00C5land
-AZ=Azerbajdzjan
-BA=Bosnien och Hercegovina
+AX=\u00c5land
+AZ=Azerbadjan
+BA=Bosnien och Herzegovina
 BB=Barbados
 BD=Bangladesh
 BE=Belgien
@@ -902,18 +901,18 @@
 BR=Brasilien
 BS=Bahamas
 BT=Bhutan
-BV=Bouvet\u00F6n
+BV=Bouvet\u00f6n
 BW=Botswana
 BY=Vitryssland
 BZ=Belize
 CA=Kanada
-CC=Kokos\u00F6arna
+CC=Cocos\u00f6arna
 CD=Demokratiska republiken Kongo
 CF=Centralafrikanska republiken
-CG=Kongo-Brazzaville
+CG=Kongo
 CH=Schweiz
 CI=Elfenbenskusten
-CK=Cook\u00F6arna
+CK=Cook\u00f6arna
 CL=Chile
 CM=Kamerun
 CN=Kina
@@ -923,9 +922,9 @@
 CU=Kuba
 CV=Kap Verde
 CW=Cura\u00E7ao
-CX=Jul\u00F6n
+CX=Jul\u00f6n
 CY=Cypern
-CZ=Tjeckien
+CZ=Tjeckiska republiken
 DE=Tyskland
 DJ=Djibouti
 DK=Danmark
@@ -935,15 +934,15 @@
 EC=Ecuador
 EE=Estland
 EG=Egypten
-EH=V\u00E4stsahara
+EH=V\u00e4stra Sahara
 ER=Eritrea
 ES=Spanien
 ET=Etiopien
 FI=Finland
 FJ=Fiji
-FK=Falklands\u00F6arna
+FK=Falklands\u00f6arna
 FM=Mikronesien
-FO=F\u00E4r\u00F6arna
+FO=F\u00e4r\u00f6arna
 FR=Frankrike
 GA=Gabon
 GB=Storbritannien
@@ -953,19 +952,19 @@
 GG=Guernsey
 GH=Ghana
 GI=Gibraltar
-GL=Gr\u00F6nland
+GL=Gr\u00f6nland
 GM=Gambia
 GN=Guinea
 GP=Guadeloupe
 GQ=Ekvatorialguinea
 GR=Grekland
-GS=Sydgeorgien och Sydsandwich\u00F6arna
+GS=Sydgeorgien och Sydsandwich\u00f6arna
 GT=Guatemala
 GU=Guam
 GW=Guinea-Bissau
 GY=Guyana
 HK=Hongkong
-HM=Heard-\u00F6n och McDonald-\u00F6arna
+HM=Heard\u00f6ch McDonald\u00f6arna
 HN=Honduras
 HR=Kroatien
 HT=Haiti
@@ -975,7 +974,7 @@
 IL=Israel
 IM=Isle of Man
 IN=Indien
-IO=Brittiska Indiska Ocean\u00F6arna
+IO=Brittiska territoriet i Indiska Oceanen
 IQ=Irak
 IR=Iran
 IS=Island
@@ -985,7 +984,7 @@
 JO=Jordanien
 JP=Japan
 KE=Kenya
-KG=Kirgizistan
+KG=Kirgisistan
 KH=Kambodja
 KI=Kiribati
 KM=Komorerna
@@ -993,11 +992,11 @@
 KP=Nordkorea
 KR=Sydkorea
 KW=Kuwait
-KY=Cayman\u00F6arna
+KY=Cayman\u00f6arna
 KZ=Kazakstan
 LA=Laos
 LB=Libanon
-LC=St Lucia
+LC=Saint Lucia
 LI=Liechtenstein
 LK=Sri Lanka
 LR=Liberia
@@ -1012,13 +1011,13 @@
 ME=Montenegro
 MF=Saint-Martin
 MG=Madagaskar
-MH=Marshall\u00F6arna
+MH=Marshall\u00f6arna
 MK=Makedonien
 ML=Mali
 MM=Myanmar
 MN=Mongoliet
 MO=Macao
-MP=Norra Marianer\u00F6arna
+MP=Nordmarianerna
 MQ=Martinique
 MR=Mauretanien
 MS=Montserrat
@@ -1028,14 +1027,14 @@
 MW=Malawi
 MX=Mexiko
 MY=Malaysia
-MZ=Mo\u00E7ambique
+MZ=Mo\u00e7ambique
 NA=Namibia
 NC=Nya Kaledonien
 NE=Niger
-NF=Norfolk\u00F6n
+NF=Norfolk\u00f6n
 NG=Nigeria
 NI=Nicaragua
-NL=Nederl\u00E4nderna
+NL=Nederl\u00e4nderna
 NO=Norge
 NP=Nepal
 NR=Nauru
@@ -1057,18 +1056,18 @@
 PW=Palau
 PY=Paraguay
 QA=Qatar
-RE=R\u00E9union
-RO=Rum\u00E4nien
+RE=R\u00e9union
+RO=Rum\u00e4nien
 RS=Serbien
 RU=Ryssland
 RW=Rwanda
 SA=Saudiarabien
-SB=Salomon\u00F6arna
+SB=Salomon\u00f6arna
 SC=Seychellerna
 SD=Sudan
 SE=Sverige
 SG=Singapore
-SH=St Helena
+SH=Saint Helena
 SI=Slovenien
 SJ=Svalbard och Jan Mayen
 SK=Slovakien
@@ -1077,19 +1076,19 @@
 SN=Senegal
 SO=Somalia
 SR=Surinam
-ST=Sao Tom\u00E9 och Pr\u00EDncipe
+ST=S\u00e3o Tom\u00e9 och Pr\u00edncipe
 SV=El Salvador
 SX=Sint Maarten (nederl\u00E4ndska delen)
 SY=Syrien
 SZ=Swaziland
-TC=Turks- och Caicos\u00F6arna
+TC=Turks- och Caicos\u00f6arna
 TD=Tchad
-TF=Franska Sydterritorierna
+TF=Franska s\u00f6dra territorierna
 TG=Togo
 TH=Thailand
 TJ=Tadzjikistan
-TK=Tokelau\u00F6arna
-TL=\u00D6sttimor
+TK=Tokelau
+TL=Timor-Leste
 TM=Turkmenistan
 TN=Tunisien
 TO=Tonga
@@ -1100,22 +1099,22 @@
 TZ=Tanzania
 UA=Ukraina
 UG=Uganda
-UM=F\u00F6renta staternas mindre \u00F6ar i Oceanien och V\u00E4stindien
-US=USA
+UM=F\u00f6renta staternas mindre \u00f6ar i Oceanien och V\u00e4stindien
+US=Amerikas F\u00f6renta Stater
 UY=Uruguay
 UZ=Uzbekistan
-VA=Vatikanstaten
-VC=St Vincent och Grenadinerna
+VA=Vatikanen
+VC=Saint Vincent och Grenadinerna
 VE=Venezuela
-VG=Brittiska Jungfru\u00F6arna
-VI=Amerikanska Jungfru\u00F6arna
+VG=Brittiska Virgin Islands
+VI=Amerikanska Virgin Islands
 VN=Vietnam
 VU=Vanuatu
-WF=Wallis- och Futuna\u00F6arna
+WF=Wallis och Futuna
 WS=Samoa
 YE=Jemen
 YT=Mayotte
-ZA=Sydafrika
+ZA=Sydafrika 
 ZM=Zambia
 ZW=Zimbabwe
 
@@ -1152,19 +1151,3 @@
 154=Norra Europa
 155=V\u00E4stra Europa
 419=Latinamerika och Karibien
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=Euro
-%%B=Bokm\u00E5l
-%%NY=Nynorsk
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_zh.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_zh.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=\u963F\u6CD5\u5C14\u6587
-ab=\u963F\u5E03\u54C8\u897F\u4E9A\u6587
-ae=\u963F\u7EF4\u65AF\u9640\u6587
-af=\u5357\u975E\u8377\u5170\u6587
-ak=\u5E93\u963F\u6587
-am=\u963F\u59C6\u54C8\u62C9\u6587
-an=\u963F\u62C9\u8D21\u6587
-ar=\u963F\u62C9\u4F2F\u6587
-as=\u963F\u8428\u59C6\u6587
-av=\u963F\u74E6\u5C14\u6587
-ay=\u827E\u9A6C\u62C9\u6587
-az=\u963F\u585E\u62DC\u7586\u6587
-ba=\u5DF4\u4EC0\u5BA2\u5C14\u6587
-be=\u767D\u4FC4\u7F57\u65AF\u6587
-bg=\u4FDD\u52A0\u5229\u4E9A\u6587
-bh=\u6BD4\u54C8\u5C14\u6587
-bi=\u6BD4\u65AF\u62C9\u9A6C\u6587
-bm=\u73ED\u5DF4\u62C9\u6587
-bn=\u5B5F\u52A0\u62C9\u6587
-bo=\u897F\u85CF\u6587
-br=\u5E03\u91CC\u591A\u5C3C\u6587
-bs=\u6CE2\u65AF\u5C3C\u4E9A\u6587
-ca=\u52A0\u6CF0\u7F57\u5C3C\u4E9A\u6587
-ce=\u8F66\u81E3\u6587
-ch=\u67E5\u83AB\u7F57\u6587
-co=\u79D1\u897F\u5609\u6587
-cr=\u514B\u91CC\u6587
-cs=\u6377\u514B\u6587
-cu=\u6559\u4F1A\u65AF\u62C9\u592B\u6587
-cv=\u695A\u74E6\u4EC0\u6587
-cy=\u5A01\u5C14\u58EB\u6587
-da=\u4E39\u9EA6\u6587
-de=\u5FB7\u6587
-dv=\u8FEA\u7EF4\u5E0C\u6587
-dz=\u4E0D\u4E39\u6587
-ee=\u57C3\u7EF4\u6587
-el=\u5E0C\u814A\u6587
-en=\u82F1\u6587
-eo=\u4E16\u754C\u6587
-es=\u897F\u73ED\u7259\u6587
-et=\u7231\u6C99\u5C3C\u4E9A\u6587
-eu=\u5DF4\u65AF\u514B\u6587
-fa=\u6CE2\u65AF\u6587
-ff=\u5BCC\u62C9\u6587
-fi=\u82AC\u5170\u6587
-fj=\u6590\u6D4E\u6587
-fo=\u6CD5\u7F57\u6587
-fr=\u6CD5\u6587
-fy=\u5F17\u91CC\u65AF\u5170\u6587
-ga=\u7231\u5C14\u5170\u6587
-gd=\u82CF\u683C\u5170-\u76D6\u5C14\u6587
-gl=\u52A0\u5229\u897F\u4E9A\u6587
-gn=\u74DC\u62C9\u5C3C\u6587
-gu=\u53E4\u52A0\u62C9\u63D0\u6587
-gv=\u9A6C\u6069\u6587
-ha=\u8C6A\u6492\u6587
-he=\u5E0C\u4F2F\u6765\u6587
+aa=\u963f\u6cd5\u6587
+ab=\u963f\u5e03\u54c8\u897f\u4e9a\u6587
+ae=\u963f\u7ef4\u65af\u9640\u6587
+af=\u5357\u975e\u8377\u5170\u6587
+ak=\u5e93\u963f\u6587
+am=\u963f\u59c6\u54c8\u62c9\u6587
+an=\u963f\u62c9\u8d21\u6587
+ar=\u963f\u62c9\u4f2f\u6587
+as=\u963f\u8428\u59c6\u6587
+av=\u963f\u74e6\u5c14\u6587
+ay=\u827e\u9a6c\u62c9\u6587
+az=\u963f\u585e\u62dc\u7586\u6587
+ba=\u5df4\u4ec0\u5ba2\u5c14\u6587
+be=\u767d\u4fc4\u7f57\u65af\u6587
+bg=\u4fdd\u52a0\u5229\u4e9a\u6587
+bh=\u6bd4\u54c8\u5c14\u6587
+bi=\u6bd4\u65af\u62c9\u9a6c\u6587
+bm=\u73ed\u5df4\u62c9\u6587
+bn=\u5b5f\u52a0\u62c9\u6587
+bo=\u897f\u85cf\u6587
+br=\u5e03\u91cc\u591a\u5c3c\u6587
+bs=\u6ce2\u65af\u5c3c\u4e9a\u6587
+ca=\u52a0\u6cf0\u7f57\u5c3c\u4e9a\u6587
+ce=\u8f66\u81e3\u6587
+ch=\u67e5\u83ab\u7f57\u6587
+co=\u79d1\u897f\u5609\u6587
+cr=\u514b\u91cc\u6587
+cs=\u6377\u514b\u6587
+cu=\u6559\u4f1a\u65af\u62c9\u592b\u6587
+cv=\u695a\u74e6\u4ec0\u6587
+cy=\u5a01\u5c14\u58eb\u6587
+da=\u4e39\u9ea6\u6587
+de=\u5fb7\u6587
+dv=\u8fea\u7ef4\u5e0c\u6587
+dz=\u4e0d\u4e39\u6587
+ee=\u57c3\u7ef4\u6587
+el=\u5e0c\u814a\u6587
+en=\u82f1\u6587
+eo=\u4e16\u754c\u6587
+es=\u897f\u73ed\u7259\u6587
+et=\u7231\u6c99\u5c3c\u4e9a\u6587
+eu=\u5df4\u65af\u514b\u6587
+fa=\u6ce2\u65af\u6587
+ff=\u5bcc\u62c9\u6587
+fi=\u82ac\u5170\u6587
+fj=\u6590\u6d4e\u6587
+fo=\u6cd5\u7f57\u6587
+fr=\u6cd5\u6587
+fy=\u5f17\u91cc\u65af\u5170\u6587
+ga=\u7231\u5c14\u5170\u6587
+gd=\u82cf\u683c\u5170- \u76d6\u5c14\u6587
+gl=\u52a0\u5229\u897f\u4e9a\u6587
+gn=\u74dc\u62c9\u5c3c\u6587
+gu=\u53e4\u52a0\u62c9\u63d0\u6587
+gv=\u9a6c\u6069\u6587
+ha=\u8c6a\u6492\u6587
+he=\u5e0c\u4f2f\u6765\u6587
 hi=\u5370\u5730\u6587
-ho=\u65B0\u91CC\u6728\u6258\u6587
-hr=\u514B\u7F57\u5730\u4E9A\u6587
-ht=\u6D77\u5730\u6587
+ho=\u65b0\u91cc\u6728\u6258\u6587
+hr=\u514b\u7f57\u5730\u4e9a\u6587
+ht=\u6d77\u5730\u6587
 hu=\u5308\u7259\u5229\u6587
-hy=\u4E9A\u7F8E\u5C3C\u4E9A\u6587
-hz=\u8D6B\u96F7\u7F57\u6587
-ia=\u62C9\u4E01\u56FD\u9645\u6587
-id=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587
-ie=\u62C9\u4E01\u56FD\u9645\u6587
-ig=\u4F0A\u535A\u6587
-ii=\u56DB\u5DDD\u5F5D\u6587
-ik=\u4F9D\u5974\u76AE\u7EF4\u514B\u6587
-in=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587
-io=\u4F0A\u591A\u6587
-is=\u51B0\u5C9B\u6587
-it=\u610F\u5927\u5229\u6587
-iu=\u7231\u65AF\u57FA\u6469\u6587
-iw=\u5E0C\u4F2F\u6765\u6587
-ja=\u65E5\u6587
-ji=\u4F9D\u5730\u6587
-jv=\u722A\u54C7\u6587
-ka=\u683C\u9C81\u5409\u4E9A\u6587
-kg=\u521A\u679C\u6587
-ki=\u5409\u5E93\u5C24\u6587
-kj=\u5361\u6E7E\u4E9A\u9A6C\u6587
-kk=\u54C8\u8428\u514B\u6587
-kl=\u683C\u9675\u5170\u6587
-km=\u67EC\u57D4\u5BE8\u6587
-kn=\u57C3\u7EB3\u5FB7\u6587
-ko=\u671D\u9C9C\u6587
-kr=\u5361\u52AA\u91CC\u6587
-ks=\u514B\u4EC0\u7C73\u5C14\u6587
-ku=\u5E93\u5C14\u5FB7\u6587
-kv=\u79D1\u7C73\u6587
-kw=\u5EB7\u6C83\u5C14\u6587
-ky=\u5409\u5C14\u5409\u65AF\u6587
-la=\u62C9\u4E01\u6587
-lb=\u5362\u68EE\u5821\u6587
-lg=\u5E72\u8FBE\u6587
+hy=\u4e9a\u7f8e\u5c3c\u4e9a\u6587
+hz=\u8d6b\u96f7\u7f57\u6587
+ia=\u62c9\u4e01\u56fd\u9645\u6587
+id=\u5370\u5ea6\u5c3c\u897f\u4e9a\u6587
+ie=\u62c9\u4e01\u56fd\u9645\u6587
+ig=\u4f0a\u535a\u6587
+ii=\u56db\u5ddd\u5f5d\u6587
+ik=\u4f9d\u5974\u76ae\u7ef4\u514b\u6587
+in=\u5370\u5ea6\u5c3c\u897f\u4e9a\u6587
+io=\u4f0a\u591a\u6587
+is=\u51b0\u5c9b\u6587
+it=\u610f\u5927\u5229\u6587
+iu=\u7231\u65af\u57fa\u6469\u6587
+iw=\u5e0c\u4f2f\u6765\u6587
+ja=\u65e5\u6587
+ji=\u4f9d\u5730\u6587
+jv=\u722a\u54c7\u6587
+ka=\u683c\u9c81\u5409\u4e9a\u6587
+kg=\u521a\u679c\u6587
+ki=\u5409\u5e93\u5c24\u6587
+kj=\u5361\u6e7e\u4e9a\u9a6c\u6587
+kk=\u54c8\u8428\u514b\u6587
+kl=\u683c\u9675\u5170\u6587
+km=\u67ec\u57d4\u5be8\u6587
+kn=\u57c3\u7eb3\u5fb7\u6587
+ko=\u671d\u9c9c\u6587
+kr=\u5361\u52aa\u91cc\u6587
+ks=\u514b\u4ec0\u7c73\u5c14\u6587
+ku=\u5e93\u5c14\u5fb7\u6587
+kv=\u79d1\u7c73\u6587
+kw=\u5eb7\u6c83\u5c14\u6587
+ky=\u5409\u5c14\u5409\u65af\u6587
+la=\u62c9\u4e01\u6587
+lb=\u5362\u68ee\u5821\u6587
+lg=\u5e72\u8fbe\u6587
 li=\u6797\u5821\u6587
-ln=\u6797\u52A0\u62C9\u6587
-lo=\u8001\u631D\u6587
-lt=\u7ACB\u9676\u5B9B\u6587
-lu=\u5362\u5DF4-\u52A0\u4E39\u52A0\u6587
-lv=\u62C9\u6258\u7EF4\u4E9A\u6587 (\u5217\u6258)
-mg=\u9A6C\u5C14\u52A0\u4EC0\u6587
-mh=\u9A6C\u7ECD\u5C14\u6587
-mi=\u6BDB\u5229\u6587
-mk=\u9A6C\u5176\u987F\u6587
-ml=\u9A6C\u6765\u4E9A\u62C9\u59C6\u6587
-mn=\u8499\u53E4\u6587
-mo=\u6469\u5C14\u591A\u74E6\u6587
-mr=\u9A6C\u62C9\u5730\u6587
-ms=\u9A6C\u6765\u6587
-mt=\u9A6C\u8033\u4ED6\u6587
-my=\u7F05\u7538\u6587
-na=\u7459\u9C81\u6587
-nb=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u6587
-nd=\u5317\u6069\u5FB7\u6BD4\u5229\u6587
-ne=\u5C3C\u6CCA\u5C14\u6587
-ng=\u6069\u4E1C\u52A0\u6587
+ln=\u6797\u52a0\u62c9\u6587
+lo=\u8001\u631d\u6587
+lt=\u7acb\u9676\u5b9b\u6587
+lu=\u5362\u5df4-\u52a0\u4e39\u52a0
+lv=\u62c9\u6258\u7ef4\u4e9a\u6587(\u5217\u6258)
+mg=\u9a6c\u5c14\u52a0\u4ec0\u6587
+mh=\u9a6c\u7ecd\u5c14\u6587
+mi=\u6bdb\u5229\u6587
+mk=\u9a6c\u5176\u987f\u6587
+ml=\u9a6c\u6765\u4e9a\u62c9\u59c6\u6587
+mn=\u8499\u53e4\u6587
+mo=\u6469\u5c14\u591a\u74e6\u6587
+mr=\u9a6c\u62c9\u5730\u6587
+ms=\u9a6c\u6765\u6587
+mt=\u9a6c\u8033\u4ed6\u6587
+my=\u7f05\u7538\u6587
+na=\u7459\u9c81\u6587
+nb=\u632a\u5a01\u535a\u514b\u9a6c\u5c14\u6587
+nd=\u5317\u6069\u5fb7\u6bd4\u5229\u6587
+ne=\u5c3c\u6cca\u5c14\u6587
+ng=\u6069\u4e1c\u52a0\u6587
 nl=\u8377\u5170\u6587
-nn=\u632A\u5A01\u5C3C\u8BFA\u65AF\u514B\u6587
-no=\u632A\u5A01\u6587
-nr=\u5357\u6069\u5FB7\u6BD4\u5229\u6587
-nv=\u7EB3\u74E6\u970D\u6587
-ny=\u5C3C\u626C\u624E\u6587
-oc=\u5965\u897F\u5766\u6587
-oj=\u5965\u5409\u5E03\u74E6\u6587
-om=\u963F\u66FC\u6587
-or=\u6B27\u91CC\u4E9A\u6587
-os=\u5965\u585E\u68AF\u6587
-pa=\u65C1\u906E\u666E\u6587
-pi=\u5DF4\u5229\u6587
-pl=\u6CE2\u5170\u6587
-ps=\u666E\u4EC0\u56FE\u6587
+nn=\u632a\u5a01\u5c3c\u8bfa\u65af\u514b\u6587
+no=\u632a\u5a01\u6587
+nr=\u5357\u6069\u5fb7\u6bd4\u5229\u6587
+nv=\u7eb3\u74e6\u970d\u6587
+ny=\u5c3c\u626c\u624e\u6587
+oc=\u5965\u897f\u5766\u6587
+oj=\u5965\u5409\u5e03\u74e6\u6587
+om=\u963f\u66fc\u6587
+or=\u6b27\u91cc\u4e9a\u6587
+os=\u5965\u585e\u68af\u6587
+pa=\u65c1\u906e\u666e\u6587
+pi=\u5df4\u5229\u6587
+pl=\u6ce2\u5170\u6587
+ps=\u666e\u4ec0\u56fe\u6587
 pt=\u8461\u8404\u7259\u6587
-qu=\u76D6\u4E18\u4E9A\u6587
-rm=\u91CC\u6258\u7F57\u66FC\u65AF\u6587
-rn=\u57FA\u9686\u8FEA\u6587
-ro=\u7F57\u9A6C\u5C3C\u4E9A\u6587
-ru=\u4FC4\u6587
-rw=\u5362\u65FA\u8FBE\u6587
-sa=\u68B5\u6587
-sc=\u6492\u4E01\u6587
-sd=\u4FE1\u5FB7\u6587
-se=\u5317\u6C99\u5BC6\u6587
+qu=\u76d6\u4e18\u4e9a\u6587
+rm=\u91cc\u6258\u7f57\u66fc\u65af\u6587
+rn=\u57fa\u9686\u8fea\u6587
+ro=\u7f57\u9a6c\u5c3c\u4e9a\u6587
+ru=\u4fc4\u6587
+rw=\u5362\u65fa\u8fbe\u6587
+sa=\u68b5\u6587
+sc=\u6492\u4e01\u6587
+sd=\u82cf\u4e39\u6587
+se=\u5317\u6c99\u5bc6\u6587
 sg=\u6851\u6208\u6587
-si=\u50E7\u4F3D\u7F57\u6587
-sk=\u65AF\u6D1B\u4F10\u514B\u6587
-sl=\u65AF\u6D1B\u6587\u5C3C\u4E9A\u6587
-sm=\u8428\u6469\u4E9A\u6587
-sn=\u4FEE\u7EB3\u6587
-so=\u7D22\u9A6C\u91CC\u6587
-sq=\u963F\u5C14\u5DF4\u5C3C\u4E9A\u6587
-sr=\u585E\u5C14\u7EF4\u4E9A\u6587
-ss=\u65AF\u74E6\u7279\u6587
-st=\u585E\u7D22\u6258\u6587
-su=\u5DFD\u4ED6\u6587
-sv=\u745E\u5178\u6587
-sw=\u65AF\u74E6\u5E0C\u91CC\u6587
-ta=\u6CF0\u7C73\u5C14\u6587
-te=\u6CF0\u5362\u56FA\u6587
-tg=\u5854\u5409\u514B\u6587
-th=\u6CF0\u6587
-ti=\u63D0\u683C\u91CC\u5C3C\u4E9A\u6587
-tk=\u571F\u5E93\u66FC\u6587
-tl=\u5854\u52A0\u8DEF\u65CF\u6587
-tn=\u7A81\u5C3C\u65AF\u6587
-to=\u6C64\u52A0\u6587
-tr=\u571F\u8033\u5176\u6587
-ts=\u7279\u677E\u52A0\u6587
-tt=\u9791\u977C\u6587
-tw=\u5951\u7EF4\u6587
-ty=\u5854\u5E0C\u63D0\u6587
-ug=\u7EF4\u543E\u5C14\u6587
-uk=\u4E4C\u514B\u5170\u6587
-ur=\u4E4C\u5C14\u90FD\u6587
-uz=\u4E4C\u5179\u522B\u514B\u6587
-ve=\u6587\u8FBE\u6587
-vi=\u8D8A\u5357\u6587
-vo=\u6C83\u62C9\u666E\u514B\u6587
-wa=\u74E6\u9F99\u6587
-wo=\u6C83\u5C14\u592B\u6587
-xh=\u73ED\u56FE\u6587
-yi=\u4F9D\u5730\u6587
-yo=\u7EA6\u9C81\u5DF4\u6587
-za=\u58EE\u6587
-zh=\u4E2D\u6587
-zu=\u7956\u9C81\u6587
+si=\u50e7\u4f3d\u7f57\u6587
+sk=\u65af\u6d1b\u4f10\u514b\u6587
+sl=\u65af\u6d1b\u6587\u5c3c\u4e9a\u6587
+sm=\u8428\u6469\u4e9a\u6587
+sn=\u585e\u5185\u52a0\u5c14\u6587
+so=\u7d22\u9a6c\u91cc\u6587
+sq=\u963f\u5c14\u5df4\u5c3c\u4e9a\u6587
+sr=\u585e\u5c14\u7ef4\u4e9a\u6587
+ss=\u8f9b\u8f9b\u90a3\u63d0\u6587
+st=\u585e\u7d22\u6258\u6587
+su=\u82cf\u4e39\u6587
+sv=\u745e\u5178\u6587
+sw=\u65af\u74e6\u5e0c\u91cc\u6587
+ta=\u6cf0\u7c73\u5c14\u6587
+te=\u6cf0\u5362\u56fa\u6587
+tg=\u5854\u5409\u514b\u6587
+th=\u6cf0\u6587
+ti=\u63d0\u683c\u91cc\u5c3c\u4e9a\u6587
+tk=\u571f\u5e93\u66fc\u6587
+tl=\u5854\u52a0\u8def\u65cf\u6587
+tn=\u7a81\u5c3c\u65af\u6587
+to=\u6c64\u52a0\u6587
+tr=\u571f\u8033\u5176\u6587
+ts=\u7279\u677e\u52a0\u6587
+tt=\u9791\u977c\u6587
+tw=\u5951\u7ef4\u6587
+ty=\u5854\u5e0c\u63d0\u6587
+ug=\u7ef4\u543e\u5c14\u6587
+uk=\u4e4c\u514b\u5170\u6587
+ur=\u4e4c\u5c14\u90fd\u6587
+uz=\u4e4c\u5179\u522b\u514b\u6587
+ve=\u6587\u8fbe\u6587
+vi=\u8d8a\u5357\u6587
+vo=\u6c83\u62c9\u666e\u514b\u6587
+wa=\u74e6\u9f99\u6587
+wo=\u6c83\u5c14\u592b\u6587
+xh=\u73ed\u56fe\u6587
+yi=\u4f9d\u5730\u6587
+yo=\u7ea6\u9c81\u5df4\u6587
+za=\u85cf\u6587
+zh=\u4e2d\u6587
+zu=\u7956\u9c81\u6587
 
 # key is ISO 639.2 language code
 aar=\u963F\u6CD5\u5C14\u6587
@@ -247,7 +246,7 @@
 alt=\u5357\u963F\u5C14\u6CF0\u6587
 amh=\u963F\u59C6\u54C8\u62C9\u6587
 ang=\u53E4\u82F1\u6587
-anp=\u6602\u52A0\u6587
+anp=\u6602\u52A0\u8BED
 apa=\u963F\u5E15\u5207\u6587
 ara=\u963F\u62C9\u4F2F\u6587
 arc=\u963F\u62C9\u7C73\u6587
@@ -271,7 +270,7 @@
 bak=\u5DF4\u4EC0\u5BA2\u5C14\u6587
 bal=\u4FFE\u8DEF\u652F\u6587
 bam=\u73ED\u5DF4\u62C9\u6587
-ban=\u5DF4\u91CC\u6587
+ban=\u5DF4\u5398\u8BED
 baq=\u5DF4\u65AF\u514B\u6587
 bas=\u5DF4\u8428\u6587
 bat=\u5176\u4ED6\u6CE2\u7F57\u7684\u8BED\u7CFB
@@ -290,9 +289,9 @@
 bos=\u6CE2\u65AF\u5C3C\u4E9A\u6587
 bra=\u5E03\u62C9\u6770\u6587
 bre=\u5E03\u91CC\u591A\u5C3C\u6587
-btk=\u5DF4\u5854\u514B\u6587
+btk=\u5DF4\u5854\u514B\u8BED
 bua=\u5E03\u91CC\u4E9A\u7279\u6587
-bug=\u5E03\u5409\u6587
+bug=\u5E03\u5409\u8BED
 bul=\u4FDD\u52A0\u5229\u4E9A\u6587
 bur=\u7F05\u7538\u6587
 byn=\u5E03\u6797\u6587
@@ -318,7 +317,7 @@
 chv=\u695A\u74E6\u4EC0\u6587
 chy=\u590F\u5EF6\u6587
 cmc=\u67E5\u7C73\u514B\u6587
-cop=\u514B\u666E\u7279\u6587
+cop=\u79D1\u666E\u7279\u6587
 cor=\u5EB7\u6C83\u5C14\u6587
 cos=\u79D1\u897F\u5609\u6587
 cpe=\u5176\u4ED6\u4EE5\u82F1\u6587\u4E3A\u57FA\u7840\u7684\u514B\u91CC\u5965\u5C14\u6DF7\u5408\u8BED\u7CFB
@@ -368,9 +367,9 @@
 fre=\u6CD5\u6587
 frm=\u4E2D\u53E4\u6CD5\u6587
 fro=\u53E4\u6CD5\u6587
-frr=\u5317\u5F17\u91CC\u897F\u4E9A\u6587
+frr=\u5317\u5F17\u91CC\u897F\u4E9A\u8BED
 frs=\u4E1C\u5F17\u91CC\u897F\u4E9A\u6587
-fry=\u897F\u5F17\u91CC\u65AF\u5170\u6587
+fry=\u897F\u5F17\u91CC\u65AF\u5170\u8BED
 ful=\u5BCC\u62C9\u6587
 fur=\u5F17\u7559\u5229\u6587
 gaa=\u52A0\u6587
@@ -381,7 +380,7 @@
 ger=\u5FB7\u6587
 gez=\u5409\u5179\u6587
 gil=\u5409\u5C14\u4F2F\u7279\u65AF\u6587
-gla=\u76D6\u5C14\u6587
+gla=\u76D6\u5C14\u8BED
 gle=\u7231\u5C14\u5170\u6587
 glg=\u52A0\u5229\u897F\u4E9A\u6587
 glv=\u9A6C\u6069\u6587
@@ -392,7 +391,7 @@
 got=\u54E5\u7279\u6587
 grb=\u683C\u5217\u535A\u6587
 grc=\u53E4\u5E0C\u814A\u6587
-gre=\u73B0\u4EE3\u5E0C\u814A\u6587
+gre=\u5E0C\u814A\u8BED, \u73B0\u4EE3 (1453-)
 grn=\u74DC\u62C9\u5C3C\u6587
 gsw=\u745E\u58EB\u5FB7\u6587
 guj=\u53E4\u52A0\u62C9\u63D0\u6587
@@ -422,7 +421,7 @@
 iku=\u7231\u65AF\u57FA\u6469\u6587
 ile=\u62C9\u4E01\u56FD\u9645\u6587
 ilo=\u4F0A\u6D1B\u5E72\u8BFA\u6587
-ina=\u62C9\u4E01\u56FD\u9645\u6587 (\u56FD\u9645\u8F85\u52A9\u8BED\u8054\u76DF)
+ina=\u62C9\u4E01\u56FD\u9645\u8BED (\u56FD\u9645\u8F85\u52A9\u8BED\u8054\u76DF)
 inc=\u5176\u4ED6\u5370\u5EA6\u8BED\u7CFB
 ind=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587
 ine=\u5176\u4ED6\u5370\u6B27\u8BED\u7CFB
@@ -441,7 +440,7 @@
 kac=\u5361\u7434\u6587
 kal=\u683C\u9675\u5170\u6587
 kam=\u5361\u59C6\u5DF4\u6587
-kan=\u57C3\u7EB3\u5FB7\u6587
+kan=\u5361\u7EB3\u5854\u514B\u8BED
 kar=\u5580\u4F26\u6587
 kas=\u514B\u4EC0\u7C73\u5C14\u6587
 kau=\u5361\u52AA\u91CC\u6587
@@ -450,7 +449,7 @@
 kbd=\u5361\u5DF4\u5C14\u8FBE\u6587
 kha=\u5361\u897F\u6587
 khi=\u5176\u4ED6\u79D1\u4F0A\u6851\u8BED\u7CFB
-khm=\u4E2D\u9AD8\u68C9\u6587
+khm=\u4E2D\u9AD8\u68C9\u8BED
 kho=\u548C\u7530\u6587
 kik=\u5409\u5E93\u5C24\u6587
 kin=\u5362\u65FA\u8FBE\u6587
@@ -459,14 +458,14 @@
 kok=\u521A\u5361\u5C3C\u6587
 kom=\u79D1\u7C73\u6587
 kon=\u521A\u679C\u6587
-kor=\u97E9\u6587
+kor=\u671D\u9C9C\u6587
 kos=\u79D1\u65AF\u62C9\u4F0A\u6587
-kpe=\u514B\u4F69\u5217\u6587
+kpe=\u514B\u4F69\u52D2\u8BED
 krc=\u5361\u62C9\u6070\u4F0A\u5DF4\u5C14\u5361\u5C14\u6587
 krl=\u5361\u7D2F\u5229\u963F\u6587
 kro=\u514B\u9C81\u6587
 kru=\u5E93\u9C81\u514B\u6587
-kua=\u5BBD\u4E9A\u739B\u6587
+kua=\u5BBD\u4E9A\u739B\u8BED
 kum=\u5E93\u6885\u514B\u6587
 kur=\u5E93\u5C14\u5FB7\u6587
 kut=\u5E93\u7279\u5185\u6587
@@ -501,10 +500,10 @@
 mao=\u6BDB\u5229\u6587
 map=\u6FB3\u65AF\u7279\u7F57\u5C3C\u897F\u4E9A\u8BED\u7CFB
 mar=\u9A6C\u62C9\u5730\u6587
-mas=\u8428\u4F0A\u6587
+mas=\u8428\u4F0A\u8BED
 may=\u9A6C\u6765\u6587
 mdf=\u83AB\u514B\u6C99\u6587
-mdr=\u66FC\u8FBE\u6587
+mdr=\u66FC\u8FBE\u5C14
 men=\u95E8\u8FEA\u6587
 mga=\u4E2D\u53E4\u7231\u5C14\u5170\u6587
 mic=\u7C73\u514B\u9A6C\u514B\u6587
@@ -531,8 +530,8 @@
 nap=\u62FF\u6CE2\u91CC\u6587
 nau=\u7459\u9C81\u6587
 nav=\u7EB3\u74E6\u970D\u6587
-nbl=\u5357\u6069\u5FB7\u6BD4\u5229\u6587
-nde=\u5317\u6069\u5FB7\u6BD4\u5229\u6587
+nbl=\u6069\u5FB7\u8D1D\u52D2\u8BED, \u5357\u90E8
+nde=\u6069\u5FB7\u8D1D\u52D2\u8BED, \u5317\u90E8
 ndo=\u6069\u4E1C\u52A0\u6587
 nds=\u4F4E\u5730\u5FB7\u6587; \u4F4E\u5730\u6492\u514B\u900A\u6587
 nep=\u5C3C\u6CCA\u5C14\u6587
@@ -541,15 +540,15 @@
 nic=\u5C3C\u52A0\u62C9\u74DC\u79D1\u591A\u5DF4
 niu=\u7EBD\u57C3\u6587
 nno=\u632A\u5A01\u5C3C\u8BFA\u65AF\u514B\u6587
-nob=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u6587
+nob=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u8BED
 nog=\u8BFA\u76D6\u6587
 non=\u53E4\u8BFA\u5C14\u65AF\u6587
 nor=\u632A\u5A01\u6587
-nqo=N'Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00)
+nqo=N\u2019Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00)
 nso=\u5317\u7D22\u6258\u6587
 nub=\u52AA\u6BD4\u4E9A\u8BED\u7CFB
 nwc=\u5C3C\u74E6\u5C14\u6587
-nya=\u9F50\u5207\u74E6\u6587
+nya=\u9F50\u5207\u74E6\u8BED
 nym=\u5C3C\u4E9A\u59C6\u97E6\u9F50\u6587
 nyn=\u5C3C\u6602\u79D1\u52D2\u6587
 nyo=\u5C3C\u7EA6\u7F57\u6587
@@ -558,18 +557,18 @@
 oji=\u5965\u5409\u5E03\u74E6\u6587
 ori=\u6B27\u91CC\u4E9A\u6587
 orm=\u963F\u66FC\u6587
-osa=\u5965\u8428\u683C\u6587
+osa=\u5965\u8428\u683C\u8BED
 oss=\u5965\u585E\u68AF\u6587
 ota=\u5965\u6258\u66FC\u571F\u8033\u5176\u6587
 oto=\u5965\u6258\u7C73\u8BED\u7CFB
 paa=\u5176\u4ED6\u5DF4\u5E03\u4E9A\u6587
-pag=\u90A6\u963F\u897F\u6960\u6587
+pag=\u90A6\u963F\u897F\u6960\u8BED
 pal=\u5E15\u62C9\u7EF4\u6587
 pam=\u90A6\u677F\u7259\u6587
 pan=\u65C1\u906E\u666E\u6587
 pap=\u5E15\u76AE\u4E9A\u95E8\u6258\u6587
 pau=\u5E15\u52B3\u6587
-peo=\u53E4\u8001\u6CE2\u65AF\u6587
+peo=\u53E4\u8001\u6CE2\u65AF\u8BED
 per=\u6CE2\u65AF\u6587
 phi=\u5176\u4ED6\u83F2\u5F8B\u5BBE\u8BED\u7CFB
 phn=\u8153\u5C3C\u57FA\u6587
@@ -578,14 +577,14 @@
 pon=\u6CE2\u7EB3\u4F69\u6587
 por=\u8461\u8404\u7259\u6587
 pra=\u666E\u62C9\u514B\u91CC\u7279\u8BF8\u8BED\u8A00
-pro=\u53E4\u666E\u7F57\u65FA\u65AF\u6587 (\u81F3 1500 \u5E74)
+pro=\u666E\u7F57\u6587\u65AF\u6587
 pus=\u666E\u4EC0\u56FE\u6587
 que=\u76D6\u4E18\u4E9A\u6587
 raj=\u62C9\u8D3E\u65AF\u5766\u6587
 rap=\u62C9\u5E15\u52AA\u4F0A\u6587
 rar=\u62C9\u7F57\u6C64\u52A0\u6587
 roa=\u5176\u4ED6\u62C9\u4E01\u8BED\u7CFB
-roh=\u7F57\u66FC\u4EC0\u6587
+roh=\u7F57\u66FC\u4EC0\u8BED
 rom=\u5409\u666E\u8D5B\u6587
 rum=\u7F57\u9A6C\u5C3C\u4E9A\u6587
 run=\u57FA\u9686\u8FEA\u6587
@@ -608,7 +607,7 @@
 sgn=\u624B\u8BED
 shn=\u63B8\u6587
 sid=\u6089\u8FBE\u6469\u6587
-sin=\u8F9B\u54C8\u62C9\u6587
+sin=\u8F9B\u54C8\u62C9\u8BED
 sio=\u82CF\u8BED\u8BF8\u8BED\u8A00
 sit=\u6C49\u85CF\u8BF8\u8BED\u8A00
 sla=\u5176\u4ED6\u65AF\u62C9\u592B\u8BED\u7CFB
@@ -617,20 +616,20 @@
 sma=\u5357\u8428\u7C73\u6587
 sme=\u5317\u6C99\u5BC6\u6587
 smi=\u5176\u4ED6\u8428\u7C73\u6587
-smj=\u5F8B\u52D2\u6B27\u8428\u83AB\u65AF\u6587
-smn=\u4F0A\u7EB3\u91CC\u8428\u7C73\u6587
+smj=\u5F8B\u52D2\u6B27\u8428\u83AB\u65AF\u8BED
+smn=\u4F0A\u7EB3\u91CC\u8428\u7C73\u8BED
 smo=\u8428\u6469\u4E9A\u6587
 sms=\u65AF\u79D1\u7279\u8428\u7C73\u6587
 sna=\u4FEE\u7EB3\u6587
 snd=\u4FE1\u5FB7\u6587
 snk=\u7D22\u5C3C\u57FA\u6587
-sog=\u53E4\u7C9F\u7279\u6587
+sog=\u53E4\u7C9F\u7279\u8BED
 som=\u7D22\u9A6C\u91CC\u6587
 son=\u6851\u6D77\u6587
-sot=\u585E\u7D22\u6258\u6587
+sot=\u7D22\u6258\u8BED, \u5357\u90E8
 spa=\u897F\u73ED\u7259\u6587
 srd=\u6492\u4E01\u6587
-srn=\u82CF\u91CC\u5357\u6C64\u52A0\u6587
+srn=Sranan Tongo (\u6E90\u4E8E\u514B\u91CC\u5965\u5C14\u8BED)
 srp=\u585E\u5C14\u7EF4\u4E9A\u6587
 srr=\u8C22\u5217\u5C14\u6587
 ssa=\u975E\u6D32\u6492\u54C8\u62C9\u6C99\u6F20\u8FB9\u7F18\u5730\u5E26\u8BED\u8A00
@@ -641,14 +640,14 @@
 sux=\u82CF\u9A6C\u6587
 swa=\u65AF\u74E6\u5E0C\u91CC\u6587
 swe=\u745E\u5178\u6587
-syc=\u53E4\u5178\u53D9\u5229\u4E9A\u6587
-syr=\u53D9\u5229\u4E9A\u6587
+syc=\u53E4\u5178\u53D9\u5229\u4E9A\u8BED
+syr=\u53D9\u5229\u4E9A\u8BED
 tah=\u5854\u5E0C\u63D0\u6587
 tai=\u50A3\u8BED\u8BF8\u8BED\u8A00 (\u5176\u4ED6)
 tam=\u6CF0\u7C73\u5C14\u6587
 tat=\u9791\u977C\u6587
 tel=\u6CF0\u5362\u56FA\u6587
-tem=\u6ED5\u5185\u6587
+tem=\u6ED5\u5185\u8BED
 ter=\u7279\u5217\u7EB3\u6587
 tet=\u7279\u5854\u59C6\u6587
 tgk=\u5854\u5409\u514B\u6587
@@ -663,7 +662,7 @@
 tli=\u7279\u6797\u5409\u7279\u6587
 tmh=\u5854\u9A6C\u5947\u514B\u6587
 tog=\u6C64\u52A0\u6587 (\u5C3C\u4E9A\u8428\u5730\u533A)
-ton=\u6C64\u52A0\u6587 (\u6C64\u52A0\u5C9B)
+ton=\u6C64\u52A0\u8BED (\u6C64\u52A0\u5C9B)
 tpi=\u6258\u514B\u76AE\u8F9B\u6587
 tsi=\u8482\u59C6\u897F\u4E9A\u6587
 tsn=\u7A81\u5C3C\u65AF\u6587
@@ -710,20 +709,20 @@
 zha=\u58EE\u6587
 znd=\u8D5E\u5FB7\u6587
 zul=\u7956\u9C81\u6587
-zun=\u7956\u5C3C\u6587
+zun=\u7956\u5C3C\u8BED
 zxx=\u65E0\u8BED\u8A00\u5185\u5BB9
-zza=\u624E\u624E\u6587
+zza=\u624E\u624E\u8BED
 
 # script names
 # key is ISO 15924 script code
 
 Arab=\u963F\u62C9\u4F2F\u6587
-Armi=\u7687\u5BB6\u4E9A\u62C9\u59C6\u6587
+Armi=\u7687\u5BB6\u4E9A\u62C9\u59C6\u8BED
 Armn=\u4E9A\u7F8E\u5C3C\u4E9A\u6587
-Avst=\u963F\u7EF4\u65AF\u9640\u6587
+Avst=\u963F\u7EF4\u65AF\u9640\u8BED
 Bali=\u5DF4\u91CC\u6587
-Bamu=\u5DF4\u59C6\u7A46\u6587
-Bass=\u5DF4\u8428\u74E6\u8D6B\u6587
+Bamu=\u5DF4\u59C6\u7A46\u8BED
+Bass=\u5DF4\u8428\u74E6\u8D6B\u8BED
 Batk=\u5DF4\u5854\u514B\u6587
 Beng=\u5B5F\u52A0\u62C9\u6587
 Blis=\u5E03\u5217\u65AF\u7B26\u53F7
@@ -731,133 +730,133 @@
 Brah=\u5A46\u7F57\u7C73\u6587\u5B57
 Brai=\u5E03\u83B1\u53F6\u76F2\u6587
 Bugi=\u5E03\u5409\u6587
-Buhd=\u5E03\u5E0C\u5FB7\u6587
-Cakm=\u67E5\u514B\u9A6C\u6587
+Buhd=\u5E03\u5E0C\u5FB7\u8BED
+Cakm=\u67E5\u514B\u9A6C\u8BED
 Cans=\u52A0\u62FF\u5927\u571F\u8457\u7EDF\u4E00\u7B26\u53F7\u8BED
-Cari=\u5361\u91CC\u4E9A\u6587
-Cham=\u5360\u6587
+Cari=\u5361\u91CC\u4E9A\u8BED
+Cham=\u5360\u8BED
 Cher=\u5F7B\u7F57\u57FA\u6587
 Cirt=\u8272\u65AF\u6587
-Copt=\u514B\u666E\u7279\u6587
-Cprt=\u585E\u6D66\u8DEF\u65AF\u6587
-Cyrl=\u897F\u91CC\u5C14\u6587
+Copt=\u514B\u666E\u7279\u8BED
+Cprt=\u585E\u6D66\u8DEF\u65AF\u8BED
+Cyrl=\u897F\u91CC\u5C14\u8BED
 Cyrs=\u897F\u91CC\u5C14\u6587\u5B57 (\u53E4\u6559\u4F1A\u65AF\u62C9\u592B\u8BED\u7684\u53D8\u4F53)
 Deva=\u68B5\u6587
 Dsrt=\u5FB7\u585E\u83B1\u7279\u6587
 Dupl=Duployan \u901F\u8BB0
-Egyd=\u540E\u671F\u57C3\u53CA\u6587
+Egyd=\u540E\u671F\u57C3\u53CA\u8BED
 Egyh=\u53E4\u57C3\u53CA\u50E7\u4FA3\u4E66\u5199\u4F53
 Egyp=\u53E4\u57C3\u53CA\u8C61\u5F62\u6587
 Elba=\u7231\u5C14\u5DF4\u6851
-Ethi=\u57C3\u585E\u4FC4\u6BD4\u4E9A\u6587
+Ethi=\u57C3\u585E\u4FC4\u6BD4\u4E9A\u8BED
 Geok=\u52AA\u65AF\u514B\u80E1\u91CC\u6587
 Geor=\u683C\u9C81\u5409\u4E9A\u6587
-Glag=\u683C\u62C9\u54E5\u91CC\u6587
+Glag=\u683C\u62C9\u54E5\u91CC\u8BED
 Goth=\u54E5\u7279\u6587
 Gran=\u5404\u5170\u7279\u54C8\u6587\u5B57
 Grek=\u5E0C\u814A\u6587
 Gujr=\u53E4\u52A0\u62C9\u63D0\u6587
-Guru=\u679C\u9C81\u7A46\u5947\u6587
+Guru=\u679C\u9C81\u7A46\u5947\u8BED
 Hang=\u97E9\u6587
-Hani=\u6C49\u6587
-Hano=\u6C49\u5974\u7F57\u6587
+Hani=\u6C49\u8BED
+Hano=\u6C49\u5974\u7F57\u8BED
 Hans=\u7B80\u4F53\u4E2D\u6587
 Hant=\u7E41\u4F53\u4E2D\u6587
 Hebr=\u5E0C\u4F2F\u6765\u6587
 Hira=\u5E73\u5047\u540D
 Hmng=\u6768\u677E\u5F55\u82D7\u6587
 Hrkt=\u7247\u5047\u540D\u6216\u5E73\u5047\u540D
-Hung=\u53E4\u5308\u7259\u5229\u6587
+Hung=\u53E4\u5308\u7259\u5229\u8BED
 Inds=\u5370\u5EA6\u6CB3\u6587\u5B57
-Ital=\u53E4\u610F\u5927\u5229\u6587
+Ital=\u53E4\u610F\u5927\u5229\u8BED
 Java=\u722A\u54C7\u6587
 Jpan=\u65E5\u6587
 Kali=\u514B\u8036\u674E\u6587\u5B57
 Kana=\u7247\u5047\u540D
 Khar=\u5361\u7F57\u987B\u63D0\u6587
 Khmr=\u67EC\u57D4\u5BE8\u6587
-Knda=\u5361\u7EB3\u5854\u514B\u6587
+Knda=\u57C3\u7EB3\u5FB7\u6587
 Kore=\u97E9\u6587
 Kpel=\u514B\u4F69\u5217\u6587
-Kthi=\u5361\u7F57\u987B\u63D0\u6587
-Lana=\u5170\u62FF\u6587
-Laoo=\u8001\u631D\u6587
+Kthi=\u5361\u7F57\u987B\u63D0\u8BED
+Lana=\u5170\u62FF\u8BED
+Laoo=\u8001\u631D\u8BED
 Latf=\u62C9\u4E01\u6587 (\u54E5\u7279\u5F0F\u5B57\u4F53\u53D8\u4F53)
 Latg=\u62C9\u4E01\u6587 (\u76D6\u5C14\u8BED\u53D8\u4F53)
 Latn=\u62C9\u4E01\u6587
-Lepc=\u96F7\u5E03\u67E5\u6587
-Limb=\u6797\u5E03\u6587
+Lepc=\u96F7\u5E03\u67E5\u8BED
+Limb=\u6797\u5E03\u8BED
 Lina=\u7EBF\u5F62\u6587\u5B57 A
 Linb=\u7EBF\u5F62\u6587\u5B57 B
-Lisu=\u5088\u50F3\u6587
-Loma=\u6D1B\u9A6C\u6587
-Lyci=\u5229\u897F\u4E9A\u6587
-Lydi=\u5415\u5E95\u4E9A\u6587
+Lisu=\u5088\u50F3\u8BED
+Loma=\u6D1B\u9A6C\u8BED
+Lyci=\u5229\u897F\u4E9A\u8BED
+Lydi=\u5415\u5E95\u4E9A\u8BED
 Mand=\u66FC\u8FBE\u6587
 Mani=\u6469\u5C3C\u6559\u6587
 Maya=\u739B\u96C5\u5723\u7B26\u6587
 Mend=\u95E8\u8FEA\u6587
 Merc=\u9EA6\u82E5\u63D0\u514B\u6587\u8349\u4F53
 Mero=\u9EA6\u82E5\u63D0\u514B\u6587
-Mlym=\u9A6C\u62C9\u4E9A\u62C9\u59C6\u6587
+Mlym=\u9A6C\u6765\u4E9A\u62C9\u59C6\u6587
 Mong=\u8499\u53E4\u6587
 Moon=\u6708\u4EAE\u4F53
-Mtei=\u66FC\u5C3C\u666E\u5C14\u6587
+Mtei=\u66FC\u5C3C\u666E\u5C14\u8BED
 Mymr=\u7F05\u7538
-Narb=\u53E4\u5317\u963F\u62C9\u4F2F\u6587
-Nbat=\u7EB3\u5DF4\u6CF0\u6587
-Nkgb=\u7EB3\u897F\u54E5\u5DF4\u6587
-Nkoo=N'Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00)
-Ogam=\u6B27\u7518\u6587
+Narb=\u53E4\u5317\u963F\u62C9\u4F2F\u8BED
+Nbat=\u7EB3\u5DF4\u6CF0\u8BED
+Nkgb=\u7EB3\u897F\u54E5\u5DF4\u8BED
+Nkoo=N\u2019Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00)
+Ogam=\u6B27\u7518\u8BED
 Olck=\u6851\u5854\u5229\u6587
 Orkh=\u9102\u5C14\u6D51\u6587
-Orya=\u5965\u91CC\u4E9A\u6587
-Osma=\u5965\u65AF\u66FC\u4E9A\u6587
-Palm=\u5E15\u5C14\u8FC8\u62C9\u6587
+Orya=\u5965\u8428\u683C\u6587
+Osma=\u5965\u65AF\u66FC\u4E9A\u8BED
+Palm=\u5E15\u5C14\u8FC8\u62C9\u8BED
 Perm=\u53E4\u5F7C\u5C14\u59C6\u8BF8\u8BED
 Phag=\u516B\u601D\u5DF4\u6587
-Phli=\u7891\u94ED\u4F53\u5DF4\u5217\u7EF4\u6587
-Phlp=\u8BD7\u4F53\u5DF4\u5217\u7EF4\u6587
-Phlv=\u4E66\u4F53\u5DF4\u5217\u7EF4\u6587
+Phli=\u7891\u94ED\u4F53\u5DF4\u5217\u7EF4\u8BED
+Phlp=\u8BD7\u4F53\u5DF4\u5217\u7EF4\u8BED
+Phlv=\u4E66\u4F53\u5DF4\u5217\u7EF4\u8BED
 Phnx=\u8153\u5C3C\u57FA\u6587
 Plrd=\u82D7\u6587
-Prti=\u7891\u94ED\u4F53\u5E15\u63D0\u4E9A\u6587
-Rjng=\u62C9\u8BA9\u6587
+Prti=\u7891\u94ED\u4F53\u5E15\u63D0\u4E9A\u8BED
+Rjng=\u62C9\u8BA9\u8BED
 Roro=\u6717\u683C\u6717\u683C\u6587
 Runr=\u53E4\u4EE3\u5317\u6B27\u6587
-Samr=\u6492\u739B\u5229\u4E9A\u6587
+Samr=\u6492\u739B\u5229\u4E9A\u8BED
 Sara=\u6C99\u62C9\u5824\u6587
-Sarb=\u53E4\u5357\u963F\u62C9\u4F2F\u6587
-Saur=\u7D22\u62C9\u4EC0\u7279\u62C9\u6587
+Sarb=\u53E4\u5357\u963F\u62C9\u4F2F\u8BED
+Saur=\u7D22\u62C9\u4EC0\u7279\u62C9\u8BED
 Sgnw=\u4E66\u5199\u7B26\u53F7
-Shaw=\u8427\u4F2F\u7EB3\u5F0F\u6587
+Shaw=\u8427\u4F2F\u7EB3\u5F0F\u8BED
 Sind=\u4FE1\u5FB7\u6587
-Sinh=\u8F9B\u54C8\u62C9\u6587
+Sinh=\u8F9B\u54C8\u62C9\u8BED
 Sund=\u5DFD\u4ED6\u6587
 Sylo=Syloti Nagri \u4E66\u5199\u4F53
 Syrc=\u53D9\u5229\u4E9A\u6587
 Syre=\u798F\u97F3\u4F53\u53D9\u5229\u4E9A\u6587
-Syrj=\u897F\u53D9\u5229\u4E9A\u6587
-Syrn=\u4E1C\u53D9\u5229\u4E9A\u6587
-Tagb=\u5854\u683C\u73ED\u74E6\u6587
-Tale=\u6CF0\u4E50\u6587
+Syrj=\u897F\u53D9\u5229\u4E9A\u8BED
+Syrn=\u4E1C\u53D9\u5229\u4E9A\u8BED
+Tagb=\u5854\u683C\u73ED\u74E6\u8BED
+Tale=\u6CF0\u4E50\u8BED
 Talu=\u65B0\u50A3\u6587
 Taml=\u6CF0\u7C73\u5C14\u6587
-Tavt=\u8D8A\u5357\u50A3\u6587
+Tavt=\u8D8A\u5357\u50A3\u8BED
 Telu=\u6CF0\u5362\u56FA\u6587
 Teng=\u817E\u683C\u74E6\u6587\u5B57
 Tfng=\u63D0\u975E\u7EB3\u6587
 Tglg=\u5854\u52A0\u8DEF\u65CF\u6587
-Thaa=\u5854\u5B89\u5A1C\u6587
+Thaa=\u5854\u5B89\u5A1C\u8BED
 Thai=\u6CF0\u6587
-Tibt=\u85CF\u6587
+Tibt=\u897F\u85CF\u6587
 Ugar=\u4E4C\u52A0\u91CC\u7279\u6587
-Vaii=\u74E6\u4F0A\u6587
+Vaii=\u74E6\u4F9D\u8BED
 Visp=\u53EF\u89C1\u8BED\u8A00
-Wara=Warang Citi \u4F53
-Xpeo=\u53E4\u6CE2\u65AF\u6587
+Wara=Warang Citi
+Xpeo=\u53E4\u6CE2\u65AF\u8BED
 Xsux=\u82CF\u7F8E\u5C14-\u963F\u5361\u5FB7\u6954\u5F62\u6587\u5B57
-Yiii=\u5F5D\u6587
+Yiii=\u5F5D\u8BED
 Zinh=\u9057\u4F20\u5B66\u672F\u8BED
 Zmth=\u6570\u5B66\u8BB0\u53F7
 Zsym=\u7B26\u53F7
@@ -868,256 +867,256 @@
 # country names
 # key is ISO 3166 country code
 
-AD=\u5B89\u9053\u5C14
-AE=\u963F\u62C9\u4F2F\u8054\u5408\u914B\u957F\u56FD
-AF=\u963F\u5BCC\u6C57
-AG=\u5B89\u63D0\u74DC\u548C\u5DF4\u5E03\u8FBE
-AI=\u5B89\u572D\u62C9
-AL=\u963F\u5C14\u5DF4\u5C3C\u4E9A
-AM=\u4E9A\u7F8E\u5C3C\u4E9A
-AN=\u8377\u5C5E\u5B89\u7684\u5217\u65AF\u7FA4\u5C9B
-AO=\u5B89\u54E5\u62C9
-AQ=\u5357\u6781\u6D32
-AR=\u963F\u6839\u5EF7
-AS=\u4E1C\u8428\u6469\u4E9A
+AD=\u5b89\u9053\u5c14
+AE=\u963f\u62c9\u4f2f\u8054\u5408\u914b\u957f\u56fd
+AF=\u963f\u5bcc\u6c57
+AG=\u5b89\u63d0\u74dc\u548c\u5df4\u5e03\u8fbe
+AI=\u5b89\u572d\u62c9
+AL=\u963f\u5c14\u5df4\u5c3c\u4e9a
+AM=\u4e9a\u7f8e\u5c3c\u4e9a
+AN=\u8377\u5c5e\u5b89\u7684\u5217\u65af\u7fa4\u5c9b
+AO=\u5b89\u54e5\u62c9
+AQ=\u5357\u6781\u6d32
+AR=\u963f\u6839\u5ef7
+AS=\u4e1c\u8428\u6469\u4e9a
 AT=\u5965\u5730\u5229
-AU=\u6FB3\u5927\u5229\u4E9A
-AW=\u963F\u9C81\u5DF4
-AX=\u5965\u5170\u7FA4\u5C9B
-AZ=\u963F\u585E\u62DC\u7586
-BA=\u6CE2\u65AF\u5C3C\u4E9A\u548C\u9ED1\u5C71\u5171\u548C\u56FD
-BB=\u5DF4\u5DF4\u591A\u65AF
-BD=\u5B5F\u52A0\u62C9
-BE=\u6BD4\u5229\u65F6
-BF=\u5E03\u57FA\u7EB3\u6CD5\u7D22
-BG=\u4FDD\u52A0\u5229\u4E9A
-BH=\u5DF4\u6797
-BI=\u5E03\u9686\u8FEA
-BJ=\u8D1D\u5B81
+AU=\u6fb3\u5927\u5229\u4e9a
+AW=\u963f\u9c81\u5df4
+AX=\u5965\u5170\u7fa4\u5c9b
+AZ=\u963f\u585e\u62dc\u7586
+BA=\u6ce2\u65af\u5c3c\u4e9a\u548c\u9ed1\u5c71\u5171\u548c\u56fd
+BB=\u5df4\u5df4\u591a\u65af
+BD=\u5b5f\u52a0\u62c9
+BE=\u6bd4\u5229\u65f6
+BF=\u5e03\u57fa\u7eb3\u6cd5\u7d22
+BG=\u4fdd\u52a0\u5229\u4e9a
+BH=\u5df4\u6797
+BI=\u5e03\u9686\u8fea
+BJ=\u8d1d\u5b81
 BL=\u5723\u5DF4\u6CF0\u52D2\u7C73\u5C9B
-BM=\u767E\u6155\u5927
-BN=\u6587\u83B1
-BO=\u73BB\u5229\u7EF4\u4E9A
+BM=\u767e\u6155\u5927
+BN=\u6587\u83b1
+BO=\u73bb\u5229\u7ef4\u4e9a
 BQ=\u535A\u5948\u5C14\u5C9B, \u5723\u5C24\u65AF\u7279\u6B47\u65AF\u5C9B\u548C\u8428\u5DF4\u5C9B
-BR=\u5DF4\u897F
-BS=\u5DF4\u54C8\u9A6C
-BT=\u4E0D\u4E39
-BV=\u5E03\u97E6\u5C9B
-BW=\u535A\u8328\u74E6\u7EB3
-BY=\u767D\u4FC4\u7F57\u65AF
-BZ=\u4F2F\u91CC\u5179
-CA=\u52A0\u62FF\u5927
-CC=\u79D1\u5E93\u65AF\u7FA4\u5C9B
-CD=\u521A\u679C\u6C11\u4E3B\u5171\u548C\u56FD
-CF=\u4E2D\u975E\u5171\u548C\u56FD
-CG=\u521A\u679C
-CH=\u745E\u58EB
-CI=\u79D1\u7279\u8FEA\u74E6
-CK=\u5E93\u514B\u7FA4\u5C9B
-CL=\u667A\u5229
-CM=\u5580\u9EA6\u9686
-CN=\u4E2D\u56FD
-CO=\u54E5\u4F26\u6BD4\u4E9A
-CR=\u54E5\u65AF\u8FBE\u9ECE\u52A0
-CS=\u585E\u5C14\u7EF4\u4E9A\u53CA\u9ED1\u5C71
-CU=\u53E4\u5DF4
-CV=\u4F5B\u5F97\u89D2
+BR=\u5df4\u897f
+BS=\u5df4\u54c8\u9a6c
+BT=\u4e0d\u4e39
+BV=\u5e03\u97e6\u5c9b
+BW=\u535a\u8328\u74e6\u7eb3
+BY=\u767d\u4fc4\u7f57\u65af
+BZ=\u4f2f\u91cc\u5179
+CA=\u52a0\u62ff\u5927
+CC=\u79d1\u5e93\u65af\u7fa4\u5c9b
+CD=\u521a\u679c\u6c11\u4e3b\u5171\u548c\u56fd
+CF=\u4e2d\u975e\u5171\u548c\u56fd
+CG=\u521a\u679c
+CH=\u745e\u58eb
+CI=\u8c61\u7259\u6d77\u5cb8
+CK=\u5e93\u514b\u7fa4\u5c9b
+CL=\u667a\u5229
+CM=\u5580\u9ea6\u9686
+CN=\u4e2d\u56fd
+CO=\u54e5\u4f26\u6bd4\u4e9a
+CR=\u54e5\u65af\u8fbe\u9ece\u52a0
+CS=\u585e\u5c14\u7ef4\u4e9a\u53ca\u9ed1\u5c71
+CU=\u53e4\u5df4
+CV=\u4f5b\u5f97\u89d2
 CW=\u5E93\u62C9\u7D22\u5C9B
-CX=\u5723\u8BDE\u5C9B
-CY=\u585E\u6D66\u8DEF\u65AF
-CZ=\u6377\u514B\u5171\u548C\u56FD
-DE=\u5FB7\u56FD
-DJ=\u5409\u5E03\u63D0
-DK=\u4E39\u9EA6
-DM=\u591A\u7C73\u5C3C\u52A0\u8054\u90A6
-DO=\u591A\u7C73\u5C3C\u52A0\u5171\u548C\u56FD
-DZ=\u963F\u5C14\u53CA\u5229\u4E9A
-EC=\u5384\u74DC\u591A\u5C14
-EE=\u7231\u6C99\u5C3C\u4E9A
-EG=\u57C3\u53CA
-EH=\u897F\u6492\u54C8\u62C9
-ER=\u5384\u91CC\u7279\u5C3C\u4E9A
-ES=\u897F\u73ED\u7259
-ET=\u57C3\u585E\u4FC4\u6BD4\u4E9A
-FI=\u82AC\u5170
-FJ=\u6590\u6D4E
-FK=\u5BCC\u514B\u5170\u7FA4\u5C9B
-FM=\u5BC6\u514B\u7F57\u5C3C\u897F\u4E9A
-FO=\u6CD5\u7F57\u7FA4\u5C9B
-FR=\u6CD5\u56FD
-GA=\u52A0\u84EC
-GB=\u82F1\u56FD
-GD=\u683C\u6797\u7EB3\u8FBE
-GE=\u683C\u9C81\u5409\u4E9A
-GF=\u6CD5\u5C5E\u572D\u4E9A\u90A3
+CX=\u5723\u8bde\u5c9b
+CY=\u585e\u6d66\u8def\u65af
+CZ=\u6377\u514b\u5171\u548c\u56fd
+DE=\u5fb7\u56fd
+DJ=\u5409\u5e03\u63d0
+DK=\u4e39\u9ea6
+DM=\u591a\u7c73\u5c3c\u52a0\u8054\u90a6
+DO=\u591a\u7c73\u5c3c\u52a0\u5171\u548c\u56fd
+DZ=\u963f\u5c14\u53ca\u5229\u4e9a
+EC=\u5384\u74dc\u591a\u5c14
+EE=\u7231\u6c99\u5c3c\u4e9a
+EG=\u57c3\u53ca
+EH=\u897f\u6492\u54c8\u62c9
+ER=\u5384\u91cc\u7279\u5c3c\u4e9a
+ES=\u897f\u73ed\u7259
+ET=\u57c3\u585e\u4fc4\u6bd4\u4e9a
+FI=\u82ac\u5170
+FJ=\u6590\u6d4e
+FK=\u5bcc\u514b\u5170\u7fa4\u5c9b
+FM=\u5bc6\u514b\u7f57\u5c3c\u897f\u4e9a
+FO=\u6cd5\u7f57\u7fa4\u5c9b
+FR=\u6cd5\u56fd
+GA=\u52a0\u84ec
+GB=\u82f1\u56fd
+GD=\u683c\u6797\u7eb3\u8fbe
+GE=\u683c\u9c81\u5409\u4e9a
+GF=\u6cd5\u5c5e\u572d\u4e9a\u90a3
 GG=\u683C\u6069\u897F\u5C9B
-GH=\u52A0\u7EB3
-GI=\u76F4\u5E03\u7F57\u9640
-GL=\u683C\u9675\u5170
-GM=\u5188\u6BD4\u4E9A
-GN=\u51E0\u5185\u4E9A
-GP=\u74DC\u5FB7\u7F57\u666E\u5C9B
-GQ=\u8D64\u9053\u51E0\u5185\u4E9A
-GR=\u5E0C\u814A
-GS=\u5357\u4E54\u6CBB\u4E9A\u5C9B\u548C\u5357\u6851\u5FB7\u97E6\u5947\u5C9B
-GT=\u5371\u5730\u9A6C\u62C9
-GU=\u5173\u5C9B
-GW=\u51E0\u5185\u4E9A\u6BD4\u7ECD\u5171\u548C\u56FD
-GY=\u572D\u4E9A\u90A3
-HK=\u9999\u6E2F
-HM=\u8D6B\u5FB7\u548C\u9EA6\u514B\u5510\u7EB3\u7FA4\u5C9B
-HN=\u6D2A\u90FD\u62C9\u65AF
-HR=\u514B\u7F57\u5730\u4E9A
-HT=\u6D77\u5730
+GH=\u52a0\u7eb3
+GI=\u76f4\u5e03\u7f57\u9640
+GL=\u683c\u9675\u5170
+GM=\u5188\u6bd4\u4e9a
+GN=\u51e0\u5185\u4e9a
+GP=\u74dc\u5fb7\u7f57\u666e\u5c9b
+GQ=\u8d64\u9053\u51e0\u5185\u4e9a
+GR=\u5e0c\u814a
+GS=\u5357\u4e54\u6cbb\u4e9a\u5c9b\u548c\u5357\u6851\u5fb7\u97e6\u5947\u5c9b
+GT=\u5371\u5730\u9a6c\u62c9
+GU=\u5173\u5c9b
+GW=\u51e0\u5185\u4e9a\u6bd4\u7ecd\u5171\u548c\u56fd
+GY=\u572d\u4e9a\u90a3
+HK=\u9999\u6e2f
+HM=\u8d6b\u5fb7\u548c\u9ea6\u514b\u5510\u7eb3\u7fa4\u5c9b
+HN=\u6d2a\u90fd\u62c9\u65af
+HR=\u514b\u7f57\u5730\u4e9a
+HT=\u6d77\u5730
 HU=\u5308\u7259\u5229
-ID=\u5370\u5EA6\u5C3C\u897F\u4E9A
-IE=\u7231\u5C14\u5170
-IL=\u4EE5\u8272\u5217
+ID=\u5370\u5ea6\u5c3c\u897f\u4e9a
+IE=\u7231\u5c14\u5170
+IL=\u4ee5\u8272\u5217
 IM=\u66FC\u5C9B
-IN=\u5370\u5EA6
-IO=\u82F1\u5C5E\u5370\u5EA6\u6D0B\u9886\u5730
-IQ=\u4F0A\u62C9\u514B
-IR=\u4F0A\u6717
-IS=\u51B0\u5C9B
-IT=\u610F\u5927\u5229
+IN=\u5370\u5ea6
+IO=\u82f1\u5c5e\u5370\u5ea6\u6d0b\u9886\u5730
+IQ=\u4f0a\u62c9\u514b
+IR=\u4f0a\u6717
+IS=\u51b0\u5c9b
+IT=\u610f\u5927\u5229
 JE=\u6CFD\u897F\u5C9B
-JM=\u7259\u4E70\u52A0
-JO=\u7EA6\u65E6
-JP=\u65E5\u672C
-KE=\u80AF\u5C3C\u4E9A
-KG=\u5409\u5C14\u5409\u514B\u65AF\u5766
-KH=\u67EC\u57D4\u5BE8
-KI=\u57FA\u91CC\u5DF4\u65AF
-KM=\u79D1\u6469\u7F57
-KN=\u5723\u57FA\u8328\u548C\u5C3C\u7EF4\u65AF
-KP=\u671D\u9C9C
-KR=\u97E9\u56FD
-KW=\u79D1\u5A01\u7279
-KY=\u5F00\u66FC\u7FA4\u5C9B
-KZ=\u54C8\u8428\u514B\u65AF\u5766
-LA=\u8001\u631D
-LB=\u9ECE\u5DF4\u5AE9
-LC=\u5723\u5362\u897F\u4E9A
-LI=\u5217\u652F\u6566\u58EB\u767B
-LK=\u65AF\u91CC\u5170\u5361
-LR=\u5229\u6BD4\u91CC\u4E9A
-LS=\u83B1\u7D22\u6258
-LT=\u7ACB\u9676\u5B9B
-LU=\u5362\u68EE\u5821
-LV=\u62C9\u8131\u7EF4\u4E9A
-LY=\u5229\u6BD4\u4E9A
-MA=\u6469\u6D1B\u54E5
-MC=\u6469\u7EB3\u54E5
-MD=\u6469\u5C14\u591A\u74E6
-ME=\u9ED1\u5C71
+JM=\u7259\u4e70\u52a0
+JO=\u7ea6\u65e6
+JP=\u65e5\u672c
+KE=\u80af\u5c3c\u4e9a
+KG=\u5409\u5c14\u5409\u514b\u65af\u5766
+KH=\u67ec\u57d4\u5be8
+KI=\u57fa\u91cc\u5df4\u65af
+KM=\u79d1\u6469\u7f57
+KN=\u5723\u57fa\u8328\u548c\u5c3c\u7ef4\u65af
+KP=\u671d\u9c9c
+KR=\u97e9\u56fd
+KW=\u79d1\u5a01\u7279
+KY=\u5f00\u66fc\u7fa4\u5c9b
+KZ=\u54c8\u8428\u514b\u65af\u5766
+LA=\u8001\u631d
+LB=\u9ece\u5df4\u5ae9
+LC=\u5723\u5362\u897f\u4e9a
+LI=\u5217\u652f\u6566\u58eb\u767b
+LK=\u65af\u91cc\u5170\u5361
+LR=\u5229\u6bd4\u91cc\u4e9a
+LS=\u83b1\u7d22\u6258
+LT=\u7acb\u9676\u5b9b
+LU=\u5362\u68ee\u5821
+LV=\u62c9\u8131\u7ef4\u4e9a
+LY=\u5229\u6bd4\u4e9a
+MA=\u6469\u6d1b\u54e5
+MC=\u6469\u7eb3\u54e5
+MD=\u6469\u5c14\u591a\u74e6
+ME=\u9ed1\u5c71
 MF=\u5723\u9A6C\u4E01
-MG=\u9A6C\u8FBE\u52A0\u65AF\u52A0
-MH=\u9A6C\u7ECD\u5C14\u7FA4\u5C9B
-MK=\u9A6C\u5176\u987F\u738B\u56FD
-ML=\u9A6C\u91CC
-MM=\u7F05\u7538
-MN=\u8499\u53E4
-MO=\u6FB3\u95E8\u7279\u533A
-MP=\u7F8E\u5C5E\u5317\u9A6C\u91CC\u4E9A\u7EB3\u7FA4\u5C9B
-MQ=\u9A6C\u63D0\u5C3C\u514B\u5C9B
-MR=\u6BDB\u91CC\u5854\u5C3C\u4E9A
-MS=\u8499\u7279\u585E\u62C9\u7FA4\u5C9B
-MT=\u9A6C\u8033\u4ED6
-MU=\u6BDB\u91CC\u6C42\u65AF
-MV=\u9A6C\u5C14\u4EE3\u592B
-MW=\u9A6C\u62C9\u7EF4
-MX=\u58A8\u897F\u54E5
-MY=\u9A6C\u6765\u897F\u4E9A
-MZ=\u83AB\u6851\u6BD4\u514B
-NA=\u7EB3\u7C73\u6BD4\u4E9A
-NC=\u65B0\u514B\u91CC\u591A\u5C3C\u4E9A\u7FA4\u5C9B
-NE=\u5C3C\u65E5\u5C14
-NF=\u8BFA\u798F\u514B\u5C9B
-NG=\u5C3C\u65E5\u5229\u4E9A
-NI=\u5C3C\u52A0\u62C9\u74DC
+MG=\u9a6c\u8fbe\u52a0\u65af\u52a0
+MH=\u9a6c\u7ecd\u5c14\u7fa4\u5c9b
+MK=\u9a6c\u5176\u987f\u738b\u56fd
+ML=\u9a6c\u91cc
+MM=\u7f05\u7538
+MN=\u8499\u53e4
+MO=\u6fb3\u95e8\u7279\u533a
+MP=\u7f8e\u5c5e\u5317\u9a6c\u91cc\u4e9a\u7eb3\u7fa4\u5c9b
+MQ=\u9a6c\u63d0\u5c3c\u514b\u5c9b
+MR=\u6bdb\u91cc\u5854\u5c3c\u4e9a
+MS=\u8499\u7279\u585e\u62c9\u7fa4\u5c9b
+MT=\u9a6c\u8033\u4ed6
+MU=\u6bdb\u91cc\u6c42\u65af
+MV=\u9a6c\u5c14\u4ee3\u592b
+MW=\u9a6c\u62c9\u7ef4
+MX=\u58a8\u897f\u54e5
+MY=\u9a6c\u6765\u897f\u4e9a
+MZ=\u83ab\u6851\u6bd4\u514b
+NA=\u7eb3\u7c73\u6bd4\u4e9a
+NC=\u65b0\u514b\u91cc\u591a\u5c3c\u4e9a\u7fa4\u5c9b
+NE=\u5c3c\u65e5\u5c14
+NF=\u8bfa\u798f\u514b\u5c9b
+NG=\u5c3c\u65e5\u5229\u4e9a
+NI=\u5c3c\u52a0\u62c9\u74dc
 NL=\u8377\u5170
-NO=\u632A\u5A01
-NP=\u5C3C\u6CCA\u5C14
-NR=\u7459\u9C81
-NU=\u7EBD\u57C3\u5C9B
-NZ=\u65B0\u897F\u5170
-OM=\u963F\u66FC
-PA=\u5DF4\u62FF\u9A6C
-PE=\u79D8\u9C81
-PF=\u6CD5\u5C5E\u73BB\u5229\u5C3C\u897F\u4E9A
-PG=\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A
-PH=\u83F2\u5F8B\u5BBE
-PK=\u5DF4\u57FA\u65AF\u5766
-PL=\u6CE2\u5170
-PM=\u5723\u76AE\u57C3\u5C14\u548C\u5BC6\u514B\u9686\u7FA4\u5C9B
-PN=\u76AE\u7279\u514B\u6069\u5C9B
-PR=\u6CE2\u591A\u9ECE\u54E5
-PS=\u5DF4\u52D2\u65AF\u5766
+NO=\u632a\u5a01
+NP=\u5c3c\u6cca\u5c14
+NR=\u7459\u9c81
+NU=\u7ebd\u57c3\u5c9b
+NZ=\u65b0\u897f\u5170
+OM=\u963f\u66fc
+PA=\u5df4\u62ff\u9a6c
+PE=\u79d8\u9c81
+PF=\u6cd5\u5c5e\u73bb\u5229\u5c3c\u897f\u4e9a
+PG=\u5df4\u5e03\u4e9a\u65b0\u51e0\u5185\u4e9a
+PH=\u83f2\u5f8b\u5bbe
+PK=\u5df4\u57fa\u65af\u5766
+PL=\u6ce2\u5170
+PM=\u5723\u76ae\u57c3\u5c14\u548c\u5bc6\u514b\u9686\u7fa4\u5c9b
+PN=\u76ae\u7279\u514b\u6069\u5c9b
+PR=\u6ce2\u591a\u9ece\u54e5
+PS=\u5df4\u52d2\u65af\u5766
 PT=\u8461\u8404\u7259
-PW=\u5E15\u52B3
-PY=\u5DF4\u62C9\u572D
-QA=\u5361\u5854\u5C14
-RE=\u7559\u5C3C\u6C6A\u5C9B
-RO=\u7F57\u9A6C\u5C3C\u4E9A
-RS=\u585E\u5C14\u7EF4\u4E9A
-RU=\u4FC4\u7F57\u65AF
-RW=\u5362\u65FA\u8FBE
-SA=\u6C99\u7279\u963F\u62C9\u4F2F
-SB=\u6240\u7F57\u95E8\u7FA4\u5C9B
-SC=\u585E\u820C\u5C14\u7FA4\u5C9B
-SD=\u82CF\u4E39
-SE=\u745E\u5178
-SG=\u65B0\u52A0\u5761
-SH=\u5723\u8D6B\u52D2\u62FF\u5C9B
-SI=\u65AF\u6D1B\u6587\u5C3C\u4E9A
-SJ=\u65AF\u74E6\u5C14\u5DF4\u7279\u548C\u626C\u9A6C\u5EF6\u5C9B
-SK=\u65AF\u6D1B\u4F10\u514B
-SL=\u585E\u62C9\u91CC\u6602
-SM=\u5723\u9A6C\u529B\u8BFA
-SN=\u585E\u5185\u52A0\u5C14
-SO=\u7D22\u9A6C\u91CC
-SR=\u82CF\u91CC\u5357
-ST=\u5723\u591A\u7F8E\u548C\u666E\u6797\u897F\u6BD4
-SV=\u8428\u5C14\u74E6\u591A
+PW=\u5e15\u52b3
+PY=\u5df4\u62c9\u572d
+QA=\u5361\u5854\u5c14
+RE=\u7559\u5c3c\u6c6a\u5c9b
+RO=\u7f57\u9a6c\u5c3c\u4e9a
+RS=\u585e\u5c14\u7ef4\u4e9a
+RU=\u4fc4\u7f57\u65af
+RW=\u5362\u65fa\u8fbe
+SA=\u6c99\u7279\u963f\u62c9\u4f2f
+SB=\u6240\u7f57\u95e8\u7fa4\u5c9b
+SC=\u585e\u820c\u5c14\u7fa4\u5c9b
+SD=\u82cf\u4e39
+SE=\u745e\u5178
+SG=\u65b0\u52a0\u5761
+SH=\u5723\u8d6b\u52d2\u62ff\u5c9b
+SI=\u65af\u6d1b\u6587\u5c3c\u4e9a
+SJ=\u65af\u74e6\u5c14\u5df4\u7279\u548c\u626c\u9a6c\u5ef6\u5c9b
+SK=\u65af\u6d1b\u4f10\u514b
+SL=\u585e\u62c9\u91cc\u6602
+SM=\u5723\u9a6c\u529b\u8bfa
+SN=\u585e\u5185\u52a0\u5c14
+SO=\u7d22\u9a6c\u91cc
+SR=\u82cf\u91cc\u5357
+ST=\u5723\u591a\u7f8e\u548c\u666e\u6797\u897f\u6bd4
+SV=\u8428\u5c14\u74e6\u591a
 SX=\u8377\u5C5E\u5723\u9A6C\u4E01\u5C9B
-SY=\u53D9\u5229\u4E9A
-SZ=\u65AF\u5A01\u58EB\u5170
-TC=\u7279\u514B\u65AF\u7FA4\u5C9B\u548C\u51EF\u79D1\u65AF\u7FA4\u5C9B
-TD=\u4E4D\u5F97
-TF=\u6CD5\u5C5E\u5357\u7279\u7ACB\u5C3C\u8FBE
-TG=\u591A\u54E5
-TH=\u6CF0\u56FD
-TJ=\u5854\u5409\u514B\u65AF\u5766
-TK=\u6258\u514B\u52B3
-TL=\u4E1C\u5E1D\u6C76
-TM=\u571F\u5E93\u66FC\u65AF\u5766
-TN=\u7A81\u5C3C\u65AF
-TO=\u6C64\u52A0
-TR=\u571F\u8033\u5176
-TT=\u7279\u7ACB\u5C3C\u8FBE\u548C\u591A\u5DF4\u54E5
-TV=\u56FE\u74E6\u5362
-TW=\u53F0\u6E7E\u5730\u533A
-TZ=\u5766\u6851\u5C3C\u4E9A
-UA=\u4E4C\u514B\u5170
-UG=\u4E4C\u5E72\u8FBE
-UM=\u7F8E\u5C5E\u5C0F\u5965\u7279\u5170\u7FA4\u5C9B
-US=\u7F8E\u56FD
-UY=\u4E4C\u62C9\u572D
-UZ=\u4E4C\u5179\u522B\u514B\u65AF\u5766
-VA=\u68B5\u8482\u5188
-VC=\u5723\u6587\u68EE\u7279\u548C\u683C\u6797\u7EB3\u4E01\u65AF
-VE=\u59D4\u5185\u745E\u62C9
-VG=\u82F1\u5C5E\u7EF4\u4EAC\u7FA4\u5C9B
-VI=\u7F8E\u5C5E\u7EF4\u4EAC\u7FA4\u5C9B
-VN=\u8D8A\u5357
-VU=\u74E6\u52AA\u963F\u56FE
-WF=\u74E6\u5229\u65AF\u7FA4\u5C9B\u548C\u5BCC\u56FE\u7EB3\u7FA4\u5C9B
-WS=\u8428\u6469\u4E9A
-YE=\u4E5F\u95E8
-YT=\u9A6C\u7EA6\u7279\u5C9B
-ZA=\u5357\u975E
-ZM=\u8D5E\u6BD4\u4E9A
-ZW=\u6D25\u5DF4\u5E03\u97E6
+SY=\u53d9\u5229\u4e9a
+SZ=\u65af\u5a01\u58eb\u5170
+TC=\u7279\u514b\u65af\u7fa4\u5c9b\u548c\u51ef\u79d1\u65af\u7fa4\u5c9b
+TD=\u4e4d\u5f97
+TF=\u6cd5\u5c5e\u5357\u7279\u7acb\u5c3c\u8fbe
+TG=\u591a\u54e5
+TH=\u6cf0\u56fd
+TJ=\u5854\u5409\u514b\u65af\u5766
+TK=\u8054\u5408\u7fa4\u5c9b
+TL=\u4e1c\u5e1d\u6c76
+TM=\u571f\u5e93\u66fc\u65af\u5766
+TN=\u7a81\u5c3c\u65af
+TO=\u6c64\u52a0
+TR=\u571f\u8033\u5176
+TT=\u7279\u7acb\u5c3c\u8fbe\u548c\u591a\u5df4\u54e5
+TV=\u56fe\u74e6\u5362
+TW=\u53f0\u6e7e\u5730\u533a
+TZ=\u5766\u6851\u5c3c\u4e9a
+UA=\u4e4c\u514b\u5170
+UG=\u4e4c\u5e72\u8fbe
+UM=\u7f8e\u5c5e\u5c0f\u5965\u7279\u5170\u7fa4\u5c9b
+US=\u7f8e\u56fd
+UY=\u4e4c\u62c9\u572d
+UZ=\u4e4c\u5179\u522b\u514b\u65af\u5766
+VA=\u68b5\u8482\u5188
+VC=\u5723\u6587\u68ee\u7279\u548c\u683c\u6797\u7eb3\u4e01\u65af
+VE=\u59d4\u5185\u745e\u62c9
+VG=\u82f1\u5c5e\u7ef4\u4eac\u7fa4\u5c9b
+VI=\u7f8e\u5c5e\u7ef4\u4eac\u7fa4\u5c9b
+VN=\u8d8a\u5357
+VU=\u74e6\u52aa\u963f\u56fe
+WF=\u74e6\u5229\u65af\u7fa4\u5c9b\u548c\u5bcc\u56fe\u7eb3\u7fa4\u5c9b
+WS=\u4e1c\u8428\u6469\u4e9a
+YE=\u4e5f\u95e8
+YT=\u9a6c\u7ea6\u7279\u5c9b
+ZA=\u5357\u975e
+ZM=\u8d5e\u6bd4\u4e9a
+ZW=\u6d25\u5df4\u5e03\u97e6
 
 # territory names
 # key is UN M.49 country and area code
@@ -1152,19 +1151,3 @@
 154=\u5317\u6B27
 155=\u897F\u6B27
 419=\u62C9\u4E01\u7F8E\u6D32\u548C\u52A0\u52D2\u6BD4\u6D77
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=\u6B27\u5143
-%%B=\u535A\u514B\u9A6C\u5C14\u6587
-%%NY=\u5C3C\u8BFA\u65AF\u514B\u6587
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties	Sun Jun 24 21:35:19 2012 -0700
@@ -1,4 +1,3 @@
-#
 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -39,194 +38,194 @@
 # language names
 # key is ISO 639 language code
 
-aa=\u963F\u6CD5\u6587
-ab=\u963F\u5E03\u54C8\u897F\u4E9E\u6587
-ae=\u963F\u672A\u65AF\u5854\u6587
-af=\u5357\u975E\u8377\u862D\u6587
-ak=\u963F\u5BD2\u6587
-am=\u8863\u7D22\u6BD4\u4E9E\u6587
-an=\u4E9E\u62C9\u5CA1\u6587
-ar=\u963F\u62C9\u4F2F\u6587
-as=\u963F\u85A9\u59C6\u6587
-av=\u963F\u74E6\u96F7\u6587
-ay=\u4E9E\u6469\u62C9\u6587
-az=\u4E9E\u585E\u62DC\u7136\u6587
-ba=\u5DF4\u4EC0\u5580\u723E\u6587
-be=\u767D\u4FC4\u7F85\u65AF\u6587
-bg=\u4FDD\u52A0\u5229\u4E9E\u6587
-bh=\u6BD4\u54C8\u723E\u6587
-bi=\u6BD4\u65AF\u62C9\u99AC\u6587
-bm=\u73ED\u5DF4\u62C9\u6587
-bn=\u5B5F\u52A0\u62C9\u6587
-bo=\u897F\u85CF\u6587
-br=\u4E0D\u5217\u5854\u5C3C\u6587
-bs=\u6CE2\u58EB\u5C3C\u4E9E\u6587
-ca=\u5609\u6CF0\u7F85\u5C3C\u4E9E\u6587
-ce=\u8ECA\u81E3\u6587
-ch=\u67E5\u6469\u6D1B\u6587
-co=\u79D1\u897F\u5609\u6587
-cr=\u514B\u91CC\u6587
-cs=\u6377\u514B\u6587
-cu=\u6559\u6703\u65AF\u62C9\u592B\u6587
-cv=\u695A\u74E6\u58EB\u6587
-cy=\u5A01\u723E\u65AF\u6587
-da=\u4E39\u9EA5\u6587
-de=\u5FB7\u6587
-dv=\u8FEA\u7DAD\u897F\u6587
-dz=\u4E0D\u4E39\u6587
-ee=\u57C3\u7DAD\u6587
-el=\u5E0C\u81D8\u6587
-en=\u82F1\u6587
-eo=\u4E16\u754C\u6587
-es=\u897F\u73ED\u7259\u6587
-et=\u611B\u6C99\u5C3C\u4E9E\u6587
-eu=\u5DF4\u65AF\u514B\u6587
-fa=\u6CE2\u65AF\u6587
-ff=\u5BCC\u62C9\u6587
-fi=\u82AC\u862D\u6587
-fj=\u6590\u6FDF\u6587
-fo=\u6CD5\u7F85\u6587
-fr=\u6CD5\u6587
-fy=\u5F17\u5229\u7136\u6587
-ga=\u611B\u723E\u862D\u6587
-gd=\u8607\u683C\u862D\u84CB\u723E\u65B9\u8A00
-gl=\u52A0\u91CC\u897F\u4E9E\u6587
-gn=\u74DC\u62C9\u5C3C\u6587
-gu=\u53E4\u5409\u62C9\u7279\u6587
-gv=\u66FC\u5CF6\u6587
-ha=\u8C6A\u85A9\u6587
-he=\u5E0C\u4F2F\u4F86\u6587
-hi=\u5317\u5370\u5EA6\u6587
-ho=\u65B0\u91CC\u6728\u6258\u6587
-hr=\u514B\u7F85\u57C3\u897F\u4E9E\u6587
-ht=\u6D77\u5730\u6587
+aa=\u963f\u6cd5\u6587
+ab=\u963f\u5e03\u54c8\u897f\u4e9e\u6587
+ae=\u963f\u672a\u65af\u5854\u6587
+af=\u5357\u975e\u8377\u862d\u6587
+ak=\u963f\u5bd2\u6587
+am=\u8863\u7d22\u6bd4\u4e9e\u6587
+an=\u4e9e\u62c9\u5ca1\u6587
+ar=\u963f\u62c9\u4f2f\u6587
+as=\u963f\u85a9\u59c6\u6587
+av=\u963f\u74e6\u96f7\u6587
+ay=\u4e9e\u6469\u62c9\u6587
+az=\u4e9e\u585e\u62dc\u7136\u6587
+ba=\u5df4\u4ec0\u5580\u723e\u6587
+be=\u767d\u4fc4\u7f85\u65af\u6587
+bg=\u4fdd\u52a0\u5229\u4e9e\u6587
+bh=\u6bd4\u54c8\u723e\u6587
+bi=\u6bd4\u65af\u62c9\u99ac\u6587
+bm=\u73ed\u5df4\u62c9\u6587
+bn=\u5b5f\u52a0\u62c9\u6587
+bo=\u897f\u85cf\u6587
+br=\u4e0d\u5217\u5854\u5c3c\u6587
+bs=\u6ce2\u58eb\u5c3c\u4e9e\u6587
+ca=\u5609\u6cf0\u7f85\u5c3c\u4e9e\u6587
+ce=\u8d64\u6b3d\u6587
+ch=\u67e5\u6469\u6d1b\u6587
+co=\u79d1\u897f\u5609\u6587
+cr=\u514b\u91cc\u6587
+cs=\u6377\u514b\u6587
+cu=\u6559\u6703\u65af\u62c9\u592b\u6587
+cv=\u695a\u74e6\u58eb\u6587
+cy=\u5a01\u723e\u65af\u6587
+da=\u4e39\u9ea5\u6587
+de=\u5fb7\u6587
+dv=\u8fea\u7dad\u897f\u6587
+dz=\u4e0d\u4e39\u6587
+ee=\u57c3\u7dad\u6587
+el=\u5e0c\u81d8\u6587
+en=\u82f1\u6587
+eo=\u4e16\u754c\u6587
+es=\u897f\u73ed\u7259\u6587
+et=\u611b\u6c99\u5c3c\u4e9e\u6587
+eu=\u5df4\u65af\u514b\u6587
+fa=\u6ce2\u65af\u6587
+ff=\u5bcc\u62c9\u6587
+fi=\u82ac\u862d\u6587
+fj=\u6590\u6fdf\u6587
+fo=\u6cd5\u7f85\u6587
+fr=\u6cd5\u6587
+fy=\u5f17\u5229\u7136\u6587
+ga=\u611b\u723e\u862d\u6587
+gd=\u8607\u683c\u862d\u84cb\u723e\u65b9\u8a00
+gl=\u52a0\u91cc\u897f\u4e9e\u6587
+gn=\u74dc\u62c9\u5c3c\u6587
+gu=\u53e4\u5409\u62c9\u7279\u6587
+gv=\u66fc\u5cf6\u6587
+ha=\u8c6a\u85a9\u6587
+he=\u5e0c\u4f2f\u4f86\u6587
+hi=\u5317\u5370\u5ea6\u6587
+ho=\u65b0\u91cc\u6728\u6258\u6587
+hr=\u514b\u7f85\u57c3\u897f\u4e9e\u6587
+ht=\u6d77\u5730\u6587
 hu=\u5308\u7259\u5229\u6587
-hy=\u4E9E\u7F8E\u5C3C\u4E9E\u6587
-hz=\u8D6B\u96F7\u7F85\u6587
-ia=\u4EBA\u5DE5\u570B\u969B\u6587
-id=\u5370\u5C3C\u6587
-ie=\u4EBA\u5DE5\u570B\u969B\u6587
-ig=\u4F0A\u5E03\u6587
-ii=\u56DB\u5DDD\u5937\u6587
-ik=\u4F9D\u5974\u76AE\u7DAD\u514B\u6587
-in=\u5370\u5C3C\u6587
-io=\u4F0A\u591A\u6587
-is=\u51B0\u5CF6\u6587
-it=\u7FA9\u5927\u5229\u6587
-iu=\u4F0A\u52AA\u4F0A\u7279\u6587
-iw=\u5E0C\u4F2F\u4F86\u6587
-ja=\u65E5\u6587
-ji=\u610F\u7B2C\u7DD2\u6587
-jv=\u722A\u54C7\u6587
-ka=\u55AC\u6CBB\u4E9E\u6587
-kg=\u525B\u679C\u6587
-ki=\u57FA\u5EAB\u7336\u6587
-kj=\u5361\u7063\u4E9E\u99AC
-kk=\u54C8\u85A9\u514B\u6587
-kl=\u683C\u9675\u862D\u6587
-km=\u67EC\u57D4\u5BE8\u6587
-kn=\u574E\u90A3\u9054\u6587
-ko=\u97D3\u6587
-kr=\u5361\u52AA\u91CC\u6587
-ks=\u5580\u4EC0\u7C73\u723E\u6587
-ku=\u5EAB\u5FB7\u6587
-kv=\u79D1\u5BC6\u6587
-kw=\u5EB7\u74E6\u8033\u6587
-ky=\u5409\u723E\u5409\u65AF\u6587
-la=\u62C9\u4E01\u6587
-lb=\u76E7\u68EE\u5821\u6587
-lg=\u5E72\u9054\u6587
+hy=\u4e9e\u7f8e\u5c3c\u4e9e\u6587
+hz=\u8d6b\u96f7\u7f85\u6587
+ia=\u4eba\u5de5\u570b\u969b\u6587
+id=\u5370\u5c3c\u6587
+ie=\u4eba\u5de5\u570b\u969b\u6587
+ig=\u4f0a\u5e03\u6587
+ii=\u56db\u5ddd\u5937\u6587
+ik=\u4f9d\u5974\u76ae\u7dad\u514b\u6587
+in=\u5370\u5c3c\u6587
+io=\u4f0a\u591a\u6587
+is=\u51b0\u5cf6\u6587
+it=\u7fa9\u5927\u5229\u6587
+iu=\u611b\u65af\u57fa\u6469\u6587
+iw=\u5e0c\u4f2f\u4f86\u6587
+ja=\u65e5\u6587
+ji=\u610f\u7b2c\u7dd2\u6587
+jv=\u722a\u54c7\u6587
+ka=\u55ac\u6cbb\u4e9e\u6587
+kg= \u525b\u679c\u6587
+ki=\u57fa\u5eab\u7336\u6587
+kj=\u5361\u7063\u4e9e\u99ac
+kk=\u54c8\u85a9\u514b\u6587
+kl=\u683c\u9675\u862d\u6587
+km=\u67ec\u57d4\u5be8\u6587
+kn=\u574e\u90a3\u9054\u6587
+ko=\u97d3\u6587
+kr=\u5361\u52aa\u91cc\u6587
+ks=\u5580\u4ec0\u7c73\u723e\u6587
+ku=\u5eab\u5fb7\u6587
+kv=\u79d1\u5bc6\u6587
+kw=\u5eb7\u74e6\u8033\u6587
+ky=\u5409\u723e\u5409\u65af\u6587
+la=\u62c9\u4e01\u6587
+lb=\u76e7\u68ee\u5821\u6587
+lg=\u5e72\u9054\u6587
 li=\u6797\u5821\u6587
-ln=\u9675\u52A0\u62C9\u6587
-lo=\u5BEE\u6587
-lt=\u7ACB\u9676\u5B9B\u6587
-lu=\u76E7\u5DF4-\u52A0\u4E39\u52A0\u6587
-lv=\u62C9\u812B\u7DAD\u4E9E\u6587 (\u5217\u7279\u6587)
-mg=\u99AC\u62C9\u52A0\u897F\u6587
-mh=\u99AC\u7D39\u723E\u7FA4\u5CF6\u6587
-mi=\u6BDB\u5229\u6587
-mk=\u99AC\u5176\u9813\u6587
-ml=\u99AC\u4F86\u4E9E\u62C9\u59C6\u6587
-mn=\u8499\u53E4\u6587
-mo=\u6469\u723E\u9054\u7DAD\u4E9E\u6587
-mr=\u99AC\u62C9\u5730\u6587
-ms=\u99AC\u4F86\u6587
-mt=\u99AC\u723E\u4ED6\u6587
-my=\u7DEC\u7538\u6587
-na=\u8AFE\u9B6F\u6587
-nb=\u632A\u5A01\u6CE2\u514B\u9ED8\u723E\u6587
-nd=\u5317\u6069\u5FB7\u8C9D\u52D2\u6587
-ne=\u5C3C\u6CCA\u723E\u6587
-ng=\u6069\u6771\u52A0\u6587
-nl=\u8377\u862D\u6587
-nn=\u632A\u5A01\u8010\u8AFE\u65AF\u514B\u6587
-no=\u632A\u5A01\u6587
-nr=\u5357\u6069\u5FB7\u8C9D\u52D2\u6587
-nv=\u7D0D\u74E6\u8377\u6587
-ny=\u5C3C\u63DA\u8CC8\u6587
-oc=\u5967\u897F\u5766\u6587
-oj=\u5967\u6770\u5E03\u97CB\u6587
-om=\u5967\u7F85\u8499\u6587
-or=\u6B50\u5229\u4E9E\u6587
-os=\u5967\u585E\u68AF\u6587
-pa=\u65C1\u906E\u666E\u6587
-pi=\u5E15\u91CC\u6587
-pl=\u6CE2\u862D\u6587
-ps=\u666E\u4EC0\u5716\u6587
+ln=\u9675\u52a0\u62c9\u6587
+lo=\u5bee\u6587
+lt=\u7acb\u9676\u5b9b\u6587
+lu=\u76e7\u5df4-\u52a0\u4e39\u52a0\u6587
+lv=\u62c9\u812b\u7dad\u4e9e\u6587 (\u5217\u7279\u6587)
+mg=\u99ac\u62c9\u52a0\u897f\u6587
+mh=\u99ac\u7d39\u723e\u7fa4\u5cf6\u6587
+mi=\u6bdb\u5229\u6587
+mk=\u99ac\u5176\u9813\u6587
+ml=\u99ac\u4f86\u4e9e\u62c9\u59c6\u6587
+mn=\u8499\u53e4\u6587
+mo=\u6469\u723e\u9054\u7dad\u4e9e\u6587
+mr=\u99ac\u62c9\u5730\u6587
+ms=\u99ac\u4f86\u6587
+mt=\u99ac\u723e\u4ed6\u6587
+my=\u7dec\u7538\u6587
+na=\u8afe\u9b6f\u6587
+nb=\u632a\u5a01\u6ce2\u514b\u9ed8\u723e\u6587
+nd=\u5317\u6069\u5fb7\u8c9d\u52d2\u6587
+ne=\u5c3c\u6cca\u723e\u6587
+ng=\u6069\u6771\u52a0\u6587
+nl=\u8377\u862d\u6587
+nn=\u632a\u5a01(\u8010\u8afe\u65af\u514b\u6587
+no=\u632a\u5a01\u6587
+nr=\u5357\u6069\u5fb7\u8c9d\u52d2\u6587
+nv=\u7d0d\u74e6\u8377\u6587
+ny=\u5c3c\u63da\u8cc8\u6587
+oc=\u5967\u897f\u5766\u6587
+oj=\u5967\u6770\u5e03\u97cb\u6587
+om=\u5967\u7f85\u8499\u6587
+or=\u6b50\u5229\u4e9e\u6587
+os=\u5967\u585e\u68af\u6587
+pa=\u65c1\u906e\u666e\u6587
+pi=\u5e15\u91cc\u6587
+pl=\u6ce2\u862d\u6587
+ps=\u666e\u4ec0\u5716\u6587
 pt=\u8461\u8404\u7259\u6587
-qu=\u84CB\u695A\u74E6\u6587
-rm=\u91CC\u6258\u7F85\u66FC\u65AF\u6587
-rn=\u79D1\u9686\u5730\u6587
-ro=\u7F85\u99AC\u5C3C\u4E9E\u6587
-ru=\u4FC4\u6587
-rw=\u91D1\u63DA\u842C\u7B54\u6587
-sa=\u68B5\u6587\u5B57\u6BCD
-sc=\u85A9\u4E01\u5C3C\u4E9E\u6587
-sd=\u4FE1\u5FB7\u6587
-se=\u5317\u6C99\u5BC6\u6587
-sg=\u6851\u683C\u9B6F\u6587
-si=\u932B\u862D\u6587
-sk=\u65AF\u6D1B\u4F10\u514B\u6587
-sl=\u65AF\u62C9\u7DAD\u5C3C\u4E9E\u6587
-sm=\u85A9\u6469\u4E9E\u6587
-sn=\u980C\u54C8\u6587
-so=\u7D22\u99AC\u5229\u6587
-sq=\u963F\u723E\u5DF4\u5C3C\u4E9E\u6587
-sr=\u585E\u723E\u7DAD\u4E9E\u6587
-ss=\u897F\u65AF\u74E6\u63D0\u6587
-st=\u8CF4\u7D22\u6258\u6587
-su=\u5DFD\u4E39\u6587
-sv=\u745E\u5178\u6587
-sw=\u53F2\u74E6\u897F\u91CC\u6587
-ta=\u5766\u7C73\u723E\u6587
-te=\u7279\u62C9\u53E4\u6587
-tg=\u5854\u5409\u514B\u6587
-th=\u6CF0\u6587
-ti=\u63D0\u683C\u5229\u5C3C\u4E9E\u6587
-tk=\u571F\u5EAB\u66FC\u6587
-tl=\u5854\u52A0\u62C9\u65CF\u6587
-tn=\u585E\u8332\u74E6\u7D0D\u6587
-to=\u6771\u52A0\u6587
-tr=\u571F\u8033\u5176\u6587
-ts=\u980C\u52A0\u6587
-tt=\u97C3\u977C\u6587
-tw=\u5951\u7DAD\u6587
-ty=\u5927\u6EAA\u5730\u6587
-ug=\u7DAD\u543E\u723E\u6587
-uk=\u70CF\u514B\u862D\u6587
-ur=\u70CF\u90FD\u6587
-uz=\u70CF\u8332\u5225\u514B\u6587
+qu=\u84cb\u695a\u74e6\u6587
+rm=\u91cc\u6258\u7f85\u66fc\u65af\u6587
+rn=\u79d1\u9686\u5730\u6587
+ro=\u7f85\u99ac\u5c3c\u4e9e\u6587
+ru=\u4fc4\u6587
+rw=\u91d1\u63da\u842c\u7b54\u6587
+sa=\u68b5\u6587\u5b57\u6bcd
+sc=\u85a9\u4e01\u5c3c\u4e9e\u6587
+sd=\u4fe1\u5fb7\u6587
+se=\u5317\u6c99\u5bc6\u6587
+sg=\u6851\u683c\u9b6f\u6587
+si=\u932b\u862d\u6587
+sk=\u65af\u6d1b\u4f10\u514b\u6587
+sl=\u65af\u62c9\u7dad\u5c3c\u4e9e\u6587
+sm=\u85a9\u6469\u4e9e\u6587
+sn=\u980c\u54c8\u6587
+so=\u7d22\u99ac\u5229\u6587
+sq=\u963f\u723e\u5df4\u5c3c\u4e9e\u6587
+sr=\u585e\u723e\u7dad\u4e9e\u6587
+ss=\u897f\u65af\u74e6\u63d0\u6587
+st=\u8cf4\u7d22\u6258\u6587
+su=\u5dfd\u4e39\u6587
+sv=\u745e\u5178\u6587
+sw=\u53f2\u74e6\u897f\u91cc\u6587
+ta=\u5766\u7c73\u723e\u6587
+te=\u7279\u62c9\u53e4\u6587
+tg=\u5854\u5409\u514b\u6587
+th=\u6cf0\u6587
+ti=\u63d0\u683c\u5229\u5c3c\u4e9e\u6587
+tk=\u571f\u5eab\u66fc\u6587
+tl=\u5854\u52a0\u62c9\u65cf\u6587
+tn=\u585e\u8332\u74e6\u7d0d\u6587
+to=\u6771\u52a0\u6587
+tr=\u571f\u8033\u5176\u6587
+ts=\u980c\u52a0\u6587
+tt=\u97c3\u977c\u6587
+tw=\u5951\u7dad\u6587
+ty=\u5927\u6eaa\u5730\u6587
+ug=\u7dad\u543e\u723e\u6587
+uk=\u70cf\u514b\u862d\u6587
+ur=\u70cf\u90fd\u6587
+uz=\u70cf\u8332\u5225\u514b\u6587
 ve=\u6587\u9054\u6587
-vi=\u8D8A\u5357\u6587
-vo=\u6C83\u62C9\u666E\u514B\u6587
-wa=\u83EF\u9686\u6587
-wo=\u6C83\u6D1B\u592B\u6587
-xh=\u5ED3\u85A9\u6587
-yi=\u610F\u7B2C\u7DD2\u6587
-yo=\u512A\u9B6F\u5DF4\u6587
-za=\u58EF\u6587
-zh=\u4E2D\u6587
-zu=\u7956\u9B6F\u6587
+vi=\u8d8a\u5357\u6587
+vo=\u6c83\u62c9\u666e\u514b\u6587
+wa=\u83ef\u9686\u6587
+wo=\u6c83\u6d1b\u592b\u6587
+xh=\u5ed3\u85a9\u6587
+yi=\u610f\u7b2c\u7dd2\u6587
+yo=\u512a\u9b6f\u5df4\u6587
+za=\u58ef\u6587
+zh=\u4e2d\u6587
+zu=\u7956\u9b6f\u6587
 
 # key is ISO 639.2 language code
 aar=\u963F\u6CD5\u6587
@@ -321,12 +320,12 @@
 cop=\u79D1\u666E\u7279\u6587
 cor=\u5EB7\u74E6\u8033\u6587
 cos=\u79D1\u897F\u5609\u6587
-cpe=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u82F1\u8A9E\u70BA\u57FA\u790E
-cpf=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u6CD5\u8A9E\u70BA\u57FA\u790E
-cpp=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u8461\u8404\u7259\u8A9E\u70BA\u57FA\u790E
+cpe=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u82F1\u6587\u7684(\u5176\u4ED6)
+cpf=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u6CD5\u6587\u7684(\u5176\u4ED6)
+cpp=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u8461\u8404\u7259\u6587\u7684(\u5176\u4ED6)
 cre=\u514B\u91CC\u6587
 crh=\u514B\u91CC\u7C73\u4E9E\u534A\u5CF6\u7684\u571F\u8033\u5176\u6587\uFF1B\u514B\u91CC\u7C73\u4E9E\u534A\u5CF6\u7684\u5854\u5854\u723E\u6587
-crp=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E
+crp=\u5176\u4ED6\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\u7CFB
 csb=\u5361\u8212\u5E03\u6587
 cus=\u5EAB\u65BD\u7279\u8AF8\u8A9E\u8A00
 cze=\u6377\u514B\u6587
@@ -462,7 +461,7 @@
 kor=\u97D3\u6587
 kos=\u79D1\u65AF\u96F7\u6069\u6587
 kpe=\u514B\u4F69\u5217\u6587
-krc=\u5361\u62C9\u6070\u4F0A-\u5DF4\u5361\u723E\u6587
+krc=\u5361\u62C9\u67F4-\u5305\u723E\u5361\u723E\u6587
 krl=\u5361\u7D2F\u5229\u963F\u6587
 kro=\u514B\u9B6F\u6587
 kru=\u5EAB\u9B6F\u79D1\u6587
@@ -472,7 +471,7 @@
 kut=\u5EAB\u7279\u5948\u6587
 lad=\u62C9\u8FEA\u8AFE\u6587
 lah=\u62C9\u4EA8\u9054\u6587
-lam=\u6717\u5DF4\u6587
+lam=\u862D\u5DF4\u6587
 lao=\u5BEE\u6587
 lat=\u62C9\u4E01\u6587
 lav=\u62C9\u812B\u7DAD\u4E9E\u6587 (\u5217\u7279\u6587)
@@ -509,7 +508,7 @@
 mga=\u4E2D\u53E4\u611B\u723E\u862D\u6587 (900-1200)
 mic=\u7C73\u514B\u99AC\u514B\u6587
 min=\u7C73\u5357\u5361\u5821\u6587
-mis=\u672A\u7DE8\u78BC\u8A9E\u8A00
+mis=\u6DF7\u96DC\u8A9E\u8AF8\u8A9E\u8A00
 mkh=\u5B5F\u9AD8\u68C9\u8AF8\u8A9E\u8A00
 mlg=\u99AC\u62C9\u52A0\u897F\u6587
 mlt=\u99AC\u723E\u4ED6\u6587
@@ -541,11 +540,11 @@
 nic=\u5C3C\u52A0\u62C9\u74DC\u79D1\u591A\u5DF4
 niu=\u7D10\u57C3\u6587
 nno=\u632A\u5A01\u8010\u8AFE\u65AF\u514B\u6587
-nob=\u632A\u5A01\u6CE2\u514B\u9ED8\u723E\u6587
+nob=\u535A\u514B\u99AC\u723E\u6587\uFF0C\u632A\u5A01
 nog=\u8AFE\u84CB\u6587
 non=\u53E4\u8AFE\u723E\u65AF\u6587
 nor=\u632A\u5A01\u6587
-nqo=\u897F\u975E\u66F8\u9762\u6587 (N'Ko)
+nqo=\u897F\u975E\u66F8\u9762\u8A9E\u8A00 (N'Ko)
 nso=\u5317\u7D22\u6258\u6587
 nub=\u52AA\u6BD4\u4E9E\u8AF8\u8A9E\u8A00
 nwc=\u53E4\u5C3C\u74E6\u723E\u6587
@@ -592,7 +591,7 @@
 rup=\u7F85\u99AC\u5C3C\u4E9E\u8A9E\u7CFB
 rus=\u4FC4\u6587
 sad=\u6851\u9054\u97CB\u6587
-sag=\u6851\u6208\u6587
+sag=\u6851\u6208\u8A9E
 sah=\u96C5\u5EAB\u7279\u6587
 sai=\u5176\u4ED6\u5357\u7F8E\u5370\u7B2C\u5B89\u6587
 sal=\u85A9\u5229\u4EC0\u8AF8\u8A9E\u8A00
@@ -684,7 +683,7 @@
 und=\u672A\u78BA\u5B9A\u7684
 urd=\u70CF\u90FD\u6587
 uzb=\u70CF\u8332\u5225\u514B\u6587
-vai=\u74E6\u4F0A\u6587
+vai=\u8D8A\u5357\u6587 Vai
 ven=\u6587\u9054\u6587
 vie=\u8D8A\u5357\u6587
 vol=\u6C83\u62C9\u666E\u514B\u6587
@@ -740,7 +739,7 @@
 Cirt=\u8272\u65AF\u6587
 Copt=\u79D1\u666E\u7279\u6587
 Cprt=\u585E\u6D66\u8DEF\u65AF\u6587
-Cyrl=\u897F\u91CC\u4FC4\u6587
+Cyrl=\u897F\u91CC\u4FC4\u8A9E
 Cyrs=\u897F\u91CC\u723E\u6587 (\u53E4\u6559\u6703\u65AF\u62C9\u592B\u6587\u8B8A\u9AD4)
 Deva=\u68B5\u6587
 Dsrt=\u5FB7\u745F\u96F7\u7279\u6587
@@ -759,7 +758,7 @@
 Gujr=\u53E4\u5409\u62C9\u7279\u6587
 Guru=\u53E4\u723E\u7A46\u5947\u6587
 Hang=\u8AFA\u6587
-Hani=\u6F22\u6587
+Hani=\u6F22\u8A9E
 Hano=\u54C8\u52AA\u8AFE\u6587
 Hans=\u7C21\u9AD4\u4E2D\u6587
 Hant=\u7E41\u9AD4\u4E2D\u6587
@@ -791,12 +790,12 @@
 Linb=\u7DDA\u6027\u6587\u5B57 B
 Lisu=\u9ECE\u50F3\u6587
 Loma=\u6D1B\u99AC\u6587
-Lyci=\u5442\u897F\u4E9E\u6587
-Lydi=\u91CC\u5E95\u4E9E\u6587
+Lyci=\u5442\u897F\u4E9E\u8A9E
+Lydi=\u91CC\u5E95\u4E9E\u8A9E
 Mand=\u66FC\u5B89\u5E95\u6587
 Mani=\u6469\u5C3C\u6559\u6587
 Maya=\u746A\u96C5\u8C61\u5F62\u6587\u5B57
-Mend=\u9580\u8FEA\u6587
+Mend=\u9580\u8FEA\u8A9E
 Merc=\u9EA5\u7F85\u57C3\u6587\u884C\u8349
 Mero=\u9EA5\u7F85\u57C3\u6587
 Mlym=\u99AC\u4F86\u4E9E\u62C9\u59C6\u6587
@@ -807,7 +806,7 @@
 Narb=\u5317\u963F\u62C9\u4F2F\u53E4\u6587
 Nbat=\u7D0D\u5DF4\u6CF0\u6587
 Nkgb=\u7D0D\u897F\u8FE6\u5DF4\u6587
-Nkoo=\u897F\u975E\u66F8\u9762\u6587 (N'Ko)
+Nkoo=\u897F\u975E\u66F8\u9762\u8A9E\u8A00 (N'Ko)
 Ogam=\u6B50\u7518\u6587
 Olck=\u6851\u5854\u5229\u6587
 Orkh=\u9102\u723E\u6E3E\u6587
@@ -868,256 +867,256 @@
 # country names
 # key is ISO 3166 country code
 
-AD=\u5B89\u9053\u723E
-AE=\u963F\u62C9\u4F2F\u806F\u5408\u5927\u516C\u570B
-AF=\u963F\u5BCC\u6C57
-AG=\u5B89\u5730\u5361\u53CA\u5DF4\u5E03\u9054
-AI=\u5B89\u572D\u62C9
-AL=\u963F\u723E\u5DF4\u5C3C\u4E9E
-AM=\u4E9E\u7F8E\u5C3C\u4E9E
-AN=\u8377\u5C6C\u5B89\u5730\u5217\u65AF
-AO=\u5B89\u54E5\u62C9
-AQ=\u5357\u6975\u6D32
-AR=\u963F\u6839\u5EF7
-AS=\u7F8E\u5C6C\u85A9\u6469\u4E9E
+AD=\u5b89\u9053\u723e
+AE=\u963f\u62c9\u4f2f\u806f\u5408\u5927\u516c\u570b
+AF=\u963f\u5bcc\u6c57
+AG=\u5b89\u5730\u5361\u53ca\u5df4\u5e03\u9054
+AI=\u5b89\u572d\u62c9
+AL=\u963f\u723e\u5df4\u5c3c\u4e9e
+AM=\u4e9e\u7f8e\u5c3c\u4e9e
+AN=\u8377\u5c6c\u5b89\u66ff\u5217\u65af
+AO=\u5b89\u54e5\u62c9
+AQ=\u5357\u6975\u6d32
+AR=\u963f\u6839\u5ef7
+AS=\u7f8e\u5c6c\u85a9\u6469\u4e9e
 AT=\u5967\u5730\u5229
-AU=\u6FB3\u5927\u5229\u4E9E
-AW=\u963F\u8DEF\u5DF4
-AX=\u5967\u862D\u7FA4\u5CF6
-AZ=\u4E9E\u585E\u62DC\u7136
-BA=\u6CE2\u58EB\u5C3C\u4E9E\u8D6B\u585E\u54E5\u7DAD\u7D0D
-BB=\u5DF4\u8C9D\u591A
-BD=\u5B5F\u52A0\u62C9
-BE=\u6BD4\u5229\u6642
-BF=\u5E03\u5409\u7D0D\u6CD5\u7D22
-BG=\u4FDD\u52A0\u5229\u4E9E
-BH=\u5DF4\u6797
-BI=\u6D66\u9686\u5730
-BJ=\u8C9D\u5357
+AU=\u6fb3\u5927\u5229\u4e9e
+AW=\u963f\u8def\u5df4
+AX=\u5967\u862d\u7fa4\u5cf6
+AZ=\u4e9e\u585e\u62dc\u7136
+BA=\u6ce2\u58eb\u5c3c\u4e9e\u8d6b\u585e\u54e5\u7dad\u7d0d
+BB=\u5df4\u8c9d\u591a
+BD=\u5b5f\u52a0\u62c9
+BE=\u6bd4\u5229\u6642
+BF=\u5e03\u5409\u7d0d\u6cd5\u7d22
+BG=\u4fdd\u52a0\u5229\u4e9e
+BH=\u5df4\u6797
+BI=\u6d66\u9686\u5730
+BJ=\u8c9d\u5357
 BL=\u8056\u5DF4\u745F\u7C73
-BM=\u767E\u6155\u9054
-BN=\u6C76\u840A
-BO=\u73BB\u5229\u7DAD\u4E9E
+BM=\u767e\u6155\u9054
+BN=\u6c76\u840a
+BO=\u73bb\u5229\u7dad\u4e9e
 BQ=\u6CE2\u7D0D\u723E\u5CF6\u3001\u8056\u827E\u65AF\u5854\u5F97\u65AF\u5CF6\u53CA\u85A9\u5DF4\u5CF6
-BR=\u5DF4\u897F
-BS=\u5DF4\u54C8\u99AC
-BT=\u4E0D\u4E39
-BV=\u5E03\u5A01\u5CF6
-BW=\u6CE2\u672D\u90A3
-BY=\u767D\u4FC4\u7F85\u65AF
-BZ=\u8C9D\u91CC\u65AF
-CA=\u52A0\u62FF\u5927
-CC=\u53EF\u53EF\u65AF\u7FA4\u5CF6
-CD=\u525B\u679C\u6C11\u4E3B\u5171\u548C\u570B
-CF=\u4E2D\u975E
-CG=\u525B\u679C
-CH=\u745E\u58EB
-CI=\u8C61\u7259\u6D77\u5CB8
-CK=\u5EAB\u514B\u7FA4\u5CF6
-CL=\u667A\u5229
-CM=\u5580\u9EA5\u9686
-CN=\u4E2D\u570B
-CO=\u54E5\u502B\u6BD4\u4E9E
-CR=\u54E5\u65AF\u5927\u9ECE\u52A0
-CS=\u585E\u723E\u7DAD\u4E9E\u53CA\u8499\u7279\u5C3C\u54E5\u7F85
-CU=\u53E4\u5DF4
-CV=\u7DAD\u5FB7\u89D2
+BR=\u5df4\u897f
+BS=\u5df4\u54c8\u99ac
+BT=\u4e0d\u4e39
+BV=\u5e03\u5a01\u5cf6
+BW=\u6ce2\u672d\u90a3
+BY=\u767d\u4fc4\u7f85\u65af
+BZ=\u8c9d\u91cc\u65af
+CA=\u52a0\u62ff\u5927
+CC=\u53ef\u53ef\u65af\u7fa4\u5cf6
+CD=\u525b\u679c\u6c11\u4e3b\u5171\u548c\u570b
+CF=\u4e2d\u975e
+CG=\u525b\u679c
+CH=\u745e\u58eb
+CI=\u8c61\u7259\u6d77\u5cb8
+CK=\u5eab\u514b\u7fa4\u5cf6
+CL=\u667a\u5229
+CM=\u5580\u9ea5\u9686
+CN=\u4e2d\u570b
+CO=\u54e5\u502b\u6bd4\u4e9e
+CR=\u54e5\u65af\u5927\u9ece\u52a0
+CS=\u585e\u723e\u7dad\u4e9e\u53ca\u8499\u7279\u5c3c\u54e5\u7f85
+CU=\u53e4\u5df4
+CV=\u7dad\u5fb7\u89d2
 CW=\u53E4\u62C9\u679C
-CX=\u8056\u8A95\u5CF6
-CY=\u8CFD\u666E\u52D2\u65AF
-CZ=\u6377\u514B\u5171\u548C\u570B
-DE=\u5FB7\u570B
-DJ=\u5409\u5E03\u5730
-DK=\u4E39\u9EA5
-DM=\u591A\u7C73\u5C3C\u514B
-DO=\u591A\u660E\u5C3C\u52A0
-DZ=\u963F\u723E\u53CA\u5229\u4E9E
-EC=\u5384\u74DC\u591A\u723E
-EE=\u611B\u6C99\u5C3C\u4E9E
-EG=\u57C3\u53CA
-EH=\u897F\u6492\u54C8\u62C9
-ER=\u5384\u5229\u5782\u4E9E
-ES=\u897F\u73ED\u7259
-ET=\u8863\u7D22\u6BD4\u4E9E
-FI=\u82AC\u862D
-FJ=\u6590\u6FDF
-FK=\u798F\u514B\u862D\u7FA4\u5CF6
-FM=\u5BC6\u514B\u7F85\u5C3C\u897F\u4E9E\u806F\u90A6
-FO=\u6CD5\u9B6F\u7FA4\u5CF6
-FR=\u6CD5\u570B
-GA=\u52A0\u5F6D
-GB=\u82F1\u570B
-GD=\u683C\u745E\u90A3\u9054
-GE=\u55AC\u6CBB\u4E9E
-GF=\u6CD5\u5C6C\u84CB\u4E9E\u7D0D
+CX=\u8056\u8a95\u5cf6
+CY=\u8cfd\u666e\u52d2\u65af
+CZ=\u6377\u514b\u5171\u548c\u570b
+DE=\u5fb7\u570b
+DJ=\u5409\u5e03\u5730
+DK=\u4e39\u9ea5
+DM=\u591a\u7c73\u5c3c\u514b
+DO=\u591a\u660e\u5c3c\u52a0
+DZ=\u963f\u723e\u53ca\u5229
+EC=\u5384\u74dc\u591a\u723e
+EE=\u611b\u6c99\u5c3c\u4e9e
+EG=\u57c3\u53ca
+EH=\u897f\u6492\u54c8\u62c9\u6c99\u6f20
+ER=\u5384\u5229\u5782\u4e9e
+ES=\u897f\u73ed\u7259
+ET=\u8863\u7d22\u6bd4\u4e9e
+FI=\u82ac\u862d
+FJ=\u6590\u6fdf
+FK=\u798f\u514b\u862d\u7fa4\u5cf6
+FM=\u5bc6\u514b\u7f85\u5c3c\u897f\u4e9e\u806f\u90a6
+FO=\u6cd5\u9b6f\u7fa4\u5cf6
+FR=\u6cd5\u570b
+GA=\u52a0\u5f6d
+GB=\u82f1\u570b
+GD=\u683c\u745e\u90a3\u9054
+GE=\u55ac\u6cbb\u4e9e
+GF=\u6cd5\u5c6c\u84cb\u4e9e\u7d0d
 GG=\u6839\u897F\u5CF6
-GH=\u8FE6\u7D0D
-GI=\u76F4\u5E03\u7F85\u9640
-GL=\u683C\u9675\u862D
-GM=\u7518\u6BD4\u4E9E
-GN=\u5E7E\u5167\u4E9E
-GP=\u54E5\u5FB7\u666E\u6D1B
-GQ=\u8D64\u9053\u5E7E\u5167\u4E9E
-GR=\u5E0C\u81D8
-GS=\u5357\u55AC\u6CBB\u4E9E\u548C\u5357\u6851\u5A01\u5947\u7FA4\u5CF6
-GT=\u74DC\u5730\u99AC\u62C9
-GU=\u95DC\u5CF6
-GW=\u5E7E\u5167\u4E9E\u6BD4\u7D22
-GY=\u84CB\u4E9E\u7D0D
-HK=\u9999\u6E2F\u7279\u5225\u884C\u653F\u5340
-HM=\u8CC0\u5F97\u5CF6\u548C\u9EA5\u514B\u5510\u7D0D\u7FA4\u5CF6
-HN=\u5B8F\u90FD\u62C9\u65AF
-HR=\u514B\u7F85\u57C3\u897F\u4E9E
-HT=\u6D77\u5730
+GH=\u8fe6\u7d0d
+GI=\u76f4\u5e03\u7f85\u9640
+GL=\u683c\u9675\u862d
+GM=\u7518\u6bd4\u4e9e
+GN=\u5e7e\u5167\u4e9e
+GP=\u683c\u9675\u862d
+GQ=\u8d64\u9053\u5e7e\u5167\u4e9e
+GR=\u5e0c\u81d8
+GS=\u5357\u55ac\u6cbb\u4e9e\u548c\u5357\u6851\u5a01\u5947\u7fa4\u5cf6
+GT=\u74dc\u5730\u99ac\u62c9
+GU=\u95dc\u5cf6
+GW=\u6bd4\u7d22
+GY=\u84cb\u4e9e\u7d0d
+HK=\u9999\u6e2f
+HM=\u8cc0\u5f97\u5cf6\u548c\u9ea5\u514b\u5510\u7d0d\u7fa4\u5cf6
+HN=\u5b8f\u90fd\u62c9\u65af
+HR=\u514b\u7f85\u57c3\u897f\u4e9e
+HT=\u6d77\u5730
 HU=\u5308\u7259\u5229
-ID=\u5370\u5C3C
-IE=\u611B\u723E\u862D
-IL=\u4EE5\u8272\u5217
+ID=\u5370\u5c3c
+IE=\u611b\u723e\u862d
+IL=\u4ee5\u8272\u5217
 IM=\u66FC\u5CF6
-IN=\u5370\u5EA6
-IO=\u82F1\u5C6C\u5370\u5EA6\u6D0B\u5730\u5340
-IQ=\u4F0A\u62C9\u514B
-IR=\u4F0A\u6717
-IS=\u51B0\u5CF6
-IT=\u7FA9\u5927\u5229
+IN=\u5370\u5ea6
+IO=\u82f1\u5c6c\u5370\u5ea6\u6d0b\u5730\u5340
+IQ=\u4f0a\u62c9\u514b
+IR=\u4f0a\u6717
+IS=\u51b0\u5cf6
+IT=\u7fa9\u5927\u5229
 JE=\u6FA4\u897F\u5CF6
-JM=\u7259\u8CB7\u52A0
-JO=\u7D04\u65E6
-JP=\u65E5\u672C
-KE=\u80AF\u4E9E
-KG=\u5409\u723E\u5409\u65AF
-KH=\u67EC\u57D4\u5BE8
-KI=\u5409\u91CC\u5DF4\u65AF
-KM=\u845B\u6469
-KN=\u8056\u514B\u91CC\u65AF\u591A\u798F\u53CA\u5C3C\u7DAD\u65AF
-KP=\u5317\u97D3
-KR=\u5357\u97D3
-KW=\u79D1\u5A01\u7279
-KY=\u958B\u66FC\u7FA4\u5CF6
-KZ=\u54C8\u85A9\u514B
-LA=\u5BEE\u570B
-LB=\u9ECE\u5DF4\u5AE9
-LC=\u8056\u9732\u897F\u4E9E
-LI=\u5217\u652F\u6566\u65AF\u767B
-LK=\u65AF\u91CC\u862D\u5361
-LR=\u8CF4\u6BD4\u745E\u4E9E
-LS=\u8CF4\u7D22\u6258
-LT=\u7ACB\u9676\u5B9B
-LU=\u76E7\u68EE\u5821
-LV=\u62C9\u812B\u7DAD\u4E9E
-LY=\u5229\u6BD4\u4E9E
-MA=\u6469\u6D1B\u54E5
-MC=\u6469\u7D0D\u54E5
-MD=\u6469\u723E\u591A\u74E6
-ME=\u8499\u7279\u5C3C\u683C\u7F85
+JM=\u7259\u8cb7
+JO=\u7d04\u65e6
+JP=\u65e5\u672c
+KE=\u80af\u4e9e
+KG=\u5409\u723e\u5409\u65af
+KH=\u67ec\u57d4\u5be8
+KI=\u5409\u91cc\u5df4\u65af
+KM=\u845b\u6469
+KN=\u8056\u514b\u91cc\u65af\u591a\u798f\u53ca\u5c3c\u7dad\u65af
+KP=\u5317\u97d3
+KR=\u5357\u97d3
+KW=\u79d1\u5a01\u7279
+KY=\u958b\u66fc\u7fa4\u5cf6
+KZ=\u54c8\u85a9\u514b
+LA=\u5bee\u570b
+LB=\u9ece\u5df4\u5ae9
+LC=\u8056\u9732\u897f\u4e9e
+LI=\u5217\u652f\u6566\u65af\u767b
+LK=\u65af\u91cc\u862d\u5361
+LR=\u8cf4\u6bd4\u745e\u4e9e
+LS=\u8cf4\u7d22\u6258
+LT=\u7acb\u9676\u5b9b
+LU=\u76e7\u68ee\u5821
+LV=\u62c9\u812b\u7dad\u4e9e
+LY=\u5229\u6bd4\u4e9e
+MA=\u6469\u6d1b\u54e5
+MC=\u6469\u7d0d\u54e5
+MD=\u6469\u723e\u591a\u74e6
+ME=\u8499\u7279\u5c3c\u683c\u7f85
 MF=\u8056\u99AC\u4E01
-MG=\u99AC\u9054\u52A0\u65AF\u52A0
-MH=\u99AC\u7D39\u723E\u7FA4\u5CF6
-MK=\u99AC\u5176\u9813
-ML=\u99AC\u5229
-MM=\u7DEC\u7538
-MN=\u8499\u53E4
-MO=\u6FB3\u9580
-MP=\u5317\u99AC\u91CC\u5B89\u7D0D\u7FA4\u5CF6
-MQ=\u99AC\u4E01\u5C3C\u514B\u5CF6
-MR=\u8305\u5229\u5854\u5C3C\u4E9E
-MS=\u8499\u7279\u8272\u62C9\u7279\u5CF6
-MT=\u99AC\u723E\u4ED6
-MU=\u6A21\u91CC\u897F\u65AF
-MV=\u99AC\u723E\u5730\u592B
-MW=\u99AC\u62C9\u5A01
-MX=\u58A8\u897F\u54E5
-MY=\u99AC\u4F86\u897F\u4E9E
-MZ=\u83AB\u4E09\u6BD4\u514B
-NA=\u7D0D\u7C73\u6BD4\u4E9E
-NC=\u65B0\u5580\u91CC\u591A\u5C3C\u4E9E\u7FA4\u5CF6
-NE=\u5C3C\u65E5
-NF=\u8AFE\u798F\u514B\u5CF6
-NG=\u5948\u53CA\u5229\u4E9E
-NI=\u5C3C\u52A0\u62C9\u74DC
-NL=\u8377\u862D
-NO=\u632A\u5A01
-NP=\u5C3C\u6CCA\u723E
-NR=\u8AFE\u9B6F
-NU=\u7D10\u5A01\u5CF6
-NZ=\u7D10\u897F\u862D
-OM=\u963F\u66FC
-PA=\u5DF4\u62FF\u99AC
-PE=\u7955\u9B6F\u5171\u548C\u570B
-PF=\u6CD5\u5C6C\u73BB\u91CC\u5C3C\u897F\u4E9E
-PG=\u5DF4\u5E03\u4E9E\u7D10\u5E7E\u5167\u4E9E
-PH=\u83F2\u5F8B\u8CD3
-PK=\u5DF4\u57FA\u65AF\u5766
-PL=\u6CE2\u862D
-PM=\u8056\u76AE\u57C3\u723E\u548C\u5BC6\u514B\u9686
-PN=\u76AE\u7279\u5EB7
-PR=\u6CE2\u591A\u9ECE\u5404
-PS=\u5DF4\u52D2\u65AF\u5766
+MG=\u99ac\u9054\u52a0\u65af\u52a0
+MH=\u99ac\u7d39\u723e\u7fa4\u5cf6
+MK=\u99ac\u5176\u9813
+ML=\u99ac\u5229
+MM=\u7dec\u7538
+MN=\u8499\u53e4
+MO=\u6fb3\u9580
+MP=\u99ac\u91cc\u4e9e\u7d0d\u7fa4\u5cf6
+MQ=\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e
+MR=\u8305\u5229\u5854\u5c3c\u4e9e
+MS=\u8499\u7279\u8272\u62c9\u7279\u5cf6
+MT=\u99ac\u723e\u4ed6
+MU=\u6a21\u91cc\u897f\u65af
+MV=\u99ac\u723e\u5730\u592b
+MW=\u99ac\u62c9\u5a01
+MX=\u58a8\u897f\u54e5
+MY=\u99ac\u4f86\u897f\u4e9e
+MZ=\u83ab\u4e09\u6bd4\u514b
+NA=\u7d0d\u7c73\u6bd4\u4e9e
+NC=\u65b0\u5580\u91cc\u591a\u5c3c\u4e9e\u7fa4\u5cf6
+NE=\u5c3c\u65e5
+NF=\u8afe\u798f\u514b\u5cf6
+NG=\u5948\u53ca\u5229\u4e9e
+NI=\u5c3c\u52a0\u62c9\u74dc
+NL=\u8377\u862d
+NO=\u632a\u5a01
+NP=\u5c3c\u6cca\u723e
+NR=\u8afe\u9b6f
+NU=\u7d10\u5a01\u5cf6
+NZ=\u7d10\u897f\u862d
+OM=\u963f\u66fc
+PA=\u5df4\u62ff\u99ac
+PE=\u7955\u9b6f\u5171\u548c\u570b
+PF=\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e
+PG=\u5df4\u5e03\u4e9e\u7d10\u5e7e\u5167\u4e9e
+PH=\u83f2\u5f8b\u8cd3
+PK=\u5df4\u57fa\u65af\u5766
+PL=\u6ce2\u862d
+PM=\u8056\u76ae\u57c3\u723e\u548c\u5bc6\u514b\u9686
+PN=\u76ae\u7279\u5eb7
+PR=\u6ce2\u591a\u9ece\u5404
+PS=\u5df4\u52d2\u65af\u5766
 PT=\u8461\u8404\u7259
-PW=\u5E1B\u7409
-PY=\u5DF4\u62C9\u572D
+PW=\u5e1b\u7409
+PY=\u5df4\u62c9\u572d
 QA=\u5361\u9054
-RE=\u7559\u5C3C\u65FA\u5CF6
-RO=\u7F85\u99AC\u5C3C\u4E9E
-RS=\u585E\u723E\u7DAD\u4E9E
-RU=\u4FC4\u7F85\u65AF\u806F\u90A6
-RW=\u76E7\u5B89\u9054
-SA=\u6C99\u70CF\u5730\u963F\u62C9\u4F2F
-SB=\u7D22\u7F85\u9580\u7FA4\u5CF6
-SC=\u585E\u5E2D\u723E
-SD=\u8607\u4E39
-SE=\u745E\u5178
-SG=\u65B0\u52A0\u5761
-SH=\u8056\u8D6B\u52D2\u62FF\u5CF6
-SI=\u65AF\u6D1B\u7DAD\u5C3C\u4E9E
-SJ=\u51B7\u5CB8\u53CA\u592E\u9EA5\u6069\u5CF6
-SK=\u65AF\u6D1B\u4F10\u514B
-SL=\u7345\u5B50\u5C71
-SM=\u8056\u99AC\u529B\u8AFE
-SN=\u585E\u5167\u52A0\u723E
-SO=\u7D22\u99AC\u5229\u4E9E
+RE=\u7559\u5c3c\u65fa\u5cf6
+RO=\u7f85\u99ac\u5c3c\u4e9e
+RS=\u585e\u723e\u7dad\u4e9e
+RU=\u4fc4\u7f85\u65af\u806f\u90a6
+RW=\u76e7\u5b89\u9054
+SA=\u6c99\u70cf\u5730\u963f\u62c9\u4f2f
+SB=\u7d22\u7f85\u9580\u7fa4\u5cf6
+SC=\u585e\u5e2d\u723e
+SD=\u8607\u4e39
+SE=\u745e\u5178
+SG=\u65b0\u52a0\u5761
+SH=\u8056\u8d6b\u62ff\u52d2\u5cf6
+SI=\u65af\u6d1b\u7dad\u5c3c\u4e9e
+SJ=\u51b7\u5cb8\u548c\u592e\u9ea5\u6069\u5cf6
+SK=\u65af\u6d1b\u4f10\u514b
+SL=\u7345\u5b50\u5c71
+SM=\u8056\u99ac\u529b\u8afe
+SN=\u585e\u5167\u52a0\u723e
+SO=\u7d22\u99ac\u5229\u4e9e
 SR=\u8607\u5229\u5357
-ST=\u8056\u591A\u7F8E
-SV=\u85A9\u723E\u74E6\u591A
+ST=\u8056\u591a\u7f8e
+SV=\u85a9\u723e\u74e6\u591a
 SX=\u8056\u99AC\u4E01 (\u8377\u862D\u90E8\u4EFD)
-SY=\u6558\u5229\u4E9E
-SZ=\u53F2\u74E6\u6FDF\u862D
-TC=\u571F\u514B\u65AF\u548C\u958B\u5361\u65AF\u7FA4\u5CF6
-TD=\u67E5\u5FB7
-TF=\u6CD5\u570B\u5357\u65B9\u9818\u5730
-TG=\u591A\u54E5
-TH=\u6CF0\u570B
-TJ=\u5854\u5409\u514B
-TK=\u6258\u514B\u52DE\u7FA4\u5CF6
-TL=\u6771\u5E1D\u6C76
-TM=\u571F\u5EAB\u66FC
-TN=\u7A81\u5C3C\u897F\u4E9E
-TO=\u6771\u52A0
-TR=\u571F\u8033\u5176
-TT=\u5343\u91CC\u9054\u53CA\u6258\u5DF4\u54E5
-TV=\u5410\u74E6\u9B6F
-TW=\u53F0\u7063
-TZ=\u5766\u5C1A\u5C3C\u4E9E
-UA=\u70CF\u514B\u862D
-UG=\u70CF\u5E72\u9054
-UM=\u7F8E\u570B\u5916\u5CF6
-US=\u7F8E\u570B
-UY=\u70CF\u62C9\u572D
-UZ=\u70CF\u8332\u5225\u514B\u65AF\u5766
-VA=\u68B5\u5E1D\u5CA1
-VC=\u8056\u6587\u68EE\u53CA\u683C\u745E\u90A3\u4E01
-VE=\u59D4\u5167\u745E\u62C9
-VG=\u82F1\u5C6C\u7DAD\u723E\u4EAC\u7FA4\u5CF6
-VI=\u7F8E\u5C6C\u7DAD\u723E\u4EAC\u7FA4\u5CF6
-VN=\u8D8A\u5357
-VU=\u842C\u90A3\u675C
-WF=\u6C83\u5229\u65AF\u548C\u5BCC\u7A81\u7D0D
-WS=\u85A9\u6469\u4E9E
+SY=\u6558\u5229\u4e9e
+SZ=\u53f2\u74e6\u6fdf\u862d
+TC=\u571f\u514b\u65af\u548c\u958b\u5361\u65af\u7fa4\u5cf6
+TD=\u67e5\u5fb7
+TF=\u6cd5\u570b\u5357\u65b9\u9818\u5730
+TG=\u591a\u54e5
+TH=\u6cf0\u570b
+TJ=\u5854\u5409\u514b
+TK=\u6258\u514b\u52de\u7fa4\u5cf6
+TL=\u6771\u5e1d\u6c76
+TM=\u571f\u5eab\u66fc
+TN=\u7a81\u5c3c\u897f\u4e9e
+TO=\u6771\u52a0
+TR=\u571f\u8033\u5176
+TT=\u5343\u91cc\u9054\u53ca\u6258\u5df4\u54e5
+TV=\u5410\u74e6\u9b6f
+TW=\u53f0\u7063
+TZ=\u5766\u5c1a\u5c3c\u4e9e
+UA=\u70cf\u514b\u862d
+UG=\u70cf\u5e72\u9054
+UM=\u7f8e\u570b\u5916\u5cf6
+US=\u7f8e\u570b
+UY=\u70cf\u62c9\u572d
+UZ=\u70cf\u8332\u5225\u514b\u65af\u5766
+VA=\u68b5\u5e1d\u5d17
+VC=\u8056\u6587\u68ee\u53ca\u683c\u745e\u90a3\u4e01
+VE=\u59d4\u5167\u745e\u62c9
+VG=\u82f1\u5c6c\u7dad\u723e\u4eac\u7fa4\u5cf6
+VI=\u7f8e\u5c6c\u7dad\u723e\u4eac\u7fa4\u5cf6
+VN=\u8d8a\u5357
+VU=\u842c\u90a3\u675c
+WF=\u6c83\u5229\u65af\u548c\u5bcc\u7a81\u7d0d
+WS=\u85a9\u6469\u4e9e
 YE=\u8449\u9580
-YT=\u99AC\u7D04\u7279\u5CF6
-ZA=\u5357\u975E
-ZM=\u5C1A\u6BD4\u4E9E
-ZW=\u8F9B\u5DF4\u5A01
+YT=\u99ac\u7d04\u7279\u5cf6
+ZA=\u5357\u975e
+ZM=\u5c1a\u6bd4\u4e9e
+ZW=\u8f9b\u5df4\u5a01
 
 # territory names
 # key is UN M.49 country and area code
@@ -1152,19 +1151,3 @@
 154=\u5317\u6B50
 155=\u897F\u6B50
 419=\u62C9\u4E01\u7F8E\u6D32\u548C\u52A0\u52D2\u6BD4\u6D77
-
-# variant names
-# key is %%variant
-# rarely localized
-
-%%EURO=\u6B50\u5143
-%%B=\u6CE2\u514B\u9ED8\u723E\u6587
-%%NY=\u8010\u8AFE\u65AF\u514B\u6587
-
-
-# locale name patterns
-# rarely localized
-
-DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})}
-ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}}
-ListCompositionPattern={0},{1}
--- a/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java	Sun Jun 24 21:35:19 2012 -0700
@@ -134,6 +134,9 @@
 
     {
         jPopupMenu.add(new JMenuItem(exitAction));
+
+        // To avoid popup cutting by main window shape forbid light-weight popups
+        jPopupMenu.setLightWeightPopupEnabled(false);
     }
 
     /**
--- a/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java	Sun Jun 24 21:35:19 2012 -0700
@@ -721,15 +721,17 @@
             // Location, Client size + insets
             newLocation = new Point(xe.get_x() - currentInsets.left, xe.get_y() - currentInsets.top);
         } else {
-            // CDE/MWM/Metacity/Sawfish bug: if shell is resized using
-            // top or left border, we don't receive synthetic
-            // ConfigureNotify, only the one from X with zero
-            // coordinates.  This is the workaround to get real
-            // location, 6261336
+            // ICCCM 4.1.5 states that a real ConfigureNotify will be sent when
+            // a window is resized but the client can not tell if the window was
+            // moved or not. The client should consider the position as unkown
+            // and use TranslateCoordinates to find the actual position.
+            //
+            // TODO this should be the default for every case.
             switch (XWM.getWMID()) {
                 case XWM.CDE_WM:
                 case XWM.MOTIF_WM:
                 case XWM.METACITY_WM:
+                case XWM.MUTTER_WM:
                 case XWM.SAWFISH_WM:
                 {
                     Point xlocation = queryXLocation();
--- a/src/solaris/classes/sun/awt/X11/XWM.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/solaris/classes/sun/awt/X11/XWM.java	Sun Jun 24 21:35:19 2012 -0700
@@ -102,7 +102,8 @@
         METACITY_WM = 11,
         COMPIZ_WM = 12,
         LG3D_WM = 13,
-        CWM_WM = 14;
+        CWM_WM = 14,
+        MUTTER_WM = 15;
     public String toString() {
         switch  (WMID) {
           case NO_WM:
@@ -131,6 +132,8 @@
               return "LookingGlass";
           case CWM_WM:
               return "CWM";
+          case MUTTER_WM:
+              return "Mutter";
           case UNDETERMINED_WM:
           default:
               return "Undetermined WM";
@@ -573,6 +576,10 @@
 //                            getIntProperty(XToolkit.getDefaultRootWindow(), XAtom.XA_CARDINAL)) == 0);
     }
 
+    static boolean isMutter() {
+        return isNetWMName("Mutter");
+    }
+
     static boolean isNonReparentingWM() {
         return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM);
     }
@@ -742,6 +749,8 @@
                 awt_wmgr = XWM.ENLIGHTEN_WM;
             } else if (isMetacity()) {
                 awt_wmgr = XWM.METACITY_WM;
+            } else if (isMutter()) {
+                awt_wmgr = XWM.MUTTER_WM;
             } else if (isSawfish()) {
                 awt_wmgr = XWM.SAWFISH_WM;
             } else if (isKDE2()) {
--- a/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	Sun Jun 24 21:35:19 2012 -0700
@@ -25,9 +25,10 @@
 
 package sun.nio.ch;
 
-import sun.misc.*;
 import java.io.IOException;
-import java.util.LinkedList;
+import java.util.BitSet;
+import java.util.Map;
+import java.util.HashMap;
 
 
 /**
@@ -66,62 +67,72 @@
     static final short EVENT_OFFSET  = 4;
     static final short REVENT_OFFSET = 6;
 
+    // Special value to indicate that an update should be ignored
+    static final byte  CANCELLED     = (byte)-1;
+
     // Maximum number of open file descriptors
     static final int   OPEN_MAX      = fdLimit();
 
     // Number of pollfd structures to create.
-    // DP_POLL ioctl allows up to OPEN_MAX-1
+    // dpwrite/ioctl(DP_POLL) allows up to OPEN_MAX-1
     static final int   NUM_POLLFDS   = Math.min(OPEN_MAX-1, 8192);
 
+    // Initial size of arrays for fd registration changes
+    private final int INITIAL_PENDING_UPDATE_SIZE = 64;
+
+    // maximum size of updatesLow
+    private final int MAX_UPDATE_ARRAY_SIZE = Math.min(OPEN_MAX, 64*1024);
+
+    // The pollfd array for results from devpoll driver
+    private final AllocatedNativeObject pollArray;
+
     // Base address of the native pollArray
-    private long pollArrayAddress;
+    private final long pollArrayAddress;
 
-    // Array of pollfd structs used for driver updates
-    private AllocatedNativeObject updatePollArray;
+    // The fd of the devpoll driver
+    private int wfd;
 
-    // Maximum number of POLL_FD structs to update at once
-    private int MAX_UPDATE_SIZE = Math.min(OPEN_MAX, 10000);
+    // The fd of the interrupt line going out
+    private int outgoingInterruptFD;
+
+    // The fd of the interrupt line coming in
+    private int incomingInterruptFD;
+
+    // The index of the interrupt FD
+    private int interruptedIndex;
+
+    // Number of updated pollfd entries
+    int updated;
+
+    // object to synchronize fd registration changes
+    private final Object updateLock = new Object();
+
+    // number of file descriptors with registration changes pending
+    private int updateCount;
+
+    // file descriptors with registration changes pending
+    private int[] updateDescriptors = new int[INITIAL_PENDING_UPDATE_SIZE];
+
+    // events for file descriptors with registration changes pending, indexed
+    // by file descriptor and stored as bytes for efficiency reasons. For
+    // file descriptors higher than MAX_UPDATE_ARRAY_SIZE (unlimited case at
+    // least then the update is stored in a map.
+    private final byte[] eventsLow = new byte[MAX_UPDATE_ARRAY_SIZE];
+    private Map<Integer,Byte> eventsHigh;
+
+    // Used by release and updateRegistrations to track whether a file
+    // descriptor is registered with /dev/poll.
+    private final BitSet registered = new BitSet();
 
     DevPollArrayWrapper() {
         int allocationSize = NUM_POLLFDS * SIZE_POLLFD;
         pollArray = new AllocatedNativeObject(allocationSize, true);
         pollArrayAddress = pollArray.address();
-        allocationSize = MAX_UPDATE_SIZE * SIZE_POLLFD;
-        updatePollArray = new AllocatedNativeObject(allocationSize, true);
         wfd = init();
+        if (OPEN_MAX > MAX_UPDATE_ARRAY_SIZE)
+            eventsHigh = new HashMap<>();
     }
 
-    // Machinery for remembering fd registration changes
-    // A hashmap could be used but the number of changes pending
-    // is expected to be small
-    private static class Updator {
-        int fd;
-        int mask;
-        Updator(int fd, int mask) {
-            this.fd = fd;
-            this.mask = mask;
-        }
-    }
-    private LinkedList<Updator> updateList = new LinkedList<Updator>();
-
-    // The pollfd array for results from devpoll driver
-    private AllocatedNativeObject pollArray;
-
-    // The fd of the devpoll driver
-    int wfd;
-
-    // The fd of the interrupt line going out
-    int outgoingInterruptFD;
-
-    // The fd of the interrupt line coming in
-    int incomingInterruptFD;
-
-    // The index of the interrupt FD
-    int interruptedIndex;
-
-    // Number of updated pollfd entries
-    int updated;
-
     void initInterrupt(int fd0, int fd1) {
         outgoingInterruptFD = fd1;
         incomingInterruptFD = fd0;
@@ -148,22 +159,60 @@
         return pollArray.getInt(offset);
     }
 
+    private void setUpdateEvents(int fd, byte events) {
+        if (fd < MAX_UPDATE_ARRAY_SIZE) {
+            eventsLow[fd] = events;
+        } else {
+            eventsHigh.put(Integer.valueOf(fd), Byte.valueOf(events));
+        }
+    }
+
+    private byte getUpdateEvents(int fd) {
+        if (fd < MAX_UPDATE_ARRAY_SIZE) {
+            return eventsLow[fd];
+        } else {
+            Byte result = eventsHigh.get(Integer.valueOf(fd));
+            // result should never be null
+            return result.byteValue();
+        }
+    }
+
     void setInterest(int fd, int mask) {
-        synchronized (updateList) {
-            updateList.add(new Updator(fd, mask));
+        synchronized (updateLock) {
+            // record the file descriptor and events, expanding the
+            // respective arrays first if necessary.
+            int oldCapacity = updateDescriptors.length;
+            if (updateCount == oldCapacity) {
+                int newCapacity = oldCapacity + INITIAL_PENDING_UPDATE_SIZE;
+                int[] newDescriptors = new int[newCapacity];
+                System.arraycopy(updateDescriptors, 0, newDescriptors, 0, oldCapacity);
+                updateDescriptors = newDescriptors;
+            }
+            updateDescriptors[updateCount++] = fd;
+
+            // events are stored as bytes for efficiency reasons
+            byte b = (byte)mask;
+            assert (b == mask) && (b != CANCELLED);
+            setUpdateEvents(fd, b);
         }
     }
 
     void release(int fd) {
-        synchronized (updateList) {
-            updateList.add(new Updator(fd, POLLREMOVE));
+        synchronized (updateLock) {
+            // cancel any pending update for this file descriptor
+            setUpdateEvents(fd, CANCELLED);
+
+            // remove from /dev/poll
+            if (registered.get(fd)) {
+                register(wfd, fd, POLLREMOVE);
+                registered.clear(fd);
+            }
         }
     }
 
     void closeDevPollFD() throws IOException {
         FileDispatcherImpl.closeIntFD(wfd);
         pollArray.free();
-        updatePollArray.free();
     }
 
     int poll(long timeout) throws IOException {
@@ -180,33 +229,48 @@
     }
 
     void updateRegistrations() throws IOException {
-        // Populate pollfd array with updated masks
-        synchronized (updateList) {
-            while (updateList.size() > 0) {
-                // We have to insert a dummy node in between each
-                // real update to use POLLREMOVE on the fd first because
-                // otherwise the changes are simply OR'd together
-                int index = 0;
-                Updator u = null;
-                while ((u = updateList.poll()) != null) {
-                    // First add pollfd struct to clear out this fd
-                    putPollFD(updatePollArray, index, u.fd, POLLREMOVE);
+        synchronized (updateLock) {
+            // Populate pollfd array with updated masks
+            int j = 0;
+            int index = 0;
+            while (j < updateCount) {
+                int fd = updateDescriptors[j];
+                short events = getUpdateEvents(fd);
+                boolean isRegistered = registered.get(fd);
+
+                // events = 0 => POLLREMOVE or do-nothing
+                if (events != CANCELLED) {
+                    if (events == 0) {
+                        if (isRegistered) {
+                            events = POLLREMOVE;
+                            registered.clear(fd);
+                        } else {
+                            events = CANCELLED;
+                        }
+                    } else {
+                        if (!isRegistered) {
+                            registered.set(fd);
+                        }
+                    }
+                }
+
+                // populate pollfd array with updated event
+                if (events != CANCELLED) {
+                    putPollFD(pollArray, index, fd, events);
                     index++;
-                    // Now add pollfd to update this fd, if necessary
-                    if (u.mask != POLLREMOVE) {
-                        putPollFD(updatePollArray, index, u.fd, (short)u.mask);
-                        index++;
+                    if (index >= NUM_POLLFDS) {
+                        registerMultiple(wfd, pollArray.address(), index);
+                        index = 0;
                     }
+                }
+                j++;
+            }
 
-                    // Check against the max update size; these are
-                    // all we will process. Valid index ranges from 0 to
-                    // (MAX_UPDATE_SIZE - 1) and we can use up to 2 per loop
-                    if (index >  MAX_UPDATE_SIZE - 2)
-                        break;
-                }
-                // Register the changes with /dev/poll
-                registerMultiple(wfd, updatePollArray.address(), index);
-             }
+            // write any remaining updates
+            if (index > 0)
+                registerMultiple(wfd, pollArray.address(), index);
+
+            updateCount = 0;
         }
     }
 
@@ -245,5 +309,4 @@
                              int wfd);
     private static native void interrupt(int fd);
     private static native int fdLimit();
-
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import java.nio.channels.*;
+import java.nio.channels.spi.*;
+
+public class DevPollSelectorProvider
+    extends SelectorProviderImpl
+{
+    public AbstractSelector openSelector() throws IOException {
+        return new DevPollSelectorImpl(this);
+    }
+
+    public Channel inheritedChannel() throws IOException {
+        return InheritedChannel.getChannel();
+    }
+}
--- a/src/solaris/native/java/util/TimeZone_md.c	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/solaris/native/java/util/TimeZone_md.c	Sun Jun 24 21:35:19 2012 -0700
@@ -96,9 +96,9 @@
 /*
  * Scans the specified directory and its subdirectories to find a
  * zoneinfo file which has the same content as /etc/localtime on Linux
- * or /usr/share/lib/zoneinfo/localtime (most likely a symbolic link)
- * on Solaris given in 'buf'. Returns a zone ID if found, otherwise,
- * NULL is returned.
+ * or /usr/share/lib/zoneinfo/localtime on Solaris given in 'buf'.
+ * If file is symbolic link, then the contents it points to are in buf.
+ * Returns a zone ID if found, otherwise, NULL is returned.
  */
 static char *
 findZoneinfoFile(char *buf, size_t size, const char *dir)
@@ -281,21 +281,27 @@
         tz = getZoneName(linkbuf);
         if (tz != NULL) {
             tz = strdup(tz);
+            return tz;
         }
-        return tz;
     }
 
     /*
      * If it's a regular file, we need to find out the same zoneinfo file
      * that has been copied as /etc/localtime.
+     * If initial symbolic link resolution failed, we should treat target
+     * file as a regular file.
      */
+    if ((fd = open(DEFAULT_ZONEINFO_FILE, O_RDONLY)) == -1) {
+        return NULL;
+    }
+    if (fstat(fd, &statbuf) == -1) {
+        (void) close(fd);
+        return NULL;
+    }
     size = (size_t) statbuf.st_size;
     buf = (char *) malloc(size);
     if (buf == NULL) {
-        return NULL;
-    }
-    if ((fd = open(DEFAULT_ZONEINFO_FILE, O_RDONLY)) == -1) {
-        free((void *) buf);
+        (void) close(fd);
         return NULL;
     }
 
--- a/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c	Thu Jun 21 00:20:49 2012 -0700
+++ b/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c	Sun Jun 24 21:35:19 2012 -0700
@@ -118,27 +118,20 @@
 Java_sun_nio_ch_DevPollArrayWrapper_register(JNIEnv *env, jobject this,
                                              jint wfd, jint fd, jint mask)
 {
-    struct pollfd a[2];
-    unsigned char *pollBytes = (unsigned char *)&a[0];
-    unsigned char *pollEnd = pollBytes + sizeof(struct pollfd) * 2;
+    struct pollfd a[1];
+    int n;
 
-    /* We clear it first, otherwise any entries between poll invocations
-       get OR'd together */
     a[0].fd = fd;
-    a[0].events = POLLREMOVE;
+    a[0].events = mask;
     a[0].revents = 0;
 
-    a[1].fd = fd;
-    a[1].events = mask;
-    a[1].revents = 0;
-
-    while (pollBytes < pollEnd) {
-        int bytesWritten = write(wfd, pollBytes, (int)(pollEnd - pollBytes));
-        if (bytesWritten < 0) {
+    n = write(wfd, &a[0], sizeof(a));
+    if (n != sizeof(a)) {
+        if (n < 0) {
             JNU_ThrowIOExceptionWithLastError(env, "Error writing pollfds");
-            return;
+        } else {
+            JNU_ThrowIOException(env, "Unexpected number of bytes written");
         }
-        pollBytes += bytesWritten;
     }
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/WMSpecificTests/Mutter/MutterMaximizeTest.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2012 Red Hat, Inc.  All Rights Reserved.
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+
+/*
+  @test
+  @bug      7043963
+  @summary  Tests  that the screen location of windows is
+            updated properly after a maximize.
+  @author   Denis Lila
+  @library  ../../regtesthelpers
+  @build    Util
+  @run      main MutterMaximizeTest
+*/
+
+import java.awt.AWTException;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.Point;
+import java.awt.Robot;
+import java.awt.Window;
+import java.awt.event.InputEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import test.java.awt.regtesthelpers.Util;
+
+@SuppressWarnings("serial")
+public class MutterMaximizeTest extends Frame {
+
+    public static void main(String[] args) throws InterruptedException {
+        if (Util.getWMID() != Util.MUTTER_WM) {
+            System.out.println("This test is only useful on Mutter");
+            return;
+        }
+        MutterMaximizeTest frame = new MutterMaximizeTest();
+        frame.addWindowListener(Util.getClosingWindowAdapter());
+
+        //Display the window.
+        frame.setSize(500, 500);
+        Util.showWindowWait(frame);
+        runRobotTest(frame);
+    }
+
+    private static void runRobotTest(Frame frame) {
+        try {
+            Thread robotThread = startRegTest(frame);
+            robotThread.start();
+            waitForThread(robotThread);
+        } finally {
+            frame.dispose();
+        }
+    }
+
+    private static void waitForThread(Thread t) {
+        while (t.isAlive()) {
+            try {
+                t.join();
+            } catch (InterruptedException e) {
+            }
+        }
+    }
+
+    private static void sleepFor(long millis) {
+        long dT = 0;
+        long start = System.nanoTime();
+        while (dT < millis) {
+            try {
+                long toSleep = millis - dT/1000000;
+                if (toSleep > 0) {
+                    Thread.sleep(toSleep);
+                }
+                // if this ends without an interrupted exception,
+                // that's good enough.
+                break;
+            } catch (InterruptedException e) {
+                long now = System.nanoTime();
+                dT = now - start;
+            }
+        }
+    }
+
+    private static void rmove(Robot robot, Point p) {
+        robot.mouseMove(p.x, p.y);
+    }
+    private static void rdown(Robot robot) {
+        robot.mousePress(InputEvent.BUTTON1_MASK);
+        robot.delay(50);
+    }
+    private static void rup(Robot robot) {
+        robot.mouseRelease(InputEvent.BUTTON1_MASK);
+        robot.delay(50);
+    }
+
+    public static void click(Robot robot) {
+        rdown(robot);
+        rup(robot);
+    }
+
+    public static void doubleClick(Robot robot) {
+        click(robot);
+        click(robot);
+    }
+
+    private static void dragWindow(Window w, int dx, int dy, Robot robot) {
+        Point p = Util.getTitlePoint(w);
+        rmove(robot, p);
+        rdown(robot);
+        p.translate(dx, dy);
+        rmove(robot, p);
+        rup(robot);
+    }
+
+    // f must be visible
+    private static Thread startRegTest(final Frame f) {
+        Thread robot = new Thread(new Runnable() {
+            public void run() {
+                Robot r = Util.createRobot();
+                dragWindow(f, 100, 100, r);
+                // wait for the location to be set.
+                sleepFor(2000);
+
+                final Point l2 = f.getLocationOnScreen();
+
+                // double click should maximize the frame
+                doubleClick(r);
+
+                // wait for location again.
+                sleepFor(2000);
+                final Point l3 = f.getLocationOnScreen();
+                if (l3.equals(l2)) {
+                    throw new RuntimeException("Bad location after maximize. Window location has not moved");
+                }
+            }
+        });
+        return robot;
+    }
+}
+
--- a/test/java/awt/regtesthelpers/Util.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/test/java/awt/regtesthelpers/Util.java	Sun Jun 24 21:35:19 2012 -0700
@@ -162,16 +162,21 @@
         clickOnComp(comp, robot, 50);
     }
 
+    public static Point getTitlePoint(Window decoratedWindow) {
+        Point p = decoratedWindow.getLocationOnScreen();
+        Dimension d = decoratedWindow.getSize();
+        return new Point(p.x + (int)(d.getWidth()/2),
+                         p.y + (int)(decoratedWindow.getInsets().top/2));
+    }
+
     /*
      * Clicks on a title of Frame/Dialog.
      * WARNING: it may fail on some platforms when the window is not wide enough.
      */
     public static void clickOnTitle(final Window decoratedWindow, final Robot robot) {
-        Point p = decoratedWindow.getLocationOnScreen();
-        Dimension d = decoratedWindow.getSize();
-
         if (decoratedWindow instanceof Frame || decoratedWindow instanceof Dialog) {
-            robot.mouseMove(p.x + (int)(d.getWidth()/2), p.y + (int)decoratedWindow.getInsets().top/2);
+            Point p = getTitlePoint(decoratedWindow);
+            robot.mouseMove(p.x, p.y);
             robot.delay(50);
             robot.mousePress(InputEvent.BUTTON1_MASK);
             robot.delay(50);
@@ -409,7 +414,9 @@
         ICE_WM = 10,
         METACITY_WM = 11,
         COMPIZ_WM = 12,
-        LG3D_WM = 13;
+        LG3D_WM = 13,
+        CWM_WM = 14,
+        MUTTER_WM = 15;
 
     /*
      * Returns -1 in case of not X Window or any problems.
--- a/test/java/nio/MappedByteBuffer/Truncate.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/test/java/nio/MappedByteBuffer/Truncate.java	Sun Jun 24 21:35:19 2012 -0700
@@ -88,6 +88,11 @@
             }
         };
         Thread t = new Thread(r);
+        t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
+            public void uncaughtException(Thread t, Throwable e) {
+                e.printStackTrace();
+            }
+        });
         t.start();
         try { t.join(); } catch (InterruptedException ignore) { }
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/nio/channels/DatagramChannel/BindNull.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 7161881
+ * @run main/othervm -Djava.net.preferIPv6Addresses=true BindNull
+ * @summary Make sure the bind method uses an ipv4 address for the null case
+ *          when the DatagramChannel is connected to an IPv4 socket and
+ *          -Djava.net.preferIPv6Addresses=true.
+ */
+
+import java.io.*;
+import java.net.*;
+import java.nio.channels.*;
+
+public class BindNull {
+    public static void main(String[] args) throws IOException {
+        try (DatagramChannel dc = DatagramChannel.open()) {
+            dc.bind(null);
+        }
+        try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET)) {
+            dc.bind(null);
+        }
+        try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET6)) {
+            dc.bind(null);
+        } catch (UnsupportedOperationException uoe) {
+            // IPv6 not available
+        }
+    }
+}
--- a/test/javax/swing/JPopupMenu/6694823/bug6694823.java	Thu Jun 21 00:20:49 2012 -0700
+++ b/test/javax/swing/JPopupMenu/6694823/bug6694823.java	Sun Jun 24 21:35:19 2012 -0700
@@ -33,6 +33,8 @@
 import javax.swing.*;
 import java.awt.*;
 import sun.awt.SunToolkit;
+import java.security.Permission;
+import sun.security.util.SecurityConstants;
 
 public class bug6694823 {
     private static JFrame frame;
@@ -48,6 +50,8 @@
             }
         });
 
+        toolkit.realSync();
+
         // Get screen insets
         screenInsets = toolkit.getScreenInsets(frame.getGraphicsConfiguration());
         if (screenInsets.bottom == 0) {
@@ -55,26 +59,23 @@
             return;
         }
 
-        // Show popup as if from a standalone application
-        // The popup should be able to overlap the task bar
-        showPopup(false);
+        System.setSecurityManager(new SecurityManager(){
 
-        // Emulate applet security restrictions
-        toolkit.realSync();
-        System.setSecurityManager(new SecurityManager());
+            private String allowsAlwaysOnTopPermission = SecurityConstants.AWT.SET_WINDOW_ALWAYS_ON_TOP_PERMISSION.getName();
+
+            @Override
+            public void checkPermission(Permission perm) {
+                if (allowsAlwaysOnTopPermission.equals(perm.getName())) {
+                    throw new SecurityException();
+                }
+            }
+
+        });
 
         // Show popup as if from an applet
         // The popup shouldn't overlap the task bar. It should be shifted up.
-        showPopup(true);
+        checkPopup();
 
-        toolkit.realSync();
-        System.out.println("Test passed!");
-
-        SwingUtilities.invokeAndWait(new Runnable() {
-            public void run() {
-                frame.dispose();
-            }
-        });
     }
 
     private static void createGui() {
@@ -93,7 +94,7 @@
         frame.setSize(200, 200);
     }
 
-    private static void showPopup(final boolean shouldBeShifted) throws Exception {
+    private static void checkPopup() throws Exception {
         SwingUtilities.invokeAndWait(new Runnable() {
             public void run() {
                 // Place frame just above the task bar
@@ -121,20 +122,14 @@
         toolkit.realSync();
 
         SwingUtilities.invokeAndWait(new Runnable() {
+
             public void run() {
                 Point frameLoc = frame.getLocationOnScreen();
-                if (shouldBeShifted) {
-                    if (popup.getLocationOnScreen()
-                            .equals(new Point(frameLoc.x, frameLoc.y + point.y))) {
-                        throw new RuntimeException("Popup is not shifted");
-                    }
-                } else {
-                    if (!popup.getLocationOnScreen()
-                            .equals(new Point(frameLoc.x, frameLoc.y + point.y))) {
-                        throw new RuntimeException("Popup is unexpectedly shifted");
-                    }
+                if (popup.getLocationOnScreen().equals(new Point(frameLoc.x, frameLoc.y + point.y))) {
+                    throw new RuntimeException("Popup is not shifted");
                 }
                 popup.setVisible(false);
+                frame.dispose();
             }
         });
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/JPopupMenu/6800513/bug6800513.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2012 Red Hat, Inc.  All Rights Reserved.
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6800513
+ * @summary GTK-LaF renders menus incompletely
+ * @author Mario Torre
+ * @library ../../regtesthelpers/
+ * @build Util
+ * @run main bug6800513
+ */
+
+import sun.awt.SunToolkit;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.InputEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.lang.reflect.Field;
+import java.util.concurrent.Callable;
+
+public class bug6800513 {
+
+    private static JPopupMenu popupMenu;
+    private static JMenu menu;
+    private static JFrame frame;
+
+    public static void testFrame(final boolean defaultLightWeightPopupEnabled,
+            String expectedPopupClass) throws Exception {
+        SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+
+        SwingUtilities.invokeAndWait(new Runnable() {
+            public void run() {
+                JPopupMenu.setDefaultLightWeightPopupEnabled(defaultLightWeightPopupEnabled);
+                createAndShowUI();
+            }
+        });
+
+        toolkit.realSync();
+
+        clickOnMenu();
+
+        toolkit.realSync();
+
+        Field getPopup = JPopupMenu.class.getDeclaredField("popup");
+        getPopup.setAccessible(true);
+        Popup popup = (Popup) getPopup.get(popupMenu);
+
+        if (popup == null) {
+            throw new Exception("popup is null!");
+        }
+
+        String className = popup.getClass().getName();
+        if (!className.equals(expectedPopupClass)) {
+            throw new Exception("popup class is: " + className +
+                    ", expected: " + expectedPopupClass);
+        }
+
+        SwingUtilities.invokeAndWait(new Runnable() {
+            @Override
+            public void run() {
+                frame.dispose();
+                popupMenu = null;
+            }
+        });
+
+        toolkit.realSync();
+    }
+
+
+    public static void clickOnMenu() throws Exception {
+        Rectangle bounds = Util.invokeOnEDT(new Callable<Rectangle>() {
+            @Override
+            public Rectangle call() throws Exception {
+                return new Rectangle(menu.getLocationOnScreen(), menu.getSize());
+            }
+        });
+
+        Robot robot = new Robot();
+        robot.setAutoDelay(100);
+
+        robot.mouseMove(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2);
+
+        robot.mousePress(InputEvent.BUTTON1_MASK);
+        robot.mouseRelease(InputEvent.BUTTON1_MASK);
+    }
+
+    private static class PopupListener implements PropertyChangeListener {
+        @Override
+        public void propertyChange(PropertyChangeEvent evt) {
+            if (evt.toString().contains("visible") && ((Boolean) evt.getNewValue() == true)) {
+                popupMenu = (JPopupMenu) evt.getSource();
+            }
+        }
+    }
+
+    public static void createAndShowUI() {
+        frame = new JFrame();
+
+        JMenuBar menuBar = new JMenuBar();
+        menu = new JMenu("Menu");
+
+        menu.add(new JMenuItem("Menu Item #1"));
+        menu.add(new JMenuItem("Menu Item #2"));
+        menu.add(new JMenuItem("Menu Item #3"));
+
+        menuBar.add(menu);
+
+        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        frame.setJMenuBar(menuBar);
+        frame.setSize(500, 500);
+
+        PopupListener listener = new PopupListener();
+        menu.getPopupMenu().addPropertyChangeListener(listener);
+
+        frame.setVisible(true);
+    }
+
+    public static void main(String[] args) throws Exception {
+        testFrame(false, "javax.swing.PopupFactory$HeavyWeightPopup");
+
+        testFrame(true, "javax.swing.PopupFactory$LightWeightPopup");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/JPopupMenu/7156657/bug7156657.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import com.sun.awt.AWTUtilities;
+import sun.awt.SunToolkit;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.util.concurrent.Callable;
+
+/* @test
+   @bug 7156657
+   @summary Version 7 doesn't support translucent popup menus against a translucent window
+   @library ../../regtesthelpers
+   @author Pavel Porvatov
+*/
+public class bug7156657 {
+    private static JFrame lowerFrame;
+
+    private static JFrame frame;
+
+    private static JPopupMenu popupMenu;
+
+    public static void main(String[] args) throws Exception {
+        final Robot robot = new Robot();
+        final SunToolkit toolkit = ((SunToolkit) Toolkit.getDefaultToolkit());
+
+        Boolean skipTest = Util.invokeOnEDT(new Callable<Boolean>() {
+            @Override
+            public Boolean call() throws Exception {
+                frame = createFrame();
+
+                if (!AWTUtilities.isTranslucencyCapable(frame.getGraphicsConfiguration())) {
+                    System.out.println("Translucency is not supported, the test skipped");
+
+                    return true;
+                }
+
+                lowerFrame = createFrame();
+                lowerFrame.getContentPane().setBackground(Color.RED);
+                lowerFrame.setVisible(true);
+
+                popupMenu = new JPopupMenu();
+                popupMenu.setOpaque(false);
+                popupMenu.add(new TransparentMenuItem("1111"));
+                popupMenu.add(new TransparentMenuItem("2222"));
+                popupMenu.add(new TransparentMenuItem("3333"));
+
+                AWTUtilities.setWindowOpaque(frame, false);
+                JPanel pnContent = new JPanel();
+                pnContent.setBackground(new Color(255, 255, 255, 128));
+                frame.add(pnContent);
+                frame.setVisible(true);
+
+                return false;
+            }
+        });
+
+        if (skipTest) {
+            return;
+        }
+
+        toolkit.realSync();
+
+        SwingUtilities.invokeAndWait(new Runnable() {
+            @Override
+            public void run() {
+                popupMenu.show(frame, 0, 0);
+            }
+        });
+
+        toolkit.realSync();
+
+        Rectangle popupRectangle = Util.invokeOnEDT(new Callable<Rectangle>() {
+            @Override
+            public Rectangle call() throws Exception {
+                return popupMenu.getBounds();
+            }
+        });
+
+        BufferedImage redBackgroundCapture = robot.createScreenCapture(popupRectangle);
+
+        SwingUtilities.invokeAndWait(new Runnable() {
+            @Override
+            public void run() {
+                lowerFrame.getContentPane().setBackground(Color.GREEN);
+            }
+        });
+
+        toolkit.realSync();
+
+        BufferedImage greenBackgroundCapture = robot.createScreenCapture(popupRectangle);
+
+        if (Util.compareBufferedImages(redBackgroundCapture, greenBackgroundCapture)) {
+            throw new RuntimeException("The test failed");
+        }
+
+        SwingUtilities.invokeAndWait(new Runnable() {
+            @Override
+            public void run() {
+                popupMenu.setVisible(false);
+                frame.dispose();
+                lowerFrame.dispose();
+            }
+        });
+
+        System.out.println("The test passed");
+    }
+
+
+    private static JFrame createFrame() {
+        JFrame result = new JFrame();
+
+        result.setLocation(0, 0);
+        result.setSize(400, 300);
+        result.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        result.setUndecorated(true);
+
+        return result;
+    }
+
+    private static class TransparentMenuItem extends JMenuItem {
+        public TransparentMenuItem(String text) {
+            super(text);
+            setOpaque(false);
+        }
+
+        @Override
+        public void paint(Graphics g) {
+            Graphics2D g2 = (Graphics2D) g.create();
+            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
+            super.paint(g2);
+            g2.dispose();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,236 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7174244
+ * @summary NPE in Krb5ProxyImpl.getServerKeys()
+ *
+ *     SunJSSE does not support dynamic system properties, no way to re-use
+ *     system properties in samevm/agentvm mode.
+ * @run main/othervm CipherSuitesInOrder
+ */
+
+import java.util.*;
+import javax.net.ssl.*;
+
+public class CipherSuitesInOrder {
+
+    // supported ciphersuites
+    private final static List<String> supportedCipherSuites =
+            Arrays.<String>asList(
+        "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
+        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+        "TLS_RSA_WITH_AES_256_CBC_SHA256",
+        "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
+        "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
+        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
+        "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
+        "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
+        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
+        "TLS_RSA_WITH_AES_256_CBC_SHA",
+        "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
+        "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
+        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
+        "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
+        "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
+        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+        "TLS_RSA_WITH_AES_128_CBC_SHA256",
+        "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
+        "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
+        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
+        "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
+        "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
+        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
+        "TLS_RSA_WITH_AES_128_CBC_SHA",
+        "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
+        "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
+        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
+        "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
+        "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
+        "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
+        "SSL_RSA_WITH_RC4_128_SHA",
+        "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
+        "TLS_ECDH_RSA_WITH_RC4_128_SHA",
+        "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
+        "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
+        "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
+        "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
+        "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
+        "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
+        "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
+        "SSL_RSA_WITH_RC4_128_MD5",
+
+        "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
+
+        "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
+        "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
+        "TLS_DH_anon_WITH_AES_256_CBC_SHA",
+        "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
+        "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
+        "TLS_DH_anon_WITH_AES_128_CBC_SHA",
+        "TLS_ECDH_anon_WITH_RC4_128_SHA",
+        "SSL_DH_anon_WITH_RC4_128_MD5",
+        "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
+        "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA",
+        "TLS_RSA_WITH_NULL_SHA256",
+        "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
+        "TLS_ECDHE_RSA_WITH_NULL_SHA",
+        "SSL_RSA_WITH_NULL_SHA",
+        "TLS_ECDH_ECDSA_WITH_NULL_SHA",
+        "TLS_ECDH_RSA_WITH_NULL_SHA",
+        "TLS_ECDH_anon_WITH_NULL_SHA",
+        "SSL_RSA_WITH_NULL_MD5",
+        "SSL_RSA_WITH_DES_CBC_SHA",
+        "SSL_DHE_RSA_WITH_DES_CBC_SHA",
+        "SSL_DHE_DSS_WITH_DES_CBC_SHA",
+        "SSL_DH_anon_WITH_DES_CBC_SHA",
+        "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
+        "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",
+        "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
+        "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
+        "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
+        "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
+        "TLS_KRB5_WITH_RC4_128_SHA",
+        "TLS_KRB5_WITH_RC4_128_MD5",
+        "TLS_KRB5_WITH_3DES_EDE_CBC_SHA",
+        "TLS_KRB5_WITH_3DES_EDE_CBC_MD5",
+        "TLS_KRB5_WITH_DES_CBC_SHA",
+        "TLS_KRB5_WITH_DES_CBC_MD5",
+        "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",
+        "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",
+        "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA",
+        "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5"
+    );
+
+    private final static String[] protocols = {
+        "", "SSL", "TLS", "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"
+    };
+
+
+    public static void main(String[] args) throws Exception {
+        // show all of the supported cipher suites
+        showSuites(supportedCipherSuites.toArray(new String[0]),
+                                "All supported cipher suites");
+
+        for (String protocol : protocols) {
+            System.out.println("//");
+            System.out.println("// " +
+                        "Testing for SSLContext of " + protocol);
+            System.out.println("//");
+            checkForProtocols(protocol);
+        }
+    }
+
+    public static void checkForProtocols(String protocol) throws Exception {
+        SSLContext context;
+        if (protocol.isEmpty()) {
+            context = SSLContext.getDefault();
+        } else {
+            context = SSLContext.getInstance(protocol);
+            context.init(null, null, null);
+        }
+
+        // check the order of default cipher suites of SSLContext
+        SSLParameters parameters = context.getDefaultSSLParameters();
+        checkSuites(parameters.getCipherSuites(),
+                "Default cipher suites in SSLContext");
+
+        // check the order of supported cipher suites of SSLContext
+        parameters = context.getSupportedSSLParameters();
+        checkSuites(parameters.getCipherSuites(),
+                "Supported cipher suites in SSLContext");
+
+
+        //
+        // Check the cipher suites order of SSLEngine
+        //
+        SSLEngine engine = context.createSSLEngine();
+
+        // check the order of endabled cipher suites
+        String[] ciphers = engine.getEnabledCipherSuites();
+        checkSuites(ciphers,
+                "Enabled cipher suites in SSLEngine");
+
+        // check the order of supported cipher suites
+        ciphers = engine.getSupportedCipherSuites();
+        checkSuites(ciphers,
+                "Supported cipher suites in SSLEngine");
+
+        //
+        // Check the cipher suites order of SSLSocket
+        //
+        SSLSocketFactory factory = context.getSocketFactory();
+        try (SSLSocket socket = (SSLSocket)factory.createSocket()) {
+
+            // check the order of endabled cipher suites
+            ciphers = socket.getEnabledCipherSuites();
+            checkSuites(ciphers,
+                "Enabled cipher suites in SSLSocket");
+
+            // check the order of supported cipher suites
+            ciphers = socket.getSupportedCipherSuites();
+            checkSuites(ciphers,
+                "Supported cipher suites in SSLSocket");
+        }
+
+        //
+        // Check the cipher suites order of SSLServerSocket
+        //
+        SSLServerSocketFactory serverFactory = context.getServerSocketFactory();
+        try (SSLServerSocket serverSocket =
+                (SSLServerSocket)serverFactory.createServerSocket()) {
+            // check the order of endabled cipher suites
+            ciphers = serverSocket.getEnabledCipherSuites();
+            checkSuites(ciphers,
+                "Enabled cipher suites in SSLServerSocket");
+
+            // check the order of supported cipher suites
+            ciphers = serverSocket.getSupportedCipherSuites();
+            checkSuites(ciphers,
+                "Supported cipher suites in SSLServerSocket");
+        }
+    }
+
+    private static void checkSuites(String[] suites, String title) {
+        showSuites(suites, title);
+
+        int loc = -1;
+        int index = 0;
+        for (String suite : suites) {
+            index = supportedCipherSuites.indexOf(suite);
+            if (index <= loc) {
+                throw new RuntimeException(suite + " is not in order");
+            }
+
+            loc = index;
+        }
+    }
+
+    private static void showSuites(String[] suites, String title) {
+        System.out.println(title + "[" + suites.length + "]:");
+        for (String suite : suites) {
+            System.out.println("  " + suite);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/tools/native2ascii/Permission.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 7177216
+ * @summary resulting file of native2ascii should have normal permission
+ */
+
+import java.io.*;
+import java.nio.file.*;
+import java.nio.file.attribute.*;
+import sun.tools.native2ascii.Main;
+
+public class Permission {
+
+    private static void cleanup(String... fnames) throws Throwable {
+        for (String fname : fnames) {
+            Files.deleteIfExists(Paths.get(fname));
+        }
+    }
+
+    public static void realMain(String[] args) throws Throwable {
+        if (!System.getProperty("os.name").startsWith("Windows")) {
+            String src = "native2ascii_permtest_src";
+            String dst = "native2ascii_permtest_dst";
+
+            cleanup(src, dst);
+            try {
+                try (FileOutputStream fos = new FileOutputStream(src)) {
+                    fos.write('a'); fos.write('b'); fos.write('c');
+                }
+                String[] n2aArgs = new String[] {"-encoding", "utf8", src, dst};
+                if (!new Main().convert(n2aArgs)) {
+                    fail("n2a failed.");
+                }
+                equal(Files.getPosixFilePermissions(Paths.get(src)),
+                      Files.getPosixFilePermissions(Paths.get(dst)));
+                String[] a2nArgs = new String[] {"-reverse", "-encoding", "utf8", dst, src};
+                if (!new Main().convert(a2nArgs)) {
+                    fail("a2n failed.");
+                }
+                equal(Files.getPosixFilePermissions(Paths.get(src)),
+                      Files.getPosixFilePermissions(Paths.get(dst)));
+            } finally {
+                cleanup(src, dst);
+            }
+        }
+    }
+
+    //--------------------- Infrastructure ---------------------------
+    static volatile int passed = 0, failed = 0;
+    static void pass() {passed++;}
+    static void fail() {failed++; Thread.dumpStack();}
+    static void fail(String msg) {System.out.println(msg); fail();}
+    static void unexpected(Throwable t) {failed++; t.printStackTrace();}
+    static void check(boolean cond) {if (cond) pass(); else fail();}
+    static void equal(Object x, Object y) {
+        if (x == null ? y == null : x.equals(y)) pass();
+        else fail(x + " not equal to " + y);}
+    public static void main(String[] args) throws Throwable {
+        try {realMain(args);} catch (Throwable t) {unexpected(t);}
+        System.out.println("\nPassed = " + passed + " failed = " + failed);
+        if (failed > 0) throw new AssertionError("Some tests failed");}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/jar/UpdateJar.java	Sun Jun 24 21:35:19 2012 -0700
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 7175845
+ * @summary jar -uf should not change file permission
+ */
+
+import java.io.*;
+import java.nio.file.*;
+import java.nio.file.attribute.*;
+import java.util.Set;
+import sun.tools.jar.Main;
+
+public class UpdateJar {
+
+    private static void cleanup(String... fnames) throws Throwable {
+        for (String fname : fnames) {
+            Files.deleteIfExists(Paths.get(fname));
+        }
+    }
+
+    public static void realMain(String[] args) throws Throwable {
+        if (!System.getProperty("os.name").startsWith("Windows")) {
+            String jar = "testUpdateJar.jar";
+            String e0  = "testUpdateJar_entry0.txt";
+            String e1  = "testUpdateJar_entry1.txt";
+            cleanup(jar, e0, e1);
+            try {
+                try (FileOutputStream fos0 = new FileOutputStream(e0);
+                     FileOutputStream fos1 = new FileOutputStream(e1)) {
+                    fos0.write(0);
+                    fos1.write(0);
+                }
+                String[] jarArgs = new String[] {"cfM0", jar, e0};
+                if (!new Main(System.out, System.err, "jar").run(jarArgs)) {
+                    fail("Could not create jar file.");
+                }
+                Set<PosixFilePermission> pm = Files.getPosixFilePermissions(Paths.get(jar));
+                jarArgs = new String[] {"uf", jar, e1};
+                if (!new Main(System.out, System.err, "jar").run(jarArgs)) {
+                    fail("Could not create jar file.");
+                }
+                equal(pm, Files.getPosixFilePermissions(Paths.get(jar)));
+            } finally {
+                cleanup(jar, e0, e1);
+            }
+        }
+    }
+
+    //--------------------- Infrastructure ---------------------------
+    static volatile int passed = 0, failed = 0;
+    static void pass() {passed++;}
+    static void fail() {failed++; Thread.dumpStack();}
+    static void fail(String msg) {System.out.println(msg); fail();}
+    static void unexpected(Throwable t) {failed++; t.printStackTrace();}
+    static void check(boolean cond) {if (cond) pass(); else fail();}
+    static void equal(Object x, Object y) {
+        if (x == null ? y == null : x.equals(y)) pass();
+        else fail(x + " not equal to " + y);}
+    public static void main(String[] args) throws Throwable {
+        try {realMain(args);} catch (Throwable t) {unexpected(t);}
+        System.out.println("\nPassed = " + passed + " failed = " + failed);
+        if (failed > 0) throw new AssertionError("Some tests failed");}
+}