Merge
diff --git a/.hgtags b/.hgtags
index 76e1bad..d105faf 100644
--- a/.hgtags
+++ b/.hgtags
@@ -1,3 +1,8 @@
+e2d470750e539380af7f7482d9823d1d86886901 jdk8-b130
+3f0065f1d70b21ca2dd7ff7910571c0d09b0bc33 jdk8-b129
+b8dea6f27db47b608bddc7a9c60dfabc958be23e jdk8-b125
+369bf27a9abbf5c0bc259dba8899a6252469f3d5 jdk8u20-b01
+e741d4831bdcf6441d108e4cb0aa8954a3858fbf jdk8u20-b02
 1cc8dd79fd1cd13d36b385196271a29632c67c3b jdk7-b24
 bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25
 5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
@@ -246,4 +251,5 @@
 c83fd4f03003445667690cfd53ea526bf38cf15b jdk8-b124
 c71ff72825bdd997d67c0e0e56adba76d6e3e16e jdk8-b126
 4e258524ac24919d443a4c37d25bb9962de8bf60 jdk8-b127
-e2d470750e539380af7f7482d9823d1d86886901 jdk8-b130
+41177d357635a717f5e0e24947145ba5816db41f jdk8u20-b03
+e33cb36ecbadb4b6ae8d69d4da2ddf15077610e1 jdk8u20-b04
diff --git a/.hgtags-top-repo b/.hgtags-top-repo
index b0d9e6b..537bff1 100644
--- a/.hgtags-top-repo
+++ b/.hgtags-top-repo
@@ -245,9 +245,14 @@
 1e1f86d5d4e22c15a9bf9f1581acddb8c59abae2 jdk8-b121
 347009c5881668b1e44f64d56d4a96cb20a183fa jdk8-b122
 ff1478785e43718146ffbce97e007f39c3bcaa32 jdk8-b123
+c330fa67c4daffdc86527f1a24941aa5a3500098 jdk8u20-b00
 790bbd46b2015e69ce301dae194c2b4141011f2d jdk8-b124
+78abb27c27d988a86e6c82b2cce03cdc04211127 jdk8u20-b01
 790bbd46b2015e69ce301dae194c2b4141011f2d jdk8-b125
 9ccce5bf1b0ea0d3f3fb871be069f305f9cea530 jdk8-b126
 2e2ffb9e4b690c63b32142861177390e0f2c40e9 jdk8-b127
 101e42de46869e6604fbf095e1666fbf07fcb93c jdk8-b128
 1e5fe865491300cd0c63261ecf8d34e621e1345c jdk8-b129
+cc868070f1959b849c8c3b867771fbdb07b9ba05 jdk8u20-b02
+6a3d3b7feab4d4a8252c63b4ce7d0fab106cf2f7 jdk8u20-b03
+7e1b01df280fb065c5953c48f54ac9d619ecbf1c jdk8u20-b04
diff --git a/.jcheck/conf b/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/.jcheck/conf
+++ b/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/corba/.hgtags b/corba/.hgtags
index 090d0fd..319f258 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -245,9 +245,14 @@
 a7d3638deb2f4e33217b1ecf889479e90f9e5b50 jdk8-b121
 0cd687347540b1d14e9cc653ba6af5f6807eb379 jdk8-b122
 1ecd4619f60c2432120821e805e64bdb45de66cc jdk8-b123
+afecd2878aee29c2d0282d2c6b3ba56e91b0b2de jdk8u20-b00
 7b45151c7a05764b87ca088ba70448d39de6d41f jdk8-b124
+7547c6a90a9e06b11ec1dca943b30c09c1665aa8 jdk8u20-b01
 7b45151c7a05764b87ca088ba70448d39de6d41f jdk8-b125
 8ceb68fd9e107767edf949c6b3ac9d425ca93cac jdk8-b126
 b8c71dae05574f8eca7ca6d703b16b450850b033 jdk8-b127
 113e7569b49bca18846e5e5b74e644580b805902 jdk8-b128
 5c72d74c6805d1b4f6192f7a3550d126acf37005 jdk8-b129
+bfafb13aac1c8b2d9184d59ec510b45d965b7667 jdk8u20-b02
+9059a1c857044ad5ce7564ddb71a064364f8fcf5 jdk8u20-b03
+abe5b0157c367a72f9059269ca633ecfe15732d2 jdk8u20-b04
diff --git a/corba/.jcheck/conf b/corba/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/corba/.jcheck/conf
+++ b/corba/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index 324f1d1..7308ed1 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -408,6 +408,8 @@
 55fb97c4c58d6ed4db8ec02a382ba518d9265815 hs25-b65
 d3521d8e562a782f66fc0dfdebeffba2c7e3471d jdk8-b122
 591135a7d6f96c0ef281d078cee9a8d8c342d45c jdk8-b123
+c89630a122b43d0eabd78b74f6498a1c3cf04ca3 jdk8u20-b00
+c89630a122b43d0eabd78b74f6498a1c3cf04ca3 hs25.20-b00
 9b9816164447214f21b06ccf646893c281c76a42 hs25-b66
 df333ee12bba67e2e928f8ce1da37afd9bf95b48 jdk8-b124
 3585183c191aa6b4d0375ea659515335e1804417 hs25-b67
@@ -418,3 +420,12 @@
 35038da7bb9ddd367a0a6bf926dfb281aee1d554 jdk8-b127
 874c0b4a946c362bbf20d37c2a564b39093152e6 jdk8-b128
 cb39165c4a65bbff8db356df411e762f9e5423b8 jdk8-b129
+412d3b5fe90e54c0ff9d9ac7374b98607c561d5a hs25.20-b01
+4638c4d7ff106db0f29ef7f18b128dd7e69bc470 hs25.20-b02
+e56d11f8cc2158d4280f80e56d196193349c150a hs25.20-b03
+757fe22ae90681e2b6cff50699c5abbe2563dd2c jdk8u20-b01
+9c2ddd17626e375554044a3082a6dc5e68184ed9 jdk8u20-b02
+ecf3678d5736a645aea893b525a9eb5fa1a8e072 hs25.20-b04
+51e1bb81df8680bd237630323de5e0704fb25607 jdk8u20-b03
+54436d3b2a915ff50a8d6b34f61d5afb45be7bb6 hs25.20-b05
+d4e18f0633c662588cc0875be7759721c7d85af4 jdk8u20-b04
diff --git a/hotspot/.jcheck/conf b/hotspot/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/hotspot/.jcheck/conf
+++ b/hotspot/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java
index 8a9df1b..c0db13d 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java
@@ -95,9 +95,15 @@
     int entryBci = task.osrBci();
     int compLevel = task.compLevel();
     Klass holder = method.getMethodHolder();
-    out.println("compile " + holder.getName().asString() + " " +
-                OopUtilities.escapeString(method.getName().asString()) + " " +
-                method.getSignature().asString() + " " +
-                entryBci + " " + compLevel);
+    out.print("compile " + holder.getName().asString() + " " +
+              OopUtilities.escapeString(method.getName().asString()) + " " +
+              method.getSignature().asString() + " " +
+              entryBci + " " + compLevel);
+    Compile compiler = compilerData();
+    if (compiler != null) {
+      // Dump inlining data.
+      compiler.dumpInlineData(out);
+    }
+    out.println();
   }
 }
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java
index 9e4cfa7..6e06fb5 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java
@@ -25,6 +25,7 @@
 package sun.jvm.hotspot.opto;
 
 import java.util.*;
+import java.io.PrintStream;
 import sun.jvm.hotspot.ci.*;
 import sun.jvm.hotspot.debugger.*;
 import sun.jvm.hotspot.runtime.*;
@@ -92,4 +93,13 @@
     }
     return null;
   }
+
+  public void dumpInlineData(PrintStream out) {
+    InlineTree inlTree = ilt();
+    if (inlTree != null) {
+      out.print(" inline " + inlTree.count());
+      inlTree.dumpReplayData(out);
+    }
+  }
+
 }
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java
index 4021e70..53f0241 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java
@@ -87,6 +87,11 @@
     return GrowableArray.create(addr, inlineTreeConstructor);
   }
 
+  public int inlineLevel() {
+    JVMState jvms = callerJvms();
+    return (jvms != null) ? jvms.depth() : 0;
+  }
+
   public void printImpl(PrintStream st, int indent) {
     for (int i = 0; i < indent; i++) st.print(" ");
     st.printf(" @ %d ", callerBci());
@@ -101,4 +106,28 @@
   public void print(PrintStream st) {
     printImpl(st, 2);
   }
+
+  // Count number of nodes in this subtree
+  public int count() {
+    int result = 1;
+    GrowableArray<InlineTree> subt = subtrees();
+    for (int i = 0 ; i < subt.length(); i++) {
+      result += subt.at(i).count();
+    }
+    return result;
+  }
+
+  public void dumpReplayData(PrintStream out) {
+    out.printf(" %d %d ", inlineLevel(), callerBci());
+    Method method = (Method)method().getMetadata();
+    Klass holder = method.getMethodHolder();
+    out.print(holder.getName().asString() + " " +
+              OopUtilities.escapeString(method.getName().asString()) + " " +
+              method.getSignature().asString());
+
+    GrowableArray<InlineTree> subt = subtrees();
+    for (int i = 0 ; i < subt.length(); i++) {
+      subt.at(i).dumpReplayData(out);
+    }
+  }
 }
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java
index 52996ee..65e0d7a 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java
@@ -88,6 +88,10 @@
     return (int)bciField.getValue(getAddress());
   }
 
+  public int depth() {
+    return (int)depthField.getValue(getAddress());
+  }
+
   public JVMState caller() {
     return create(callerField.getValue(getAddress()));
   }
diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java
index e9248e7..e2281e7 100644
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -61,8 +61,9 @@
     long h = 0;
     int s = 0;
     int len = buf.length;
+    // Emulate the unsigned int in java_lang_String::hash_code
     while (len-- > 0) {
-      h = 31*h + (0xFFL & buf[s]);
+      h = 31*h + (0xFFFFFFFFL & buf[s]);
       s++;
     }
     return h & 0xFFFFFFFFL;
diff --git a/hotspot/make/excludeSrc.make b/hotspot/make/excludeSrc.make
index a95dc1b..24f1fa2 100644
--- a/hotspot/make/excludeSrc.make
+++ b/hotspot/make/excludeSrc.make
@@ -86,7 +86,7 @@
 	concurrentMark.cpp concurrentMarkThread.cpp dirtyCardQueue.cpp g1AllocRegion.cpp \
 	g1BlockOffsetTable.cpp g1CardCounts.cpp g1CollectedHeap.cpp g1CollectorPolicy.cpp \
 	g1ErgoVerbose.cpp g1GCPhaseTimes.cpp g1HRPrinter.cpp g1HotCardCache.cpp g1Log.cpp \
-	g1MMUTracker.cpp g1MarkSweep.cpp g1MemoryPool.cpp g1MonitoringSupport.cpp \
+	g1MMUTracker.cpp g1MarkSweep.cpp g1MemoryPool.cpp g1MonitoringSupport.cpp g1OopClosures.cpp \
 	g1RemSet.cpp g1RemSetSummary.cpp g1SATBCardTableModRefBS.cpp g1_globals.cpp heapRegion.cpp \
 	g1BiasedArray.cpp heapRegionRemSet.cpp heapRegionSeq.cpp heapRegionSet.cpp heapRegionSets.cpp \
 	ptrQueue.cpp satbQueue.cpp sparsePRT.cpp survRateGroup.cpp vm_operations_g1.cpp \
diff --git a/hotspot/make/hotspot_version b/hotspot/make/hotspot_version
index c250e0f..b6fe797 100644
--- a/hotspot/make/hotspot_version
+++ b/hotspot/make/hotspot_version
@@ -34,8 +34,8 @@
 HOTSPOT_VM_COPYRIGHT=Copyright 2014
 
 HS_MAJOR_VER=25
-HS_MINOR_VER=0
-HS_BUILD_NUMBER=69
+HS_MINOR_VER=20
+HS_BUILD_NUMBER=05
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
diff --git a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
index ccbc43e..11547cde 100644
--- a/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
@@ -88,6 +88,7 @@
     orncc_op3    = 0x16,
     xnorcc_op3   = 0x17,
     addccc_op3   = 0x18,
+    aes4_op3     = 0x19,
     umulcc_op3   = 0x1a,
     smulcc_op3   = 0x1b,
     subccc_op3   = 0x1c,
@@ -121,6 +122,8 @@
     fpop1_op3    = 0x34,
     fpop2_op3    = 0x35,
     impdep1_op3  = 0x36,
+    aes3_op3     = 0x36,
+    flog3_op3    = 0x36,
     impdep2_op3  = 0x37,
     jmpl_op3     = 0x38,
     rett_op3     = 0x39,
@@ -172,41 +175,56 @@
 
   enum opfs {
     // selected opfs
-    fmovs_opf   = 0x01,
-    fmovd_opf   = 0x02,
+    fmovs_opf          = 0x01,
+    fmovd_opf          = 0x02,
 
-    fnegs_opf   = 0x05,
-    fnegd_opf   = 0x06,
+    fnegs_opf          = 0x05,
+    fnegd_opf          = 0x06,
 
-    fadds_opf   = 0x41,
-    faddd_opf   = 0x42,
-    fsubs_opf   = 0x45,
-    fsubd_opf   = 0x46,
+    fadds_opf          = 0x41,
+    faddd_opf          = 0x42,
+    fsubs_opf          = 0x45,
+    fsubd_opf          = 0x46,
 
-    fmuls_opf   = 0x49,
-    fmuld_opf   = 0x4a,
-    fdivs_opf   = 0x4d,
-    fdivd_opf   = 0x4e,
+    fmuls_opf          = 0x49,
+    fmuld_opf          = 0x4a,
+    fdivs_opf          = 0x4d,
+    fdivd_opf          = 0x4e,
 
-    fcmps_opf   = 0x51,
-    fcmpd_opf   = 0x52,
+    fcmps_opf          = 0x51,
+    fcmpd_opf          = 0x52,
 
-    fstox_opf   = 0x81,
-    fdtox_opf   = 0x82,
-    fxtos_opf   = 0x84,
-    fxtod_opf   = 0x88,
-    fitos_opf   = 0xc4,
-    fdtos_opf   = 0xc6,
-    fitod_opf   = 0xc8,
-    fstod_opf   = 0xc9,
-    fstoi_opf   = 0xd1,
-    fdtoi_opf   = 0xd2,
+    fstox_opf          = 0x81,
+    fdtox_opf          = 0x82,
+    fxtos_opf          = 0x84,
+    fxtod_opf          = 0x88,
+    fitos_opf          = 0xc4,
+    fdtos_opf          = 0xc6,
+    fitod_opf          = 0xc8,
+    fstod_opf          = 0xc9,
+    fstoi_opf          = 0xd1,
+    fdtoi_opf          = 0xd2,
 
-    mdtox_opf   = 0x110,
-    mstouw_opf  = 0x111,
-    mstosw_opf  = 0x113,
-    mxtod_opf   = 0x118,
-    mwtos_opf   = 0x119
+    mdtox_opf          = 0x110,
+    mstouw_opf         = 0x111,
+    mstosw_opf         = 0x113,
+    mxtod_opf          = 0x118,
+    mwtos_opf          = 0x119,
+
+    aes_kexpand0_opf   = 0x130,
+    aes_kexpand2_opf   = 0x131
+  };
+
+  enum op5s {
+    aes_eround01_op5     = 0x00,
+    aes_eround23_op5     = 0x01,
+    aes_dround01_op5     = 0x02,
+    aes_dround23_op5     = 0x03,
+    aes_eround01_l_op5   = 0x04,
+    aes_eround23_l_op5   = 0x05,
+    aes_dround01_l_op5   = 0x06,
+    aes_dround23_l_op5   = 0x07,
+    aes_kexpand1_op5     = 0x08
   };
 
   enum RCondition {  rc_z = 1,  rc_lez = 2,  rc_lz = 3, rc_nz = 5, rc_gz = 6, rc_gez = 7, rc_last = rc_gez  };
@@ -427,6 +445,7 @@
   static int immed(    bool        i)  { return  u_field(i ? 1 : 0,     13, 13); }
   static int opf_low6( int         w)  { return  u_field(w,             10,  5); }
   static int opf_low5( int         w)  { return  u_field(w,              9,  5); }
+  static int op5(      int         x)  { return  u_field(x,              8,  5); }
   static int trapcc(   CC         cc)  { return  u_field(cc,            12, 11); }
   static int sx(       int         i)  { return  u_field(i,             12, 12); } // shift x=1 means 64-bit
   static int opf(      int         x)  { return  u_field(x,             13,  5); }
@@ -451,6 +470,7 @@
   static int fd( FloatRegister r,  FloatRegisterImpl::Width fwa) { return u_field(r->encoding(fwa), 29, 25); };
   static int fs1(FloatRegister r,  FloatRegisterImpl::Width fwa) { return u_field(r->encoding(fwa), 18, 14); };
   static int fs2(FloatRegister r,  FloatRegisterImpl::Width fwa) { return u_field(r->encoding(fwa),  4,  0); };
+  static int fs3(FloatRegister r,  FloatRegisterImpl::Width fwa) { return u_field(r->encoding(fwa), 13,  9); };
 
   // some float instructions use this encoding on the op3 field
   static int alt_op3(int op, FloatRegisterImpl::Width w) {
@@ -559,6 +579,12 @@
     return x & ((1 << 10) - 1);
   }
 
+  // AES crypto instructions supported only on certain processors
+  static void aes_only() { assert( VM_Version::has_aes(), "This instruction only works on SPARC with AES instructions support"); }
+
+  // instruction only in VIS1
+  static void vis1_only() { assert( VM_Version::has_vis1(), "This instruction only works on SPARC with VIS1"); }
+
   // instruction only in VIS3
   static void vis3_only() { assert( VM_Version::has_vis3(), "This instruction only works on SPARC with VIS3"); }
 
@@ -682,6 +708,24 @@
   void addccc( Register s1, int simm13a, Register d ) { emit_int32( op(arith_op) | rd(d) | op3(addc_op3 | cc_bit_op3) | rs1(s1) | immed(true) | simm(simm13a, 13) ); }
 
 
+  // 4-operand AES instructions
+
+  void aes_eround01(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_eround01_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_eround23(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_eround23_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_dround01(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_dround01_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_dround23(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_dround23_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_eround01_l(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_eround01_l_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_eround23_l(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_eround23_l_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_dround01_l(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_dround01_l_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_dround23_l(  FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | fs3(s3, FloatRegisterImpl::D) | op5(aes_dround23_l_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_kexpand1(  FloatRegister s1, FloatRegister s2, int imm5a, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes4_op3) | fs1(s1, FloatRegisterImpl::D) | u_field(imm5a, 13, 9) | op5(aes_kexpand1_op5) | fs2(s2, FloatRegisterImpl::D) ); }
+
+
+  // 3-operand AES instructions
+
+  void aes_kexpand0(  FloatRegister s1, FloatRegister s2, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes3_op3) | fs1(s1, FloatRegisterImpl::D) | opf(aes_kexpand0_opf) | fs2(s2, FloatRegisterImpl::D) ); }
+  void aes_kexpand2(  FloatRegister s1, FloatRegister s2, FloatRegister d ) { aes_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(aes3_op3) | fs1(s1, FloatRegisterImpl::D) | opf(aes_kexpand2_opf) | fs2(s2, FloatRegisterImpl::D) ); }
+
   // pp 136
 
   inline void bpr(RCondition c, bool a, Predict p, Register s1, address d, relocInfo::relocType rt = relocInfo::none);
@@ -784,6 +828,10 @@
   void fmul( FloatRegisterImpl::Width sw, FloatRegisterImpl::Width dw,  FloatRegister s1, FloatRegister s2, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, dw) | op3(fpop1_op3) | fs1(s1, sw) | opf(0x60 + sw + dw*4) | fs2(s2, sw)); }
   void fdiv( FloatRegisterImpl::Width w,                            FloatRegister s1, FloatRegister s2, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, w)  | op3(fpop1_op3) | fs1(s1, w)  | opf(0x4c + w)         | fs2(s2, w)); }
 
+  // FXORs/FXORd instructions
+
+  void fxor( FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister d ) { vis1_only(); emit_int32( op(arith_op) | fd(d, w) | op3(flog3_op3) | fs1(s1, w) | opf(0x6E - w) | fs2(s2, w)); }
+
   // pp 164
 
   void fsqrt( FloatRegisterImpl::Width w, FloatRegister s, FloatRegister d ) { emit_int32( op(arith_op) | fd(d, w) | op3(fpop1_op3) | opf(0x28 + w) | fs2(s, w)); }
diff --git a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
index 22ab05f..488a53d 100644
--- a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
@@ -1315,7 +1315,7 @@
 }
 
 Address LIR_Assembler::as_Address(LIR_Address* addr) {
-  Register reg = addr->base()->as_register();
+  Register reg = addr->base()->as_pointer_register();
   LIR_Opr index = addr->index();
   if (index->is_illegal()) {
     return Address(reg, addr->disp());
@@ -3101,7 +3101,145 @@
 }
 
 void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
-  fatal("Type profiling not implemented on this platform");
+  Register obj = op->obj()->as_register();
+  Register tmp1 = op->tmp()->as_pointer_register();
+  Register tmp2 = G1;
+  Address mdo_addr = as_Address(op->mdp()->as_address_ptr());
+  ciKlass* exact_klass = op->exact_klass();
+  intptr_t current_klass = op->current_klass();
+  bool not_null = op->not_null();
+  bool no_conflict = op->no_conflict();
+
+  Label update, next, none;
+
+  bool do_null = !not_null;
+  bool exact_klass_set = exact_klass != NULL && ciTypeEntries::valid_ciklass(current_klass) == exact_klass;
+  bool do_update = !TypeEntries::is_type_unknown(current_klass) && !exact_klass_set;
+
+  assert(do_null || do_update, "why are we here?");
+  assert(!TypeEntries::was_null_seen(current_klass) || do_update, "why are we here?");
+
+  __ verify_oop(obj);
+
+  if (tmp1 != obj) {
+    __ mov(obj, tmp1);
+  }
+  if (do_null) {
+    __ br_notnull_short(tmp1, Assembler::pt, update);
+    if (!TypeEntries::was_null_seen(current_klass)) {
+      __ ld_ptr(mdo_addr, tmp1);
+      __ or3(tmp1, TypeEntries::null_seen, tmp1);
+      __ st_ptr(tmp1, mdo_addr);
+    }
+    if (do_update) {
+      __ ba(next);
+      __ delayed()->nop();
+    }
+#ifdef ASSERT
+  } else {
+    __ br_notnull_short(tmp1, Assembler::pt, update);
+    __ stop("unexpect null obj");
+#endif
+  }
+
+  __ bind(update);
+
+  if (do_update) {
+#ifdef ASSERT
+    if (exact_klass != NULL) {
+      Label ok;
+      __ load_klass(tmp1, tmp1);
+      metadata2reg(exact_klass->constant_encoding(), tmp2);
+      __ cmp_and_br_short(tmp1, tmp2, Assembler::equal, Assembler::pt, ok);
+      __ stop("exact klass and actual klass differ");
+      __ bind(ok);
+    }
+#endif
+
+    Label do_update;
+    __ ld_ptr(mdo_addr, tmp2);
+
+    if (!no_conflict) {
+      if (exact_klass == NULL || TypeEntries::is_type_none(current_klass)) {
+        if (exact_klass != NULL) {
+          metadata2reg(exact_klass->constant_encoding(), tmp1);
+        } else {
+          __ load_klass(tmp1, tmp1);
+        }
+
+        __ xor3(tmp1, tmp2, tmp1);
+        __ btst(TypeEntries::type_klass_mask, tmp1);
+        // klass seen before, nothing to do. The unknown bit may have been
+        // set already but no need to check.
+        __ brx(Assembler::zero, false, Assembler::pt, next);
+        __ delayed()->
+
+           btst(TypeEntries::type_unknown, tmp1);
+        // already unknown. Nothing to do anymore.
+        __ brx(Assembler::notZero, false, Assembler::pt, next);
+
+        if (TypeEntries::is_type_none(current_klass)) {
+          __ delayed()->btst(TypeEntries::type_mask, tmp2);
+          __ brx(Assembler::zero, true, Assembler::pt, do_update);
+          // first time here. Set profile type.
+          __ delayed()->or3(tmp2, tmp1, tmp2);
+        } else {
+          __ delayed()->nop();
+        }
+      } else {
+        assert(ciTypeEntries::valid_ciklass(current_klass) != NULL &&
+               ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "conflict only");
+
+        __ btst(TypeEntries::type_unknown, tmp2);
+        // already unknown. Nothing to do anymore.
+        __ brx(Assembler::notZero, false, Assembler::pt, next);
+        __ delayed()->nop();
+      }
+
+      // different than before. Cannot keep accurate profile.
+      __ or3(tmp2, TypeEntries::type_unknown, tmp2);
+    } else {
+      // There's a single possible klass at this profile point
+      assert(exact_klass != NULL, "should be");
+      if (TypeEntries::is_type_none(current_klass)) {
+        metadata2reg(exact_klass->constant_encoding(), tmp1);
+        __ xor3(tmp1, tmp2, tmp1);
+        __ btst(TypeEntries::type_klass_mask, tmp1);
+        __ brx(Assembler::zero, false, Assembler::pt, next);
+#ifdef ASSERT
+
+        {
+          Label ok;
+          __ delayed()->btst(TypeEntries::type_mask, tmp2);
+          __ brx(Assembler::zero, true, Assembler::pt, ok);
+          __ delayed()->nop();
+
+          __ stop("unexpected profiling mismatch");
+          __ bind(ok);
+        }
+        // first time here. Set profile type.
+        __ or3(tmp2, tmp1, tmp2);
+#else
+        // first time here. Set profile type.
+        __ delayed()->or3(tmp2, tmp1, tmp2);
+#endif
+
+      } else {
+        assert(ciTypeEntries::valid_ciklass(current_klass) != NULL &&
+               ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "inconsistent");
+
+        // already unknown. Nothing to do anymore.
+        __ btst(TypeEntries::type_unknown, tmp2);
+        __ brx(Assembler::notZero, false, Assembler::pt, next);
+        __ delayed()->or3(tmp2, TypeEntries::type_unknown, tmp2);
+      }
+    }
+
+    __ bind(do_update);
+    __ st_ptr(tmp2, mdo_addr);
+
+    __ bind(next);
+  }
 }
 
 void LIR_Assembler::align_backward_branch_target() {
@@ -3321,9 +3459,14 @@
 
 void LIR_Assembler::leal(LIR_Opr addr_opr, LIR_Opr dest) {
   LIR_Address* addr = addr_opr->as_address_ptr();
-  assert(addr->index()->is_illegal() && addr->scale() == LIR_Address::times_1 && Assembler::is_simm13(addr->disp()), "can't handle complex addresses yet");
+  assert(addr->index()->is_illegal() && addr->scale() == LIR_Address::times_1, "can't handle complex addresses yet");
 
-  __ add(addr->base()->as_pointer_register(), addr->disp(), dest->as_pointer_register());
+  if (Assembler::is_simm13(addr->disp())) {
+    __ add(addr->base()->as_pointer_register(), addr->disp(), dest->as_pointer_register());
+  } else {
+    __ set(addr->disp(), G3_scratch);
+    __ add(addr->base()->as_pointer_register(), G3_scratch, dest->as_pointer_register());
+  }
 }
 
 
diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
index 454b23c..c22f20a 100644
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
@@ -1892,6 +1892,220 @@
   }
 }
 
+void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& mdo_addr, Register tmp) {
+  Label not_null, do_nothing, do_update;
+
+  assert_different_registers(obj, mdo_addr.base(), tmp);
+
+  verify_oop(obj);
+
+  ld_ptr(mdo_addr, tmp);
+
+  br_notnull_short(obj, pt, not_null);
+  or3(tmp, TypeEntries::null_seen, tmp);
+  ba_short(do_update);
+
+  bind(not_null);
+  load_klass(obj, obj);
+
+  xor3(obj, tmp, obj);
+  btst(TypeEntries::type_klass_mask, obj);
+  // klass seen before, nothing to do. The unknown bit may have been
+  // set already but no need to check.
+  brx(zero, false, pt, do_nothing);
+  delayed()->
+
+  btst(TypeEntries::type_unknown, obj);
+  // already unknown. Nothing to do anymore.
+  brx(notZero, false, pt, do_nothing);
+  delayed()->
+
+  btst(TypeEntries::type_mask, tmp);
+  brx(zero, true, pt, do_update);
+  // first time here. Set profile type.
+  delayed()->or3(tmp, obj, tmp);
+
+  // different than before. Cannot keep accurate profile.
+  or3(tmp, TypeEntries::type_unknown, tmp);
+
+  bind(do_update);
+  // update profile
+  st_ptr(tmp, mdo_addr);
+
+  bind(do_nothing);
+}
+
+void InterpreterMacroAssembler::profile_arguments_type(Register callee, Register tmp1, Register tmp2, bool is_virtual) {
+  if (!ProfileInterpreter) {
+    return;
+  }
+
+  assert_different_registers(callee, tmp1, tmp2, ImethodDataPtr);
+
+  if (MethodData::profile_arguments() || MethodData::profile_return()) {
+    Label profile_continue;
+
+    test_method_data_pointer(profile_continue);
+
+    int off_to_start = is_virtual ? in_bytes(VirtualCallData::virtual_call_data_size()) : in_bytes(CounterData::counter_data_size());
+
+    ldub(ImethodDataPtr, in_bytes(DataLayout::tag_offset()) - off_to_start, tmp1);
+    cmp_and_br_short(tmp1, is_virtual ? DataLayout::virtual_call_type_data_tag : DataLayout::call_type_data_tag, notEqual, pn, profile_continue);
+
+    if (MethodData::profile_arguments()) {
+      Label done;
+      int off_to_args = in_bytes(TypeEntriesAtCall::args_data_offset());
+      add(ImethodDataPtr, off_to_args, ImethodDataPtr);
+
+      for (int i = 0; i < TypeProfileArgsLimit; i++) {
+        if (i > 0 || MethodData::profile_return()) {
+          // If return value type is profiled we may have no argument to profile
+          ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::cell_count_offset())-off_to_args, tmp1);
+          sub(tmp1, i*TypeStackSlotEntries::per_arg_count(), tmp1);
+          cmp_and_br_short(tmp1, TypeStackSlotEntries::per_arg_count(), less, pn, done);
+        }
+        ld_ptr(Address(callee, Method::const_offset()), tmp1);
+        lduh(Address(tmp1, ConstMethod::size_of_parameters_offset()), tmp1);
+        // stack offset o (zero based) from the start of the argument
+        // list, for n arguments translates into offset n - o - 1 from
+        // the end of the argument list. But there's an extra slot at
+        // the stop of the stack. So the offset is n - o from Lesp.
+        ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::stack_slot_offset(i))-off_to_args, tmp2);
+        sub(tmp1, tmp2, tmp1);
+
+        // Can't use MacroAssembler::argument_address() which needs Gargs to be set up
+        sll(tmp1, Interpreter::logStackElementSize, tmp1);
+        ld_ptr(Lesp, tmp1, tmp1);
+
+        Address mdo_arg_addr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::argument_type_offset(i))-off_to_args);
+        profile_obj_type(tmp1, mdo_arg_addr, tmp2);
+
+        int to_add = in_bytes(TypeStackSlotEntries::per_arg_size());
+        add(ImethodDataPtr, to_add, ImethodDataPtr);
+        off_to_args += to_add;
+      }
+
+      if (MethodData::profile_return()) {
+        ld_ptr(ImethodDataPtr, in_bytes(TypeEntriesAtCall::cell_count_offset())-off_to_args, tmp1);
+        sub(tmp1, TypeProfileArgsLimit*TypeStackSlotEntries::per_arg_count(), tmp1);
+      }
+
+      bind(done);
+
+      if (MethodData::profile_return()) {
+        // We're right after the type profile for the last
+        // argument. tmp1 is the number of cells left in the
+        // CallTypeData/VirtualCallTypeData to reach its end. Non null
+        // if there's a return to profile.
+        assert(ReturnTypeEntry::static_cell_count() < TypeStackSlotEntries::per_arg_count(), "can't move past ret type");
+        sll(tmp1, exact_log2(DataLayout::cell_size), tmp1);
+        add(ImethodDataPtr, tmp1, ImethodDataPtr);
+      }
+    } else {
+      assert(MethodData::profile_return(), "either profile call args or call ret");
+      update_mdp_by_constant(in_bytes(ReturnTypeEntry::size()));
+    }
+
+    // mdp points right after the end of the
+    // CallTypeData/VirtualCallTypeData, right after the cells for the
+    // return value type if there's one.
+
+    bind(profile_continue);
+  }
+}
+
+void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1, Register tmp2) {
+  assert_different_registers(ret, tmp1, tmp2);
+  if (ProfileInterpreter && MethodData::profile_return()) {
+    Label profile_continue, done;
+
+    test_method_data_pointer(profile_continue);
+
+    if (MethodData::profile_return_jsr292_only()) {
+      // If we don't profile all invoke bytecodes we must make sure
+      // it's a bytecode we indeed profile. We can't go back to the
+      // begining of the ProfileData we intend to update to check its
+      // type because we're right after it and we don't known its
+      // length.
+      Label do_profile;
+      ldub(Lbcp, 0, tmp1);
+      cmp_and_br_short(tmp1, Bytecodes::_invokedynamic, equal, pn, do_profile);
+      cmp(tmp1, Bytecodes::_invokehandle);
+      br(equal, false, pn, do_profile);
+      delayed()->ldub(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1);
+      cmp_and_br_short(tmp1, vmIntrinsics::_compiledLambdaForm, notEqual, pt, profile_continue);
+
+      bind(do_profile);
+    }
+
+    Address mdo_ret_addr(ImethodDataPtr, -in_bytes(ReturnTypeEntry::size()));
+    mov(ret, tmp1);
+    profile_obj_type(tmp1, mdo_ret_addr, tmp2);
+
+    bind(profile_continue);
+  }
+}
+
+void InterpreterMacroAssembler::profile_parameters_type(Register tmp1, Register tmp2, Register tmp3, Register tmp4) {
+  if (ProfileInterpreter && MethodData::profile_parameters()) {
+    Label profile_continue, done;
+
+    test_method_data_pointer(profile_continue);
+
+    // Load the offset of the area within the MDO used for
+    // parameters. If it's negative we're not profiling any parameters.
+    lduw(ImethodDataPtr, in_bytes(MethodData::parameters_type_data_di_offset()) - in_bytes(MethodData::data_offset()), tmp1);
+    cmp_and_br_short(tmp1, 0, less, pn, profile_continue);
+
+    // Compute a pointer to the area for parameters from the offset
+    // and move the pointer to the slot for the last
+    // parameters. Collect profiling from last parameter down.
+    // mdo start + parameters offset + array length - 1
+
+    // Pointer to the parameter area in the MDO
+    Register mdp = tmp1;
+    add(ImethodDataPtr, tmp1, mdp);
+
+    // offset of the current profile entry to update
+    Register entry_offset = tmp2;
+    // entry_offset = array len in number of cells
+    ld_ptr(mdp, ArrayData::array_len_offset(), entry_offset);
+
+    int off_base = in_bytes(ParametersTypeData::stack_slot_offset(0));
+    assert(off_base % DataLayout::cell_size == 0, "should be a number of cells");
+
+    // entry_offset (number of cells)  = array len - size of 1 entry + offset of the stack slot field
+    sub(entry_offset, TypeStackSlotEntries::per_arg_count() - (off_base / DataLayout::cell_size), entry_offset);
+    // entry_offset in bytes
+    sll(entry_offset, exact_log2(DataLayout::cell_size), entry_offset);
+
+    Label loop;
+    bind(loop);
+
+    // load offset on the stack from the slot for this parameter
+    ld_ptr(mdp, entry_offset, tmp3);
+    sll(tmp3,Interpreter::logStackElementSize, tmp3);
+    neg(tmp3);
+    // read the parameter from the local area
+    ld_ptr(Llocals, tmp3, tmp3);
+
+    // make entry_offset now point to the type field for this parameter
+    int type_base = in_bytes(ParametersTypeData::type_offset(0));
+    assert(type_base > off_base, "unexpected");
+    add(entry_offset, type_base - off_base, entry_offset);
+
+    // profile the parameter
+    Address arg_type(mdp, entry_offset);
+    profile_obj_type(tmp3, arg_type, tmp4);
+
+    // go to next parameter
+    sub(entry_offset, TypeStackSlotEntries::per_arg_count() * DataLayout::cell_size + (type_base - off_base), entry_offset);
+    cmp_and_br_short(entry_offset, off_base, greaterEqual, pt, loop);
+
+    bind(profile_continue);
+  }
+}
+
 // add a InterpMonitorElem to stack (see frame_sparc.hpp)
 
 void InterpreterMacroAssembler::add_monitor_to_stack( bool stack_is_empty,
diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp
index 1a79015..5ba547d 100644
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp
@@ -323,6 +323,11 @@
                            Register scratch2,
                            Register scratch3);
 
+  void profile_obj_type(Register obj, const Address& mdo_addr, Register tmp);
+  void profile_arguments_type(Register callee, Register tmp1, Register tmp2, bool is_virtual);
+  void profile_return_type(Register ret, Register tmp1, Register tmp2);
+  void profile_parameters_type(Register tmp1, Register tmp2, Register tmp3, Register tmp4);
+
   // Debugging
   void interp_verify_oop(Register reg, TosState state, const char * file, int line);    // only if +VerifyOops && state == atos
   void verify_oop_or_return_address(Register reg, Register rtmp); // for astore
diff --git a/hotspot/src/cpu/sparc/vm/sparc.ad b/hotspot/src/cpu/sparc/vm/sparc.ad
index 1b77525..5359951 100644
--- a/hotspot/src/cpu/sparc/vm/sparc.ad
+++ b/hotspot/src/cpu/sparc/vm/sparc.ad
@@ -1848,6 +1848,12 @@
   return false;
 }
 
+// Current (2013) SPARC platforms need to read original key
+// to construct decryption expanded key 
+const bool Matcher::pass_original_key_for_aes() {
+  return true;
+}
+
 // USII supports fxtof through the whole range of number, USIII doesn't
 const bool Matcher::convL2FSupported(void) {
   return VM_Version::has_fast_fxtof();
diff --git a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
index b991182..2502340 100644
--- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp
@@ -3304,6 +3304,775 @@
     }
   }
 
+  address generate_aescrypt_encryptBlock() {
+    __ align(CodeEntryAlignment);
+    StubCodeMark mark(this, "StubRoutines", "aesencryptBlock");
+    Label L_doLast128bit, L_storeOutput;
+    address start = __ pc();
+    Register from = O0; // source byte array
+    Register to = O1;   // destination byte array
+    Register key = O2;  // expanded key array
+    const Register keylen = O4; //reg for storing expanded key array length
+
+    // read expanded key length
+    __ ldsw(Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)), keylen, 0);
+
+    // load input into F54-F56; F30-F31 used as temp
+    __ ldf(FloatRegisterImpl::S, from, 0, F30);
+    __ ldf(FloatRegisterImpl::S, from, 4, F31);
+    __ fmov(FloatRegisterImpl::D, F30, F54);
+    __ ldf(FloatRegisterImpl::S, from, 8, F30);
+    __ ldf(FloatRegisterImpl::S, from, 12, F31);
+    __ fmov(FloatRegisterImpl::D, F30, F56);
+
+    // load expanded key
+    for ( int i = 0;  i <= 38; i += 2 ) {
+      __ ldf(FloatRegisterImpl::D, key, i*4, as_FloatRegister(i));
+    }
+
+    // perform cipher transformation
+    __ fxor(FloatRegisterImpl::D, F0, F54, F54);
+    __ fxor(FloatRegisterImpl::D, F2, F56, F56);
+    // rounds 1 through 8
+    for ( int i = 4;  i <= 28; i += 8 ) {
+      __ aes_eround01(as_FloatRegister(i), F54, F56, F58);
+      __ aes_eround23(as_FloatRegister(i+2), F54, F56, F60);
+      __ aes_eround01(as_FloatRegister(i+4), F58, F60, F54);
+      __ aes_eround23(as_FloatRegister(i+6), F58, F60, F56);
+    }
+    __ aes_eround01(F36, F54, F56, F58); //round 9
+    __ aes_eround23(F38, F54, F56, F60);
+
+    // 128-bit original key size
+    __ cmp_and_brx_short(keylen, 44, Assembler::equal, Assembler::pt, L_doLast128bit);
+
+    for ( int i = 40;  i <= 50; i += 2 ) {
+      __ ldf(FloatRegisterImpl::D, key, i*4, as_FloatRegister(i) );
+    }
+    __ aes_eround01(F40, F58, F60, F54); //round 10
+    __ aes_eround23(F42, F58, F60, F56);
+    __ aes_eround01(F44, F54, F56, F58); //round 11
+    __ aes_eround23(F46, F54, F56, F60);
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pt, L_storeOutput);
+
+    __ ldf(FloatRegisterImpl::D, key, 208, F52);
+    __ aes_eround01(F48, F58, F60, F54); //round 12
+    __ aes_eround23(F50, F58, F60, F56);
+    __ ldf(FloatRegisterImpl::D, key, 216, F46);
+    __ ldf(FloatRegisterImpl::D, key, 224, F48);
+    __ ldf(FloatRegisterImpl::D, key, 232, F50);
+    __ aes_eround01(F52, F54, F56, F58); //round 13
+    __ aes_eround23(F46, F54, F56, F60);
+    __ br(Assembler::always, false, Assembler::pt, L_storeOutput);
+    __ delayed()->nop();
+
+    __ BIND(L_doLast128bit);
+    __ ldf(FloatRegisterImpl::D, key, 160, F48);
+    __ ldf(FloatRegisterImpl::D, key, 168, F50);
+
+    __ BIND(L_storeOutput);
+    // perform last round of encryption common for all key sizes
+    __ aes_eround01_l(F48, F58, F60, F54); //last round
+    __ aes_eround23_l(F50, F58, F60, F56);
+
+    // store output into the destination array, F0-F1 used as temp
+    __ fmov(FloatRegisterImpl::D, F54, F0);
+    __ stf(FloatRegisterImpl::S, F0, to, 0);
+    __ stf(FloatRegisterImpl::S, F1, to, 4);
+    __ fmov(FloatRegisterImpl::D, F56, F0);
+    __ stf(FloatRegisterImpl::S, F0, to, 8);
+    __ retl();
+    __ delayed()->stf(FloatRegisterImpl::S, F1, to, 12);
+
+    return start;
+  }
+
+  address generate_aescrypt_decryptBlock() {
+    __ align(CodeEntryAlignment);
+    StubCodeMark mark(this, "StubRoutines", "aesdecryptBlock");
+    address start = __ pc();
+    Label L_expand192bit, L_expand256bit, L_common_transform;
+    Register from = O0; // source byte array
+    Register to = O1;   // destination byte array
+    Register key = O2;  // expanded key array
+    Register original_key = O3;  // original key array only required during decryption
+    const Register keylen = O4;  // reg for storing expanded key array length
+
+    // read expanded key array length
+    __ ldsw(Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)), keylen, 0);
+
+    // load input into F52-F54; F30,F31 used as temp
+    __ ldf(FloatRegisterImpl::S, from, 0, F30);
+    __ ldf(FloatRegisterImpl::S, from, 4, F31);
+    __ fmov(FloatRegisterImpl::D, F30, F52);
+    __ ldf(FloatRegisterImpl::S, from, 8, F30);
+    __ ldf(FloatRegisterImpl::S, from, 12, F31);
+    __ fmov(FloatRegisterImpl::D, F30, F54);
+
+    // load original key from SunJCE expanded decryption key
+    for ( int i = 0;  i <= 3; i++ ) {
+      __ ldf(FloatRegisterImpl::S, original_key, i*4, as_FloatRegister(i));
+    }
+
+    // 256-bit original key size
+    __ cmp_and_brx_short(keylen, 60, Assembler::equal, Assembler::pn, L_expand256bit);
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pn, L_expand192bit);
+
+    // 128-bit original key size
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 36; i += 4 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+2), i/4, as_FloatRegister(i+4));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+4), as_FloatRegister(i+6));
+    }
+
+    // perform 128-bit key specific inverse cipher transformation
+    __ fxor(FloatRegisterImpl::D, F42, F54, F54);
+    __ fxor(FloatRegisterImpl::D, F40, F52, F52);
+    __ br(Assembler::always, false, Assembler::pt, L_common_transform);
+    __ delayed()->nop();
+
+    __ BIND(L_expand192bit);
+
+    // start loading rest of the 192-bit key
+    __ ldf(FloatRegisterImpl::S, original_key, 16, F4);
+    __ ldf(FloatRegisterImpl::S, original_key, 20, F5);
+
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 36; i += 6 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+4), i/6, as_FloatRegister(i+6));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+6), as_FloatRegister(i+8));
+      __ aes_kexpand2(as_FloatRegister(i+4), as_FloatRegister(i+8), as_FloatRegister(i+10));
+    }
+    __ aes_kexpand1(F42, F46, 7, F48);
+    __ aes_kexpand2(F44, F48, F50);
+
+    // perform 192-bit key specific inverse cipher transformation
+    __ fxor(FloatRegisterImpl::D, F50, F54, F54);
+    __ fxor(FloatRegisterImpl::D, F48, F52, F52);
+    __ aes_dround23(F46, F52, F54, F58);
+    __ aes_dround01(F44, F52, F54, F56);
+    __ aes_dround23(F42, F56, F58, F54);
+    __ aes_dround01(F40, F56, F58, F52);
+    __ br(Assembler::always, false, Assembler::pt, L_common_transform);
+    __ delayed()->nop();
+
+    __ BIND(L_expand256bit);
+
+    // load rest of the 256-bit key
+    for ( int i = 4;  i <= 7; i++ ) {
+      __ ldf(FloatRegisterImpl::S, original_key, i*4, as_FloatRegister(i));
+    }
+
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 40; i += 8 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+6), i/8, as_FloatRegister(i+8));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+8), as_FloatRegister(i+10));
+      __ aes_kexpand0(as_FloatRegister(i+4), as_FloatRegister(i+10), as_FloatRegister(i+12));
+      __ aes_kexpand2(as_FloatRegister(i+6), as_FloatRegister(i+12), as_FloatRegister(i+14));
+    }
+    __ aes_kexpand1(F48, F54, 6, F56);
+    __ aes_kexpand2(F50, F56, F58);
+
+    for ( int i = 0;  i <= 6; i += 2 ) {
+      __ fmov(FloatRegisterImpl::D, as_FloatRegister(58-i), as_FloatRegister(i));
+    }
+
+    // load input into F52-F54
+    __ ldf(FloatRegisterImpl::D, from, 0, F52);
+    __ ldf(FloatRegisterImpl::D, from, 8, F54);
+
+    // perform 256-bit key specific inverse cipher transformation
+    __ fxor(FloatRegisterImpl::D, F0, F54, F54);
+    __ fxor(FloatRegisterImpl::D, F2, F52, F52);
+    __ aes_dround23(F4, F52, F54, F58);
+    __ aes_dround01(F6, F52, F54, F56);
+    __ aes_dround23(F50, F56, F58, F54);
+    __ aes_dround01(F48, F56, F58, F52);
+    __ aes_dround23(F46, F52, F54, F58);
+    __ aes_dround01(F44, F52, F54, F56);
+    __ aes_dround23(F42, F56, F58, F54);
+    __ aes_dround01(F40, F56, F58, F52);
+
+    for ( int i = 0;  i <= 7; i++ ) {
+      __ ldf(FloatRegisterImpl::S, original_key, i*4, as_FloatRegister(i));
+    }
+
+    // perform inverse cipher transformations common for all key sizes
+    __ BIND(L_common_transform);
+    for ( int i = 38;  i >= 6; i -= 8 ) {
+      __ aes_dround23(as_FloatRegister(i), F52, F54, F58);
+      __ aes_dround01(as_FloatRegister(i-2), F52, F54, F56);
+      if ( i != 6) {
+        __ aes_dround23(as_FloatRegister(i-4), F56, F58, F54);
+        __ aes_dround01(as_FloatRegister(i-6), F56, F58, F52);
+      } else {
+        __ aes_dround23_l(as_FloatRegister(i-4), F56, F58, F54);
+        __ aes_dround01_l(as_FloatRegister(i-6), F56, F58, F52);
+      }
+    }
+
+    // store output to destination array, F0-F1 used as temp
+    __ fmov(FloatRegisterImpl::D, F52, F0);
+    __ stf(FloatRegisterImpl::S, F0, to, 0);
+    __ stf(FloatRegisterImpl::S, F1, to, 4);
+    __ fmov(FloatRegisterImpl::D, F54, F0);
+    __ stf(FloatRegisterImpl::S, F0, to, 8);
+    __ retl();
+    __ delayed()->stf(FloatRegisterImpl::S, F1, to, 12);
+
+    return start;
+  }
+
+  address generate_cipherBlockChaining_encryptAESCrypt() {
+    __ align(CodeEntryAlignment);
+    StubCodeMark mark(this, "StubRoutines", "cipherBlockChaining_encryptAESCrypt");
+    Label L_cbcenc128, L_cbcenc192, L_cbcenc256;
+    address start = __ pc();
+    Register from = O0; // source byte array
+    Register to = O1;   // destination byte array
+    Register key = O2;  // expanded key array
+    Register rvec = O3; // init vector
+    const Register len_reg = O4; // cipher length
+    const Register keylen = O5;  // reg for storing expanded key array length
+
+    // save cipher len to return in the end
+    __ mov(len_reg, L1);
+
+    // read expanded key length
+    __ ldsw(Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)), keylen, 0);
+
+    // load init vector
+    __ ldf(FloatRegisterImpl::D, rvec, 0, F60);
+    __ ldf(FloatRegisterImpl::D, rvec, 8, F62);
+    __ ldx(key,0,G1);
+    __ ldx(key,8,G2);
+
+    // start loading expanded key
+    for ( int i = 0, j = 16;  i <= 38; i += 2, j += 8 ) {
+      __ ldf(FloatRegisterImpl::D, key, j, as_FloatRegister(i));
+    }
+
+    // 128-bit original key size
+    __ cmp_and_brx_short(keylen, 44, Assembler::equal, Assembler::pt, L_cbcenc128);
+
+    for ( int i = 40, j = 176;  i <= 46; i += 2, j += 8 ) {
+      __ ldf(FloatRegisterImpl::D, key, j, as_FloatRegister(i));
+    }
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pt, L_cbcenc192);
+
+    for ( int i = 48, j = 208;  i <= 54; i += 2, j += 8 ) {
+      __ ldf(FloatRegisterImpl::D, key, j, as_FloatRegister(i));
+    }
+
+    // 256-bit original key size
+    __ br(Assembler::always, false, Assembler::pt, L_cbcenc256);
+    __ delayed()->nop();
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_cbcenc128);
+    __ ldx(from,0,G3);
+    __ ldx(from,8,G4);
+    __ xor3(G1,G3,G3);
+    __ xor3(G2,G4,G4);
+    __ movxtod(G3,F56);
+    __ movxtod(G4,F58);
+    __ fxor(FloatRegisterImpl::D, F60, F56, F60);
+    __ fxor(FloatRegisterImpl::D, F62, F58, F62);
+
+    // TEN_EROUNDS
+    for ( int i = 0;  i <= 32; i += 8 ) {
+      __ aes_eround01(as_FloatRegister(i), F60, F62, F56);
+      __ aes_eround23(as_FloatRegister(i+2), F60, F62, F58);
+      if (i != 32 ) {
+        __ aes_eround01(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23(as_FloatRegister(i+6), F56, F58, F62);
+      } else {
+        __ aes_eround01_l(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23_l(as_FloatRegister(i+6), F56, F58, F62);
+      }
+    }
+
+    __ stf(FloatRegisterImpl::D, F60, to, 0);
+    __ stf(FloatRegisterImpl::D, F62, to, 8);
+    __ add(from, 16, from);
+    __ add(to, 16, to);
+    __ subcc(len_reg, 16, len_reg);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_cbcenc128);
+    __ delayed()->nop();
+    __ stf(FloatRegisterImpl::D, F60, rvec, 0);
+    __ stf(FloatRegisterImpl::D, F62, rvec, 8);
+    __ retl();
+    __ delayed()->mov(L1, O0);
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_cbcenc192);
+    __ ldx(from,0,G3);
+    __ ldx(from,8,G4);
+    __ xor3(G1,G3,G3);
+    __ xor3(G2,G4,G4);
+    __ movxtod(G3,F56);
+    __ movxtod(G4,F58);
+    __ fxor(FloatRegisterImpl::D, F60, F56, F60);
+    __ fxor(FloatRegisterImpl::D, F62, F58, F62);
+
+    // TWELEVE_EROUNDS
+    for ( int i = 0;  i <= 40; i += 8 ) {
+      __ aes_eround01(as_FloatRegister(i), F60, F62, F56);
+      __ aes_eround23(as_FloatRegister(i+2), F60, F62, F58);
+      if (i != 40 ) {
+        __ aes_eround01(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23(as_FloatRegister(i+6), F56, F58, F62);
+      } else {
+        __ aes_eround01_l(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23_l(as_FloatRegister(i+6), F56, F58, F62);
+      }
+    }
+
+    __ stf(FloatRegisterImpl::D, F60, to, 0);
+    __ stf(FloatRegisterImpl::D, F62, to, 8);
+    __ add(from, 16, from);
+    __ subcc(len_reg, 16, len_reg);
+    __ add(to, 16, to);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_cbcenc192);
+    __ delayed()->nop();
+    __ stf(FloatRegisterImpl::D, F60, rvec, 0);
+    __ stf(FloatRegisterImpl::D, F62, rvec, 8);
+    __ retl();
+    __ delayed()->mov(L1, O0);
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_cbcenc256);
+    __ ldx(from,0,G3);
+    __ ldx(from,8,G4);
+    __ xor3(G1,G3,G3);
+    __ xor3(G2,G4,G4);
+    __ movxtod(G3,F56);
+    __ movxtod(G4,F58);
+    __ fxor(FloatRegisterImpl::D, F60, F56, F60);
+    __ fxor(FloatRegisterImpl::D, F62, F58, F62);
+
+    // FOURTEEN_EROUNDS
+    for ( int i = 0;  i <= 48; i += 8 ) {
+      __ aes_eround01(as_FloatRegister(i), F60, F62, F56);
+      __ aes_eround23(as_FloatRegister(i+2), F60, F62, F58);
+      if (i != 48 ) {
+        __ aes_eround01(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23(as_FloatRegister(i+6), F56, F58, F62);
+      } else {
+        __ aes_eround01_l(as_FloatRegister(i+4), F56, F58, F60);
+        __ aes_eround23_l(as_FloatRegister(i+6), F56, F58, F62);
+      }
+    }
+
+    __ stf(FloatRegisterImpl::D, F60, to, 0);
+    __ stf(FloatRegisterImpl::D, F62, to, 8);
+    __ add(from, 16, from);
+    __ subcc(len_reg, 16, len_reg);
+    __ add(to, 16, to);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_cbcenc256);
+    __ delayed()->nop();
+    __ stf(FloatRegisterImpl::D, F60, rvec, 0);
+    __ stf(FloatRegisterImpl::D, F62, rvec, 8);
+    __ retl();
+    __ delayed()->mov(L1, O0);
+
+    return start;
+  }
+
+  address generate_cipherBlockChaining_decryptAESCrypt_Parallel() {
+    __ align(CodeEntryAlignment);
+    StubCodeMark mark(this, "StubRoutines", "cipherBlockChaining_decryptAESCrypt");
+    Label L_cbcdec_end, L_expand192bit, L_expand256bit, L_dec_first_block_start;
+    Label L_dec_first_block128, L_dec_first_block192, L_dec_next2_blocks128, L_dec_next2_blocks192, L_dec_next2_blocks256;
+    address start = __ pc();
+    Register from = I0; // source byte array
+    Register to = I1;   // destination byte array
+    Register key = I2;  // expanded key array
+    Register rvec = I3; // init vector
+    const Register len_reg = I4; // cipher length
+    const Register original_key = I5;  // original key array only required during decryption
+    const Register keylen = L6;  // reg for storing expanded key array length
+
+    // save cipher len before save_frame, to return in the end
+    __ mov(O4, L0);
+    __ save_frame(0); //args are read from I* registers since we save the frame in the beginning
+
+    // load original key from SunJCE expanded decryption key
+    for ( int i = 0;  i <= 3; i++ ) {
+      __ ldf(FloatRegisterImpl::S, original_key, i*4, as_FloatRegister(i));
+    }
+
+    // load initial vector
+    __ ldx(rvec,0,L0);
+    __ ldx(rvec,8,L1);
+
+    // read expanded key array length
+    __ ldsw(Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)), keylen, 0);
+
+    // 256-bit original key size
+    __ cmp_and_brx_short(keylen, 60, Assembler::equal, Assembler::pn, L_expand256bit);
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pn, L_expand192bit);
+
+    // 128-bit original key size
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 36; i += 4 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+2), i/4, as_FloatRegister(i+4));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+4), as_FloatRegister(i+6));
+    }
+
+    // load expanded key[last-1] and key[last] elements
+    __ movdtox(F40,L2);
+    __ movdtox(F42,L3);
+
+    __ and3(len_reg, 16, L4);
+    __ br_null(L4, false, Assembler::pt, L_dec_next2_blocks128);
+    __ delayed()->nop();
+
+    __ br(Assembler::always, false, Assembler::pt, L_dec_first_block_start);
+    __ delayed()->nop();
+
+    __ BIND(L_expand192bit);
+    // load rest of the 192-bit key
+    __ ldf(FloatRegisterImpl::S, original_key, 16, F4);
+    __ ldf(FloatRegisterImpl::S, original_key, 20, F5);
+
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 36; i += 6 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+4), i/6, as_FloatRegister(i+6));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+6), as_FloatRegister(i+8));
+      __ aes_kexpand2(as_FloatRegister(i+4), as_FloatRegister(i+8), as_FloatRegister(i+10));
+    }
+    __ aes_kexpand1(F42, F46, 7, F48);
+    __ aes_kexpand2(F44, F48, F50);
+
+    // load expanded key[last-1] and key[last] elements
+    __ movdtox(F48,L2);
+    __ movdtox(F50,L3);
+
+    __ and3(len_reg, 16, L4);
+    __ br_null(L4, false, Assembler::pt, L_dec_next2_blocks192);
+    __ delayed()->nop();
+
+    __ br(Assembler::always, false, Assembler::pt, L_dec_first_block_start);
+    __ delayed()->nop();
+
+    __ BIND(L_expand256bit);
+    // load rest of the 256-bit key
+    for ( int i = 4;  i <= 7; i++ ) {
+      __ ldf(FloatRegisterImpl::S, original_key, i*4, as_FloatRegister(i));
+    }
+
+    // perform key expansion since SunJCE decryption-key expansion is not compatible with SPARC crypto instructions
+    for ( int i = 0;  i <= 40; i += 8 ) {
+      __ aes_kexpand1(as_FloatRegister(i), as_FloatRegister(i+6), i/8, as_FloatRegister(i+8));
+      __ aes_kexpand2(as_FloatRegister(i+2), as_FloatRegister(i+8), as_FloatRegister(i+10));
+      __ aes_kexpand0(as_FloatRegister(i+4), as_FloatRegister(i+10), as_FloatRegister(i+12));
+      __ aes_kexpand2(as_FloatRegister(i+6), as_FloatRegister(i+12), as_FloatRegister(i+14));
+    }
+    __ aes_kexpand1(F48, F54, 6, F56);
+    __ aes_kexpand2(F50, F56, F58);
+
+    // load expanded key[last-1] and key[last] elements
+    __ movdtox(F56,L2);
+    __ movdtox(F58,L3);
+
+    __ and3(len_reg, 16, L4);
+    __ br_null(L4, false, Assembler::pt, L_dec_next2_blocks256);
+    __ delayed()->nop();
+
+    __ BIND(L_dec_first_block_start);
+    __ ldx(from,0,L4);
+    __ ldx(from,8,L5);
+    __ xor3(L2,L4,G1);
+    __ movxtod(G1,F60);
+    __ xor3(L3,L5,G1);
+    __ movxtod(G1,F62);
+
+    // 128-bit original key size
+    __ cmp_and_brx_short(keylen, 44, Assembler::equal, Assembler::pn, L_dec_first_block128);
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pn, L_dec_first_block192);
+
+    __ aes_dround23(F54, F60, F62, F58);
+    __ aes_dround01(F52, F60, F62, F56);
+    __ aes_dround23(F50, F56, F58, F62);
+    __ aes_dround01(F48, F56, F58, F60);
+
+    __ BIND(L_dec_first_block192);
+    __ aes_dround23(F46, F60, F62, F58);
+    __ aes_dround01(F44, F60, F62, F56);
+    __ aes_dround23(F42, F56, F58, F62);
+    __ aes_dround01(F40, F56, F58, F60);
+
+    __ BIND(L_dec_first_block128);
+    for ( int i = 38;  i >= 6; i -= 8 ) {
+      __ aes_dround23(as_FloatRegister(i), F60, F62, F58);
+      __ aes_dround01(as_FloatRegister(i-2), F60, F62, F56);
+      if ( i != 6) {
+        __ aes_dround23(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01(as_FloatRegister(i-6), F56, F58, F60);
+      } else {
+        __ aes_dround23_l(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01_l(as_FloatRegister(i-6), F56, F58, F60);
+      }
+    }
+
+    __ movxtod(L0,F56);
+    __ movxtod(L1,F58);
+    __ mov(L4,L0);
+    __ mov(L5,L1);
+    __ fxor(FloatRegisterImpl::D, F56, F60, F60);
+    __ fxor(FloatRegisterImpl::D, F58, F62, F62);
+
+    __ stf(FloatRegisterImpl::D, F60, to, 0);
+    __ stf(FloatRegisterImpl::D, F62, to, 8);
+
+    __ add(from, 16, from);
+    __ add(to, 16, to);
+    __ subcc(len_reg, 16, len_reg);
+    __ br(Assembler::equal, false, Assembler::pt, L_cbcdec_end);
+    __ delayed()->nop();
+
+    // 256-bit original key size
+    __ cmp_and_brx_short(keylen, 60, Assembler::equal, Assembler::pn, L_dec_next2_blocks256);
+
+    // 192-bit original key size
+    __ cmp_and_brx_short(keylen, 52, Assembler::equal, Assembler::pn, L_dec_next2_blocks192);
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_dec_next2_blocks128);
+    __ nop();
+
+    // F40:F42 used for first 16-bytes
+    __ ldx(from,0,G4);
+    __ ldx(from,8,G5);
+    __ xor3(L2,G4,G1);
+    __ movxtod(G1,F40);
+    __ xor3(L3,G5,G1);
+    __ movxtod(G1,F42);
+
+    // F60:F62 used for next 16-bytes
+    __ ldx(from,16,L4);
+    __ ldx(from,24,L5);
+    __ xor3(L2,L4,G1);
+    __ movxtod(G1,F60);
+    __ xor3(L3,L5,G1);
+    __ movxtod(G1,F62);
+
+    for ( int i = 38;  i >= 6; i -= 8 ) {
+      __ aes_dround23(as_FloatRegister(i), F40, F42, F44);
+      __ aes_dround01(as_FloatRegister(i-2), F40, F42, F46);
+      __ aes_dround23(as_FloatRegister(i), F60, F62, F58);
+      __ aes_dround01(as_FloatRegister(i-2), F60, F62, F56);
+      if (i != 6 ) {
+        __ aes_dround23(as_FloatRegister(i-4), F46, F44, F42);
+        __ aes_dround01(as_FloatRegister(i-6), F46, F44, F40);
+        __ aes_dround23(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01(as_FloatRegister(i-6), F56, F58, F60);
+      } else {
+        __ aes_dround23_l(as_FloatRegister(i-4), F46, F44, F42);
+        __ aes_dround01_l(as_FloatRegister(i-6), F46, F44, F40);
+        __ aes_dround23_l(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01_l(as_FloatRegister(i-6), F56, F58, F60);
+      }
+    }
+
+    __ movxtod(L0,F46);
+    __ movxtod(L1,F44);
+    __ fxor(FloatRegisterImpl::D, F46, F40, F40);
+    __ fxor(FloatRegisterImpl::D, F44, F42, F42);
+
+    __ stf(FloatRegisterImpl::D, F40, to, 0);
+    __ stf(FloatRegisterImpl::D, F42, to, 8);
+
+    __ movxtod(G4,F56);
+    __ movxtod(G5,F58);
+    __ mov(L4,L0);
+    __ mov(L5,L1);
+    __ fxor(FloatRegisterImpl::D, F56, F60, F60);
+    __ fxor(FloatRegisterImpl::D, F58, F62, F62);
+
+    __ stf(FloatRegisterImpl::D, F60, to, 16);
+    __ stf(FloatRegisterImpl::D, F62, to, 24);
+
+    __ add(from, 32, from);
+    __ add(to, 32, to);
+    __ subcc(len_reg, 32, len_reg);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_dec_next2_blocks128);
+    __ delayed()->nop();
+    __ br(Assembler::always, false, Assembler::pt, L_cbcdec_end);
+    __ delayed()->nop();
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_dec_next2_blocks192);
+    __ nop();
+
+    // F48:F50 used for first 16-bytes
+    __ ldx(from,0,G4);
+    __ ldx(from,8,G5);
+    __ xor3(L2,G4,G1);
+    __ movxtod(G1,F48);
+    __ xor3(L3,G5,G1);
+    __ movxtod(G1,F50);
+
+    // F60:F62 used for next 16-bytes
+    __ ldx(from,16,L4);
+    __ ldx(from,24,L5);
+    __ xor3(L2,L4,G1);
+    __ movxtod(G1,F60);
+    __ xor3(L3,L5,G1);
+    __ movxtod(G1,F62);
+
+    for ( int i = 46;  i >= 6; i -= 8 ) {
+      __ aes_dround23(as_FloatRegister(i), F48, F50, F52);
+      __ aes_dround01(as_FloatRegister(i-2), F48, F50, F54);
+      __ aes_dround23(as_FloatRegister(i), F60, F62, F58);
+      __ aes_dround01(as_FloatRegister(i-2), F60, F62, F56);
+      if (i != 6 ) {
+        __ aes_dround23(as_FloatRegister(i-4), F54, F52, F50);
+        __ aes_dround01(as_FloatRegister(i-6), F54, F52, F48);
+        __ aes_dround23(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01(as_FloatRegister(i-6), F56, F58, F60);
+      } else {
+        __ aes_dround23_l(as_FloatRegister(i-4), F54, F52, F50);
+        __ aes_dround01_l(as_FloatRegister(i-6), F54, F52, F48);
+        __ aes_dround23_l(as_FloatRegister(i-4), F56, F58, F62);
+        __ aes_dround01_l(as_FloatRegister(i-6), F56, F58, F60);
+      }
+    }
+
+    __ movxtod(L0,F54);
+    __ movxtod(L1,F52);
+    __ fxor(FloatRegisterImpl::D, F54, F48, F48);
+    __ fxor(FloatRegisterImpl::D, F52, F50, F50);
+
+    __ stf(FloatRegisterImpl::D, F48, to, 0);
+    __ stf(FloatRegisterImpl::D, F50, to, 8);
+
+    __ movxtod(G4,F56);
+    __ movxtod(G5,F58);
+    __ mov(L4,L0);
+    __ mov(L5,L1);
+    __ fxor(FloatRegisterImpl::D, F56, F60, F60);
+    __ fxor(FloatRegisterImpl::D, F58, F62, F62);
+
+    __ stf(FloatRegisterImpl::D, F60, to, 16);
+    __ stf(FloatRegisterImpl::D, F62, to, 24);
+
+    __ add(from, 32, from);
+    __ add(to, 32, to);
+    __ subcc(len_reg, 32, len_reg);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_dec_next2_blocks192);
+    __ delayed()->nop();
+    __ br(Assembler::always, false, Assembler::pt, L_cbcdec_end);
+    __ delayed()->nop();
+
+    __ align(OptoLoopAlignment);
+    __ BIND(L_dec_next2_blocks256);
+    __ nop();
+
+    // F0:F2 used for first 16-bytes
+    __ ldx(from,0,G4);
+    __ ldx(from,8,G5);
+    __ xor3(L2,G4,G1);
+    __ movxtod(G1,F0);
+    __ xor3(L3,G5,G1);
+    __ movxtod(G1,F2);
+
+    // F60:F62 used for next 16-bytes
+    __ ldx(from,16,L4);
+    __ ldx(from,24,L5);
+    __ xor3(L2,L4,G1);
+    __ movxtod(G1,F60);
+    __ xor3(L3,L5,G1);
+    __ movxtod(G1,F62);
+
+    __ aes_dround23(F54, F0, F2, F4);
+    __ aes_dround01(F52, F0, F2, F6);
+    __ aes_dround23(F54, F60, F62, F58);
+    __ aes_dround01(F52, F60, F62, F56);
+    __ aes_dround23(F50, F6, F4, F2);
+    __ aes_dround01(F48, F6, F4, F0);
+    __ aes_dround23(F50, F56, F58, F62);
+    __ aes_dround01(F48, F56, F58, F60);
+    // save F48:F54 in temp registers
+    __ movdtox(F54,G2);
+    __ movdtox(F52,G3);
+    __ movdtox(F50,G6);
+    __ movdtox(F48,G1);
+    for ( int i = 46;  i >= 14; i -= 8 ) {
+      __ aes_dround23(as_FloatRegister(i), F0, F2, F4);
+      __ aes_dround01(as_FloatRegister(i-2), F0, F2, F6);
+      __ aes_dround23(as_FloatRegister(i), F60, F62, F58);
+      __ aes_dround01(as_FloatRegister(i-2), F60, F62, F56);
+      __ aes_dround23(as_FloatRegister(i-4), F6, F4, F2);
+      __ aes_dround01(as_FloatRegister(i-6), F6, F4, F0);
+      __ aes_dround23(as_FloatRegister(i-4), F56, F58, F62);
+      __ aes_dround01(as_FloatRegister(i-6), F56, F58, F60);
+    }
+    // init F48:F54 with F0:F6 values (original key)
+    __ ldf(FloatRegisterImpl::D, original_key, 0, F48);
+    __ ldf(FloatRegisterImpl::D, original_key, 8, F50);
+    __ ldf(FloatRegisterImpl::D, original_key, 16, F52);
+    __ ldf(FloatRegisterImpl::D, original_key, 24, F54);
+    __ aes_dround23(F54, F0, F2, F4);
+    __ aes_dround01(F52, F0, F2, F6);
+    __ aes_dround23(F54, F60, F62, F58);
+    __ aes_dround01(F52, F60, F62, F56);
+    __ aes_dround23_l(F50, F6, F4, F2);
+    __ aes_dround01_l(F48, F6, F4, F0);
+    __ aes_dround23_l(F50, F56, F58, F62);
+    __ aes_dround01_l(F48, F56, F58, F60);
+    // re-init F48:F54 with their original values
+    __ movxtod(G2,F54);
+    __ movxtod(G3,F52);
+    __ movxtod(G6,F50);
+    __ movxtod(G1,F48);
+
+    __ movxtod(L0,F6);
+    __ movxtod(L1,F4);
+    __ fxor(FloatRegisterImpl::D, F6, F0, F0);
+    __ fxor(FloatRegisterImpl::D, F4, F2, F2);
+
+    __ stf(FloatRegisterImpl::D, F0, to, 0);
+    __ stf(FloatRegisterImpl::D, F2, to, 8);
+
+    __ movxtod(G4,F56);
+    __ movxtod(G5,F58);
+    __ mov(L4,L0);
+    __ mov(L5,L1);
+    __ fxor(FloatRegisterImpl::D, F56, F60, F60);
+    __ fxor(FloatRegisterImpl::D, F58, F62, F62);
+
+    __ stf(FloatRegisterImpl::D, F60, to, 16);
+    __ stf(FloatRegisterImpl::D, F62, to, 24);
+
+    __ add(from, 32, from);
+    __ add(to, 32, to);
+    __ subcc(len_reg, 32, len_reg);
+    __ br(Assembler::notEqual, false, Assembler::pt, L_dec_next2_blocks256);
+    __ delayed()->nop();
+
+    __ BIND(L_cbcdec_end);
+    __ stx(L0, rvec, 0);
+    __ stx(L1, rvec, 8);
+    __ restore();
+    __ mov(L0, O0);
+    __ retl();
+    __ delayed()->nop();
+
+    return start;
+  }
+
   void generate_initial() {
     // Generates all stubs and initializes the entry points
 
@@ -3368,6 +4137,14 @@
     generate_safefetch("SafeFetchN", sizeof(intptr_t), &StubRoutines::_safefetchN_entry,
                                                        &StubRoutines::_safefetchN_fault_pc,
                                                        &StubRoutines::_safefetchN_continuation_pc);
+
+    // generate AES intrinsics code
+    if (UseAESIntrinsics) {
+      StubRoutines::_aescrypt_encryptBlock = generate_aescrypt_encryptBlock();
+      StubRoutines::_aescrypt_decryptBlock = generate_aescrypt_decryptBlock();
+      StubRoutines::_cipherBlockChaining_encryptAESCrypt = generate_cipherBlockChaining_encryptAESCrypt();
+      StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt_Parallel();
+    }
   }
 
 
diff --git a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
index 40847f8..5fd629a 100644
--- a/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateInterpreter_sparc.cpp
@@ -156,6 +156,10 @@
 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) {
   address entry = __ pc();
 
+  if (state == atos) {
+    __ profile_return_type(O0, G3_scratch, G1_scratch);
+  }
+
 #if !defined(_LP64) && defined(COMPILER2)
   // All return values are where we want them, except for Longs.  C2 returns
   // longs in G1 in the 32-bit build whereas the interpreter wants them in O0/O1.
@@ -1333,6 +1337,7 @@
   __ movbool(true, G3_scratch);
   __ stbool(G3_scratch, do_not_unlock_if_synchronized);
 
+  __ profile_parameters_type(G1_scratch, G3_scratch, G4_scratch, Lscratch);
   // increment invocation counter and check for overflow
   //
   // Note: checking for negative value instead of overflow
diff --git a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
index 9209811..83e083e 100644
--- a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
@@ -2942,12 +2942,12 @@
 
 
 void TemplateTable::generate_vtable_call(Register Rrecv, Register Rindex, Register Rret) {
-  Register Rtemp = G4_scratch;
   Register Rcall = Rindex;
   assert_different_registers(Rcall, G5_method, Gargs, Rret);
 
   // get target Method* & entry point
   __ lookup_virtual_method(Rrecv, Rindex, G5_method);
+  __ profile_arguments_type(G5_method, Rcall, Gargs, true);
   __ call_from_interpreter(Rcall, Gargs, Rret);
 }
 
@@ -3022,6 +3022,7 @@
   __ null_check(O0);
 
   __ profile_final_call(O4);
+  __ profile_arguments_type(G5_method, Rscratch, Gargs, true);
 
   // get return address
   AddressLiteral table(Interpreter::invoke_return_entry_table());
@@ -3051,6 +3052,7 @@
 
   // do the call
   __ profile_call(O4);
+  __ profile_arguments_type(G5_method, Rscratch, Gargs, false);
   __ call_from_interpreter(Rscratch, Gargs, Rret);
 }
 
@@ -3066,6 +3068,7 @@
 
   // do the call
   __ profile_call(O4);
+  __ profile_arguments_type(G5_method, Rscratch, Gargs, false);
   __ call_from_interpreter(Rscratch, Gargs, Rret);
 }
 
@@ -3091,6 +3094,7 @@
   // do the call - the index (f2) contains the Method*
   assert_different_registers(G5_method, Gargs, Rcall);
   __ mov(Rindex, G5_method);
+  __ profile_arguments_type(G5_method, Rcall, Gargs, true);
   __ call_from_interpreter(Rcall, Gargs, Rret);
   __ bind(notFinal);
 
@@ -3197,6 +3201,7 @@
   Register Rcall = Rinterface;
   assert_different_registers(Rcall, G5_method, Gargs, Rret);
 
+  __ profile_arguments_type(G5_method, Rcall, Gargs, true);
   __ call_from_interpreter(Rcall, Gargs, Rret);
 }
 
@@ -3226,6 +3231,7 @@
   // do the call
   __ verify_oop(G4_mtype);
   __ profile_final_call(O4);  // FIXME: profile the LambdaForm also
+  __ profile_arguments_type(G5_method, Rscratch, Gargs, true);
   __ call_from_interpreter(Rscratch, Gargs, Rret);
 }
 
@@ -3262,6 +3268,7 @@
 
   // do the call
   __ verify_oop(G4_callsite);
+  __ profile_arguments_type(G5_method, Rscratch, Gargs, false);
   __ call_from_interpreter(Rscratch, Gargs, Rret);
 }
 
diff --git a/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp b/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
index bae7b35..b75d21f 100644
--- a/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/vm_version_sparc.cpp
@@ -234,7 +234,7 @@
   assert((OptoLoopAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size");
 
   char buf[512];
-  jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+  jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
                (has_v9() ? ", v9" : (has_v8() ? ", v8" : "")),
                (has_hardware_popc() ? ", popc" : ""),
                (has_vis1() ? ", vis1" : ""),
@@ -242,6 +242,7 @@
                (has_vis3() ? ", vis3" : ""),
                (has_blk_init() ? ", blk_init" : ""),
                (has_cbcond() ? ", cbcond" : ""),
+               (has_aes() ? ", aes" : ""),
                (is_ultra3() ? ", ultra3" : ""),
                (is_sun4v() ? ", sun4v" : ""),
                (is_niagara_plus() ? ", niagara_plus" : (is_niagara() ? ", niagara" : "")),
@@ -265,6 +266,41 @@
   if (!has_vis1()) // Drop to 0 if no VIS1 support
     UseVIS = 0;
 
+  // T2 and above should have support for AES instructions
+  if (has_aes()) {
+    if (UseVIS > 0) { // AES intrinsics use FXOR instruction which is VIS1
+      if (FLAG_IS_DEFAULT(UseAES)) {
+        FLAG_SET_DEFAULT(UseAES, true);
+      }
+      if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
+        FLAG_SET_DEFAULT(UseAESIntrinsics, true);
+      }
+      // we disable both the AES flags if either of them is disabled on the command line
+      if (!UseAES || !UseAESIntrinsics) {
+        FLAG_SET_DEFAULT(UseAES, false);
+        FLAG_SET_DEFAULT(UseAESIntrinsics, false);
+      }
+    } else {
+        if (UseAES || UseAESIntrinsics) {
+          warning("SPARC AES intrinsics require VIS1 instruction support. Intrinsics will be disabled.");
+          if (UseAES) {
+            FLAG_SET_DEFAULT(UseAES, false);
+          }
+          if (UseAESIntrinsics) {
+            FLAG_SET_DEFAULT(UseAESIntrinsics, false);
+          }
+        }
+    }
+  } else if (UseAES || UseAESIntrinsics) {
+    warning("AES instructions are not available on this CPU");
+    if (UseAES) {
+      FLAG_SET_DEFAULT(UseAES, false);
+    }
+    if (UseAESIntrinsics) {
+      FLAG_SET_DEFAULT(UseAESIntrinsics, false);
+    }
+  }
+
   if (FLAG_IS_DEFAULT(ContendedPaddingWidth) &&
     (cache_line_size > ContendedPaddingWidth))
     ContendedPaddingWidth = cache_line_size;
diff --git a/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp b/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
index b8d63f4..eafb485 100644
--- a/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
+++ b/hotspot/src/cpu/sparc/vm/vm_version_sparc.hpp
@@ -48,7 +48,9 @@
     sparc64_family       = 14,
     M_family             = 15,
     T_family             = 16,
-    T1_model             = 17
+    T1_model             = 17,
+    sparc5_instructions  = 18,
+    aes_instructions     = 19
   };
 
   enum Feature_Flag_Set {
@@ -73,6 +75,8 @@
     M_family_m              = 1 << M_family,
     T_family_m              = 1 << T_family,
     T1_model_m              = 1 << T1_model,
+    sparc5_instructions_m   = 1 << sparc5_instructions,
+    aes_instructions_m      = 1 << aes_instructions,
 
     generic_v8_m        = v8_instructions_m | hardware_mul32_m | hardware_div32_m | hardware_fsmuld_m,
     generic_v9_m        = generic_v8_m | v9_instructions_m,
@@ -123,6 +127,8 @@
   static bool has_vis3()                { return (_features & vis3_instructions_m) != 0; }
   static bool has_blk_init()            { return (_features & blk_init_instructions_m) != 0; }
   static bool has_cbcond()              { return (_features & cbcond_instructions_m) != 0; }
+  static bool has_sparc5_instr()        { return (_features & sparc5_instructions_m) != 0; }
+  static bool has_aes()                 { return (_features & aes_instructions_m) != 0; }
 
   static bool supports_compare_and_exchange()
                                         { return has_v9(); }
@@ -133,6 +139,7 @@
 
   static bool is_M_series()             { return is_M_family(_features); }
   static bool is_T4()                   { return is_T_family(_features) && has_cbcond(); }
+  static bool is_T7()                   { return is_T_family(_features) && has_sparc5_instr(); }
 
   // Fujitsu SPARC64
   static bool is_sparc64()              { return (_features & sparc64_family_m) != 0; }
@@ -152,7 +159,7 @@
   static const char* cpu_features()     { return _features_str; }
 
   static intx prefetch_data_size()  {
-    return is_T4() ? 32 : 64;  // default prefetch block size on sparc
+    return is_T4() && !is_T7() ? 32 : 64;  // default prefetch block size on sparc
   }
 
   // Prefetch
diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp
index f47c0b1..799be13 100644
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp
@@ -127,7 +127,7 @@
 
       if (MethodData::profile_return()) {
         // We're right after the type profile for the last
-        // argument. tmp is the number of cell left in the
+        // argument. tmp is the number of cells left in the
         // CallTypeData/VirtualCallTypeData to reach its end. Non null
         // if there's a return to profile.
         assert(ReturnTypeEntry::static_cell_count() < TypeStackSlotEntries::per_arg_count(), "can't move past ret type");
@@ -198,7 +198,7 @@
     // parameters. Collect profiling from last parameter down.
     // mdo start + parameters offset + array length - 1
     addptr(mdp, tmp1);
-    movptr(tmp1, Address(mdp, in_bytes(ArrayData::array_len_offset())));
+    movptr(tmp1, Address(mdp, ArrayData::array_len_offset()));
     decrement(tmp1, TypeStackSlotEntries::per_arg_count());
 
     Label loop;
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
index 12fccf9..1622fe5 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp
@@ -2403,6 +2403,9 @@
   //   c_rarg3   - r vector byte array address
   //   c_rarg4   - input length
   //
+  // Output:
+  //   rax       - input length
+  //
   address generate_cipherBlockChaining_encryptAESCrypt() {
     assert(UseAES, "need AES instructions and misaligned SSE support");
     __ align(CodeEntryAlignment);
@@ -2483,7 +2486,7 @@
     __ movdqu(Address(rvec, 0), xmm_result);     // final value of r stored in rvec of CipherBlockChaining object
 
     handleSOERegisters(false /*restoring*/);
-    __ movl(rax, 0);                             // return 0 (why?)
+    __ movptr(rax, len_param); // return length
     __ leave();                                  // required for proper stackwalking of RuntimeStub frame
     __ ret(0);
 
@@ -2557,6 +2560,9 @@
   //   c_rarg3   - r vector byte array address
   //   c_rarg4   - input length
   //
+  // Output:
+  //   rax       - input length
+  //
 
   address generate_cipherBlockChaining_decryptAESCrypt() {
     assert(UseAES, "need AES instructions and misaligned SSE support");
@@ -2650,7 +2656,7 @@
     __ movptr(rvec , rvec_param);                                     // restore this since used in loop
     __ movdqu(Address(rvec, 0), xmm_temp);                            // final value of r stored in rvec of CipherBlockChaining object
     handleSOERegisters(false /*restoring*/);
-    __ movl(rax, 0);                                                  // return 0 (why?)
+    __ movptr(rax, len_param); // return length
     __ leave();                                                       // required for proper stackwalking of RuntimeStub frame
     __ ret(0);
 
diff --git a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
index a166112..0adb0d3 100644
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp
@@ -3217,6 +3217,9 @@
   //   c_rarg3   - r vector byte array address
   //   c_rarg4   - input length
   //
+  // Output:
+  //   rax       - input length
+  //
   address generate_cipherBlockChaining_encryptAESCrypt() {
     assert(UseAES, "need AES instructions and misaligned SSE support");
     __ align(CodeEntryAlignment);
@@ -3232,7 +3235,7 @@
 #ifndef _WIN64
     const Register len_reg     = c_rarg4;  // src len (must be multiple of blocksize 16)
 #else
-    const Address  len_mem(rsp, 6 * wordSize);  // length is on stack on Win64
+    const Address  len_mem(rbp, 6 * wordSize);  // length is on stack on Win64
     const Register len_reg     = r10;      // pick the first volatile windows register
 #endif
     const Register pos         = rax;
@@ -3259,6 +3262,8 @@
     for (int i = 6; i <= XMM_REG_NUM_KEY_LAST; i++) {
       __ movdqu(xmm_save(i), as_XMMRegister(i));
     }
+#else
+    __ push(len_reg); // Save
 #endif
 
     const XMMRegister xmm_key_shuf_mask = xmm_temp;  // used temporarily to swap key bytes up front
@@ -3301,8 +3306,10 @@
     for (int i = 6; i <= XMM_REG_NUM_KEY_LAST; i++) {
       __ movdqu(as_XMMRegister(i), xmm_save(i));
     }
+    __ movl(rax, len_mem);
+#else
+    __ pop(rax); // return length
 #endif
-    __ movl(rax, 0); // return 0 (why?)
     __ leave(); // required for proper stackwalking of RuntimeStub frame
     __ ret(0);
 
@@ -3409,6 +3416,9 @@
   //   c_rarg3   - r vector byte array address
   //   c_rarg4   - input length
   //
+  // Output:
+  //   rax       - input length
+  //
 
   address generate_cipherBlockChaining_decryptAESCrypt_Parallel() {
     assert(UseAES, "need AES instructions and misaligned SSE support");
@@ -3427,7 +3437,7 @@
 #ifndef _WIN64
     const Register len_reg     = c_rarg4;  // src len (must be multiple of blocksize 16)
 #else
-    const Address  len_mem(rsp, 6 * wordSize);  // length is on stack on Win64
+    const Address  len_mem(rbp, 6 * wordSize);  // length is on stack on Win64
     const Register len_reg     = r10;      // pick the first volatile windows register
 #endif
     const Register pos         = rax;
@@ -3448,7 +3458,10 @@
     for (int i = 6; i <= XMM_REG_NUM_KEY_LAST; i++) {
       __ movdqu(xmm_save(i), as_XMMRegister(i));
     }
+#else
+    __ push(len_reg); // Save
 #endif
+
     // the java expanded key ordering is rotated one position from what we want
     // so we start from 0x10 here and hit 0x00 last
     const XMMRegister xmm_key_shuf_mask = xmm1;  // used temporarily to swap key bytes up front
@@ -3554,8 +3567,10 @@
     for (int i = 6; i <= XMM_REG_NUM_KEY_LAST; i++) {
       __ movdqu(as_XMMRegister(i), xmm_save(i));
     }
+    __ movl(rax, len_mem);
+#else
+    __ pop(rax); // return length
 #endif
-    __ movl(rax, 0); // return 0 (why?)
     __ leave(); // required for proper stackwalking of RuntimeStub frame
     __ ret(0);
 
diff --git a/hotspot/src/cpu/x86/vm/x86.ad b/hotspot/src/cpu/x86/vm/x86.ad
index c49d0e6..b0077a5 100644
--- a/hotspot/src/cpu/x86/vm/x86.ad
+++ b/hotspot/src/cpu/x86/vm/x86.ad
@@ -581,6 +581,12 @@
   return !AlignVector; // can be changed by flag
 }
 
+// x86 AES instructions are compatible with SunJCE expanded
+// keys, hence we do not need to pass the original key to stubs
+const bool Matcher::pass_original_key_for_aes() {
+  return false;
+}
+
 // Helper methods for MachSpillCopyNode::implementation().
 static int vec_mov_helper(CodeBuffer *cbuf, bool do_size, int src_lo, int dst_lo,
                           int src_hi, int dst_hi, uint ireg, outputStream* st) {
diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp
index 1bea784..47e5d16 100644
--- a/hotspot/src/os/bsd/vm/os_bsd.cpp
+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp
@@ -1557,6 +1557,17 @@
 }
 #endif /* !__APPLE__ */
 
+void* os::get_default_process_handle() {
+#ifdef __APPLE__
+  // MacOS X needs to use RTLD_FIRST instead of RTLD_LAZY
+  // to avoid finding unexpected symbols on second (or later)
+  // loads of a library.
+  return (void*)::dlopen(NULL, RTLD_FIRST);
+#else
+  return (void*)::dlopen(NULL, RTLD_LAZY);
+#endif
+}
+
 // XXX: Do we need a lock around this as per Linux?
 void* os::dll_lookup(void* handle, const char* name) {
   return dlsym(handle, name);
diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp
index 1bb3290..54149e1 100644
--- a/hotspot/src/os/linux/vm/os_linux.cpp
+++ b/hotspot/src/os/linux/vm/os_linux.cpp
@@ -2104,6 +2104,9 @@
   return res;
 }
 
+void* os::get_default_process_handle() {
+  return (void*)::dlopen(NULL, RTLD_LAZY);
+}
 
 static bool _print_ascii_file(const char* filename, outputStream* st) {
   int fd = ::open(filename, O_RDONLY);
diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp
index 6aae96e..6333317 100644
--- a/hotspot/src/os/posix/vm/os_posix.cpp
+++ b/hotspot/src/os/posix/vm/os_posix.cpp
@@ -262,10 +262,6 @@
   return ::fdopen(fd, mode);
 }
 
-void* os::get_default_process_handle() {
-  return (void*)::dlopen(NULL, RTLD_LAZY);
-}
-
 // Builds a platform dependent Agent_OnLoad_<lib_name> function name
 // which is used to find statically linked in agents.
 // Parameters:
diff --git a/hotspot/src/os/solaris/vm/os_solaris.cpp b/hotspot/src/os/solaris/vm/os_solaris.cpp
index 8e5984f..a4d0178 100644
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp
@@ -2146,6 +2146,10 @@
   return dlsym(handle, name);
 }
 
+void* os::get_default_process_handle() {
+  return (void*)::dlopen(NULL, RTLD_LAZY);
+}
+
 int os::stat(const char *path, struct stat *sbuf) {
   char pathbuf[MAX_PATH];
   if (strlen(path) > MAX_PATH - 1) {
diff --git a/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp b/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp
index e46e215..b6639c9 100644
--- a/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp
@@ -75,13 +75,19 @@
     do_sysinfo(SI_ARCHITECTURE_64, "sparcv9", &features, generic_v9_m);
 
     // Extract valid instruction set extensions.
-    uint_t av;
-    uint_t avn = os::Solaris::getisax(&av, 1);
-    assert(avn == 1, "should only return one av");
+    uint_t avs[2];
+    uint_t avn = os::Solaris::getisax(avs, 2);
+    assert(avn <= 2, "should return two or less av's");
+    uint_t av = avs[0];
 
 #ifndef PRODUCT
-    if (PrintMiscellaneous && Verbose)
-      tty->print_cr("getisax(2) returned: " PTR32_FORMAT, av);
+    if (PrintMiscellaneous && Verbose) {
+      tty->print("getisax(2) returned: " PTR32_FORMAT, av);
+      if (avn > 1) {
+        tty->print(", " PTR32_FORMAT, avs[1]);
+      }
+      tty->cr();
+    }
 #endif
 
     if (av & AV_SPARC_MUL32)  features |= hardware_mul32_m;
@@ -91,6 +97,13 @@
     if (av & AV_SPARC_POPC)   features |= hardware_popc_m;
     if (av & AV_SPARC_VIS)    features |= vis1_instructions_m;
     if (av & AV_SPARC_VIS2)   features |= vis2_instructions_m;
+    if (avn > 1) {
+      uint_t av2 = avs[1];
+#ifndef AV2_SPARC_SPARC5
+#define AV2_SPARC_SPARC5 0x00000008 /* The 29 new fp and sub instructions */
+#endif
+      if (av2 & AV2_SPARC_SPARC5)       features |= sparc5_instructions_m;
+    }
 
     // Next values are not defined before Solaris 10
     // but Solaris 8 is used for jdk6 update builds.
@@ -119,6 +132,11 @@
 #endif
     if (av & AV_SPARC_CBCOND)       features |= cbcond_instructions_m;
 
+#ifndef AV_SPARC_AES
+#define AV_SPARC_AES 0x00020000  /* aes instrs supported */
+#endif
+    if (av & AV_SPARC_AES)       features |= aes_instructions_m;
+
   } else {
     // getisax(2) failed, use the old legacy code.
 #ifndef PRODUCT
diff --git a/hotspot/src/share/vm/c1/c1_Compilation.hpp b/hotspot/src/share/vm/c1/c1_Compilation.hpp
index 679ff60..8953d52 100644
--- a/hotspot/src/share/vm/c1/c1_Compilation.hpp
+++ b/hotspot/src/share/vm/c1/c1_Compilation.hpp
@@ -259,6 +259,9 @@
   }
 
   ciKlass* cha_exact_type(ciType* type);
+
+  // Dump inlining replay data to the stream.
+  void dump_inline_data(outputStream* out) { /* do nothing now */ }
 };
 
 
diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
index 1bfd4ba..8d7d4e3 100644
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
@@ -4338,11 +4338,15 @@
 #endif // PRODUCT
 
 void GraphBuilder::profile_call(ciMethod* callee, Value recv, ciKlass* known_holder, Values* obj_args, bool inlined) {
-  // A default method's holder is an interface
-  if (known_holder != NULL && known_holder->is_interface()) {
-    assert(known_holder->is_instance_klass() && ((ciInstanceKlass*)known_holder)->has_default_methods(), "should be default method");
-    known_holder = NULL;
+  assert(known_holder == NULL || (known_holder->is_instance_klass() &&
+                                  (!known_holder->is_interface() ||
+                                   ((ciInstanceKlass*)known_holder)->has_default_methods())), "should be default method");
+  if (known_holder != NULL) {
+    if (known_holder->exact_klass() == NULL) {
+      known_holder = compilation()->cha_exact_type(known_holder);
+    }
   }
+
   append(new ProfileCall(method(), bci(), callee, recv, known_holder, obj_args, inlined));
 }
 
diff --git a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp
index 7f1e075..5a49c0d 100644
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.cpp
@@ -858,9 +858,7 @@
 
 void LIR_Assembler::verify_oop_map(CodeEmitInfo* info) {
 #ifndef PRODUCT
-  if (VerifyOopMaps || VerifyOops) {
-    bool v = VerifyOops;
-    VerifyOops = true;
+  if (VerifyOops) {
     OopMapStream s(info->oop_map());
     while (!s.is_done()) {
       OopMapValue v = s.current();
@@ -883,7 +881,6 @@
 
       s.next();
     }
-    VerifyOops = v;
   }
 #endif
 }
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
index 8eb0189..5ed0476 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
@@ -3288,7 +3288,10 @@
   ciSignature* signature_at_call = NULL;
   x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call);
 
-  ciKlass* exact = profile_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()),
+  // The offset within the MDO of the entry to update may be too large
+  // to be used in load/store instructions on some platforms. So have
+  // profile_type() compute the address of the profile in a register.
+  ciKlass* exact = profile_type(md, md->byte_offset_of_slot(data, ret->type_offset()), 0,
                                 ret->type(), x->ret(), mdp,
                                 !x->needs_null_check(),
                                 signature_at_call->return_type()->as_klass(),
diff --git a/hotspot/src/share/vm/c1/c1_globals.hpp b/hotspot/src/share/vm/c1/c1_globals.hpp
index a6b5fec..66476716 100644
--- a/hotspot/src/share/vm/c1/c1_globals.hpp
+++ b/hotspot/src/share/vm/c1/c1_globals.hpp
@@ -269,9 +269,6 @@
   develop(bool, PrintNotLoaded, false,                                      \
           "Prints where classes are not loaded during code generation")     \
                                                                             \
-  notproduct(bool, VerifyOopMaps, false,                                    \
-          "Adds oopmap verification code to the generated code")            \
-                                                                            \
   develop(bool, PrintLIR, false,                                            \
           "print low-level IR")                                             \
                                                                             \
diff --git a/hotspot/src/share/vm/ci/ciEnv.cpp b/hotspot/src/share/vm/ci/ciEnv.cpp
index 9cc86db..dcb3472 100644
--- a/hotspot/src/share/vm/ci/ciEnv.cpp
+++ b/hotspot/src/share/vm/ci/ciEnv.cpp
@@ -1147,6 +1147,33 @@
 
 // Don't change thread state and acquire any locks.
 // Safe to call from VM error reporter.
+
+void ciEnv::dump_compile_data(outputStream* out) {
+  CompileTask* task = this->task();
+  Method* method = task->method();
+  int entry_bci = task->osr_bci();
+  int comp_level = task->comp_level();
+  out->print("compile %s %s %s %d %d",
+                method->klass_name()->as_quoted_ascii(),
+                method->name()->as_quoted_ascii(),
+                method->signature()->as_quoted_ascii(),
+                entry_bci, comp_level);
+  if (compiler_data() != NULL) {
+    if (is_c2_compile(comp_level)) { // C2 or Shark
+#ifdef COMPILER2
+      // Dump C2 inlining data.
+      ((Compile*)compiler_data())->dump_inline_data(out);
+#endif
+    } else if (is_c1_compile(comp_level)) { // C1
+#ifdef COMPILER1
+      // Dump C1 inlining data.
+      ((Compilation*)compiler_data())->dump_inline_data(out);
+#endif
+    }
+  }
+  out->cr();
+}
+
 void ciEnv::dump_replay_data_unsafe(outputStream* out) {
   ResourceMark rm;
 #if INCLUDE_JVMTI
@@ -1160,16 +1187,7 @@
   for (int i = 0; i < objects->length(); i++) {
     objects->at(i)->dump_replay_data(out);
   }
-  CompileTask* task = this->task();
-  Method* method = task->method();
-  int entry_bci = task->osr_bci();
-  int comp_level = task->comp_level();
-  // Klass holder = method->method_holder();
-  out->print_cr("compile %s %s %s %d %d",
-                method->klass_name()->as_quoted_ascii(),
-                method->name()->as_quoted_ascii(),
-                method->signature()->as_quoted_ascii(),
-                entry_bci, comp_level);
+  dump_compile_data(out);
   out->flush();
 }
 
@@ -1179,3 +1197,45 @@
     dump_replay_data_unsafe(out);
   )
 }
+
+void ciEnv::dump_replay_data(int compile_id) {
+  static char buffer[O_BUFLEN];
+  int ret = jio_snprintf(buffer, O_BUFLEN, "replay_pid%p_compid%d.log", os::current_process_id(), compile_id);
+  if (ret > 0) {
+    int fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
+    if (fd != -1) {
+      FILE* replay_data_file = os::open(fd, "w");
+      if (replay_data_file != NULL) {
+        fileStream replay_data_stream(replay_data_file, /*need_close=*/true);
+        dump_replay_data(&replay_data_stream);
+        tty->print("# Compiler replay data is saved as: ");
+        tty->print_cr(buffer);
+      } else {
+        tty->print_cr("# Can't open file to dump replay data.");
+      }
+    }
+  }
+}
+
+void ciEnv::dump_inline_data(int compile_id) {
+  static char buffer[O_BUFLEN];
+  int ret = jio_snprintf(buffer, O_BUFLEN, "inline_pid%p_compid%d.log", os::current_process_id(), compile_id);
+  if (ret > 0) {
+    int fd = open(buffer, O_RDWR | O_CREAT | O_TRUNC, 0666);
+    if (fd != -1) {
+      FILE* inline_data_file = os::open(fd, "w");
+      if (inline_data_file != NULL) {
+        fileStream replay_data_stream(inline_data_file, /*need_close=*/true);
+        GUARDED_VM_ENTRY(
+          MutexLocker ml(Compile_lock);
+          dump_compile_data(&replay_data_stream);
+        )
+        replay_data_stream.flush();
+        tty->print("# Compiler inline data is saved as: ");
+        tty->print_cr(buffer);
+      } else {
+        tty->print_cr("# Can't open file to dump inline data.");
+      }
+    }
+  }
+}
diff --git a/hotspot/src/share/vm/ci/ciEnv.hpp b/hotspot/src/share/vm/ci/ciEnv.hpp
index 8d9d48f..5a0bd1f 100644
--- a/hotspot/src/share/vm/ci/ciEnv.hpp
+++ b/hotspot/src/share/vm/ci/ciEnv.hpp
@@ -451,8 +451,11 @@
   void metadata_do(void f(Metadata*)) { _factory->metadata_do(f); }
 
   // Dump the compilation replay data for the ciEnv to the stream.
+  void dump_replay_data(int compile_id);
+  void dump_inline_data(int compile_id);
   void dump_replay_data(outputStream* out);
   void dump_replay_data_unsafe(outputStream* out);
+  void dump_compile_data(outputStream* out);
 };
 
 #endif // SHARE_VM_CI_CIENV_HPP
diff --git a/hotspot/src/share/vm/ci/ciMethod.cpp b/hotspot/src/share/vm/ci/ciMethod.cpp
index dd41164..923331e 100644
--- a/hotspot/src/share/vm/ci/ciMethod.cpp
+++ b/hotspot/src/share/vm/ci/ciMethod.cpp
@@ -1357,15 +1357,21 @@
 
 #undef FETCH_FLAG_FROM_VM
 
+void ciMethod::dump_name_as_ascii(outputStream* st) {
+  Method* method = get_Method();
+  st->print("%s %s %s",
+            method->klass_name()->as_quoted_ascii(),
+            method->name()->as_quoted_ascii(),
+            method->signature()->as_quoted_ascii());
+}
+
 void ciMethod::dump_replay_data(outputStream* st) {
   ResourceMark rm;
   Method* method = get_Method();
   MethodCounters* mcs = method->method_counters();
-  Klass*  holder = method->method_holder();
-  st->print_cr("ciMethod %s %s %s %d %d %d %d %d",
-               holder->name()->as_quoted_ascii(),
-               method->name()->as_quoted_ascii(),
-               method->signature()->as_quoted_ascii(),
+  st->print("ciMethod ");
+  dump_name_as_ascii(st);
+  st->print_cr(" %d %d %d %d %d",
                mcs == NULL ? 0 : mcs->invocation_counter()->raw_counter(),
                mcs == NULL ? 0 : mcs->backedge_counter()->raw_counter(),
                interpreter_invocation_count(),
diff --git a/hotspot/src/share/vm/ci/ciMethod.hpp b/hotspot/src/share/vm/ci/ciMethod.hpp
index 604babb..d7ddba8 100644
--- a/hotspot/src/share/vm/ci/ciMethod.hpp
+++ b/hotspot/src/share/vm/ci/ciMethod.hpp
@@ -310,10 +310,13 @@
   bool is_accessor    () const;
   bool is_initializer () const;
   bool can_be_statically_bound() const           { return _can_be_statically_bound; }
-  void dump_replay_data(outputStream* st);
   bool is_boxing_method() const;
   bool is_unboxing_method() const;
 
+  // Replay data methods
+  void dump_name_as_ascii(outputStream* st);
+  void dump_replay_data(outputStream* st);
+
   // Print the bytecodes of this method.
   void print_codes_on(outputStream* st);
   void print_codes() {
diff --git a/hotspot/src/share/vm/ci/ciReplay.cpp b/hotspot/src/share/vm/ci/ciReplay.cpp
index 3c8ccf9..e880815 100644
--- a/hotspot/src/share/vm/ci/ciReplay.cpp
+++ b/hotspot/src/share/vm/ci/ciReplay.cpp
@@ -24,6 +24,8 @@
 #include "precompiled.hpp"
 #include "ci/ciMethodData.hpp"
 #include "ci/ciReplay.hpp"
+#include "ci/ciSymbol.hpp"
+#include "ci/ciKlass.hpp"
 #include "ci/ciUtilities.hpp"
 #include "compiler/compileBroker.hpp"
 #include "memory/allocation.inline.hpp"
@@ -37,74 +39,107 @@
 // ciReplay
 
 typedef struct _ciMethodDataRecord {
-  const char* klass;
-  const char* method;
-  const char* signature;
-  int state;
-  int current_mileage;
-  intptr_t* data;
-  int data_length;
-  char* orig_data;
-  int orig_data_length;
-  int oops_length;
-  jobject* oops_handles;
-  int* oops_offsets;
+  const char* _klass_name;
+  const char* _method_name;
+  const char* _signature;
+
+  int _state;
+  int _current_mileage;
+
+  intptr_t* _data;
+  char*     _orig_data;
+  jobject*  _oops_handles;
+  int*      _oops_offsets;
+  int       _data_length;
+  int       _orig_data_length;
+  int       _oops_length;
 } ciMethodDataRecord;
 
 typedef struct _ciMethodRecord {
-  const char* klass;
-  const char* method;
-  const char* signature;
-  int instructions_size;
-  int interpreter_invocation_count;
-  int interpreter_throwout_count;
-  int invocation_counter;
-  int backedge_counter;
+  const char* _klass_name;
+  const char* _method_name;
+  const char* _signature;
+
+  int _instructions_size;
+  int _interpreter_invocation_count;
+  int _interpreter_throwout_count;
+  int _invocation_counter;
+  int _backedge_counter;
 } ciMethodRecord;
 
-class CompileReplay;
+typedef struct _ciInlineRecord {
+  const char* _klass_name;
+  const char* _method_name;
+  const char* _signature;
+
+  int _inline_depth;
+  int _inline_bci;
+} ciInlineRecord;
+
+class  CompileReplay;
 static CompileReplay* replay_state;
 
 class CompileReplay : public StackObj {
  private:
-  FILE*   stream;
-  Thread* thread;
-  Handle  protection_domain;
-  Handle  loader;
+  FILE*   _stream;
+  Thread* _thread;
+  Handle  _protection_domain;
+  Handle  _loader;
 
-  GrowableArray<ciMethodRecord*>     ci_method_records;
-  GrowableArray<ciMethodDataRecord*> ci_method_data_records;
+  GrowableArray<ciMethodRecord*>     _ci_method_records;
+  GrowableArray<ciMethodDataRecord*> _ci_method_data_records;
+
+  // Use pointer because we may need to return inline records
+  // without destroying them.
+  GrowableArray<ciInlineRecord*>*    _ci_inline_records;
 
   const char* _error_message;
 
-  char* bufptr;
-  char* buffer;
-  int   buffer_length;
-  int   buffer_end;
-  int   line_no;
+  char* _bufptr;
+  char* _buffer;
+  int   _buffer_length;
+  int   _buffer_pos;
+
+  // "compile" data
+  ciKlass* _iklass;
+  Method*  _imethod;
+  int      _entry_bci;
+  int      _comp_level;
 
  public:
   CompileReplay(const char* filename, TRAPS) {
-    thread = THREAD;
-    loader = Handle(thread, SystemDictionary::java_system_loader());
-    stream = fopen(filename, "rt");
-    if (stream == NULL) {
+    _thread = THREAD;
+    _loader = Handle(_thread, SystemDictionary::java_system_loader());
+    _protection_domain = Handle();
+
+    _stream = fopen(filename, "rt");
+    if (_stream == NULL) {
       fprintf(stderr, "ERROR: Can't open replay file %s\n", filename);
     }
-    buffer_length = 32;
-    buffer = NEW_RESOURCE_ARRAY(char, buffer_length);
+
+    _ci_inline_records = NULL;
     _error_message = NULL;
 
+    _buffer_length = 32;
+    _buffer = NEW_RESOURCE_ARRAY(char, _buffer_length);
+    _bufptr = _buffer;
+    _buffer_pos = 0;
+
+    _imethod = NULL;
+    _iklass  = NULL;
+    _entry_bci  = 0;
+    _comp_level = 0;
+
     test();
   }
 
   ~CompileReplay() {
-    if (stream != NULL) fclose(stream);
+    if (_stream != NULL) fclose(_stream);
   }
 
   void test() {
-    strcpy(buffer, "1 2 foo 4 bar 0x9 \"this is it\"");
-    bufptr = buffer;
+    strcpy(_buffer, "1 2 foo 4 bar 0x9 \"this is it\"");
+    _bufptr = _buffer;
     assert(parse_int("test") == 1, "what");
     assert(parse_int("test") == 2, "what");
     assert(strcmp(parse_string(), "foo") == 0, "what");
@@ -115,18 +150,18 @@
   }
 
   bool had_error() {
-    return _error_message != NULL || thread->has_pending_exception();
+    return _error_message != NULL || _thread->has_pending_exception();
   }
 
   bool can_replay() {
-    return !(stream == NULL || had_error());
+    return !(_stream == NULL || had_error());
   }
 
   void report_error(const char* msg) {
     _error_message = msg;
-    // Restore the buffer contents for error reporting
-    for (int i = 0; i < buffer_end; i++) {
-      if (buffer[i] == '\0') buffer[i] = ' ';
+    // Restore the _buffer contents for error reporting
+    for (int i = 0; i < _buffer_pos; i++) {
+      if (_buffer[i] == '\0') _buffer[i] = ' ';
     }
   }
 
@@ -137,10 +172,10 @@
 
     int v = 0;
     int read;
-    if (sscanf(bufptr, "%i%n", &v, &read) != 1) {
+    if (sscanf(_bufptr, "%i%n", &v, &read) != 1) {
       report_error(label);
     } else {
-      bufptr += read;
+      _bufptr += read;
     }
     return v;
   }
@@ -152,31 +187,31 @@
 
     intptr_t v = 0;
     int read;
-    if (sscanf(bufptr, INTPTR_FORMAT "%n", &v, &read) != 1) {
+    if (sscanf(_bufptr, INTPTR_FORMAT "%n", &v, &read) != 1) {
       report_error(label);
     } else {
-      bufptr += read;
+      _bufptr += read;
     }
     return v;
   }
 
   void skip_ws() {
     // Skip any leading whitespace
-    while (*bufptr == ' ' || *bufptr == '\t') {
-      bufptr++;
+    while (*_bufptr == ' ' || *_bufptr == '\t') {
+      _bufptr++;
     }
   }
 
 
   char* scan_and_terminate(char delim) {
-    char* str = bufptr;
-    while (*bufptr != delim && *bufptr != '\0') {
-      bufptr++;
+    char* str = _bufptr;
+    while (*_bufptr != delim && *_bufptr != '\0') {
+      _bufptr++;
     }
-    if (*bufptr != '\0') {
-      *bufptr++ = '\0';
+    if (*_bufptr != '\0') {
+      *_bufptr++ = '\0';
     }
-    if (bufptr == str) {
+    if (_bufptr == str) {
       // nothing here
       return NULL;
     }
@@ -195,8 +230,8 @@
 
     skip_ws();
 
-    if (*bufptr == '"') {
-      bufptr++;
+    if (*_bufptr == '"') {
+      _bufptr++;
       return scan_and_terminate('"');
     } else {
       return scan_and_terminate(' ');
@@ -273,7 +308,12 @@
     const char* str = parse_escaped_string();
     Symbol* klass_name = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL);
     if (klass_name != NULL) {
-      Klass* k = SystemDictionary::resolve_or_fail(klass_name, loader, protection_domain, true, THREAD);
+      Klass* k = NULL;
+      if (_iklass != NULL) {
+        k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding();
+      } else {
+        k = SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, THREAD);
+      }
       if (HAS_PENDING_EXCEPTION) {
         oop throwable = PENDING_EXCEPTION;
         java_lang_Throwable::print(throwable, tty);
@@ -289,7 +329,7 @@
   // Lookup a klass
   Klass* resolve_klass(const char* klass, TRAPS) {
     Symbol* klass_name = SymbolTable::lookup(klass, (int)strlen(klass), CHECK_NULL);
-    return SystemDictionary::resolve_or_fail(klass_name, loader, protection_domain, true, CHECK_NULL);
+    return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, CHECK_NULL);
   }
 
   // Parse the standard tuple of <klass> <name> <signature>
@@ -304,40 +344,45 @@
     return m;
   }
 
-  // Process each line of the replay file executing each command until
-  // the file ends.
-  void process(TRAPS) {
-    line_no = 1;
-    int pos = 0;
-    int c = getc(stream);
+  int get_line(int c) {
     while(c != EOF) {
-      if (pos + 1 >= buffer_length) {
-        int newl = buffer_length * 2;
-        char* newb = NEW_RESOURCE_ARRAY(char, newl);
-        memcpy(newb, buffer, pos);
-        buffer = newb;
-        buffer_length = newl;
+      if (_buffer_pos + 1 >= _buffer_length) {
+        int new_length = _buffer_length * 2;
+        // Next call will throw error in case of OOM.
+        _buffer = REALLOC_RESOURCE_ARRAY(char, _buffer, _buffer_length, new_length);
+        _buffer_length = new_length;
       }
       if (c == '\n') {
-        // null terminate it, reset the pointer and process the line
-        buffer[pos] = '\0';
-        buffer_end = pos++;
-        bufptr = buffer;
-        process_command(CHECK);
-        if (had_error()) {
-          tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message);
-          tty->print_cr("%s", buffer);
-          return;
-        }
-        pos = 0;
-        buffer_end = 0;
-        line_no++;
+        c = getc(_stream); // get next char
+        break;
       } else if (c == '\r') {
         // skip LF
       } else {
-        buffer[pos++] = c;
+        _buffer[_buffer_pos++] = c;
       }
-      c = getc(stream);
+      c = getc(_stream);
+    }
+    // null terminate it, reset the pointer
+    _buffer[_buffer_pos] = '\0'; // NL or EOF
+    _buffer_pos = 0;
+    _bufptr = _buffer;
+    return c;
+  }
+
+  // Process each line of the replay file executing each command until
+  // the file ends.
+  void process(TRAPS) {
+    int line_no = 1;
+    int c = getc(_stream);
+    while(c != EOF) {
+      c = get_line(c);
+      process_command(CHECK);
+      if (had_error()) {
+        tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message);
+        tty->print_cr("%s", _buffer);
+        return;
+      }
+      line_no++;
     }
   }
 
@@ -396,7 +441,37 @@
     return true;
   }
 
-  // compile <klass> <name> <signature> <entry_bci> <comp_level>
+  // compile <klass> <name> <signature> <entry_bci> <comp_level> inline <count> <depth> <bci> <klass> <name> <signature> ...
+  void* process_inline(ciMethod* imethod, Method* m, int entry_bci, int comp_level, TRAPS) {
+    _imethod    = m;
+    _iklass     = imethod->holder();
+    _entry_bci  = entry_bci;
+    _comp_level = comp_level;
+    int line_no = 1;
+    int c = getc(_stream);
+    while(c != EOF) {
+      c = get_line(c);
+      // Expecting only lines with "compile" command in inline replay file.
+      char* cmd = parse_string();
+      if (cmd == NULL || strcmp("compile", cmd) != 0) {
+        return NULL;
+      }
+      process_compile(CHECK_NULL);
+      if (had_error()) {
+        tty->print_cr("Error while parsing line %d: %s\n", line_no, _error_message);
+        tty->print_cr("%s", _buffer);
+        return NULL;
+      }
+      if (_ci_inline_records != NULL && _ci_inline_records->length() > 0) {
+        // Found inlining record for the requested method.
+        return _ci_inline_records;
+      }
+      line_no++;
+    }
+    return NULL;
+  }
+
+  // compile <klass> <name> <signature> <entry_bci> <comp_level> inline <count> <depth> <bci> <klass> <name> <signature> ...
   void process_compile(TRAPS) {
     Method* method = parse_method(CHECK);
     if (had_error()) return;
@@ -410,6 +485,43 @@
     if (!is_valid_comp_level(comp_level)) {
       return;
     }
+    if (_imethod != NULL) {
+      // Replay Inlining
+      if (entry_bci != _entry_bci || comp_level != _comp_level) {
+        return;
+      }
+      const char* iklass_name  = _imethod->method_holder()->name()->as_utf8();
+      const char* imethod_name = _imethod->name()->as_utf8();
+      const char* isignature   = _imethod->signature()->as_utf8();
+      const char* klass_name   = method->method_holder()->name()->as_utf8();
+      const char* method_name  = method->name()->as_utf8();
+      const char* signature    = method->signature()->as_utf8();
+      if (strcmp(iklass_name,  klass_name)  != 0 ||
+          strcmp(imethod_name, method_name) != 0 ||
+          strcmp(isignature,   signature)   != 0) {
+        return;
+      }
+    }
+    int inline_count = 0;
+    if (parse_tag_and_count("inline", inline_count)) {
+      // Record inlining data
+      _ci_inline_records = new GrowableArray<ciInlineRecord*>();
+      for (int i = 0; i < inline_count; i++) {
+        int depth = parse_int("inline_depth");
+        int bci = parse_int("inline_bci");
+        if (had_error()) {
+          break;
+        }
+        Method* inl_method = parse_method(CHECK);
+        if (had_error()) {
+          break;
+        }
+        new_ciInlineRecord(inl_method, bci, depth);
+      }
+    }
+    if (_imethod != NULL) {
+      return; // Replay Inlining
+    }
     Klass* k = method->method_holder();
     ((InstanceKlass*)k)->initialize(THREAD);
     if (HAS_PENDING_EXCEPTION) {
@@ -442,11 +554,11 @@
     Method* method = parse_method(CHECK);
     if (had_error()) return;
     ciMethodRecord* rec = new_ciMethod(method);
-    rec->invocation_counter = parse_int("invocation_counter");
-    rec->backedge_counter = parse_int("backedge_counter");
-    rec->interpreter_invocation_count = parse_int("interpreter_invocation_count");
-    rec->interpreter_throwout_count = parse_int("interpreter_throwout_count");
-    rec->instructions_size = parse_int("instructions_size");
+    rec->_invocation_counter = parse_int("invocation_counter");
+    rec->_backedge_counter = parse_int("backedge_counter");
+    rec->_interpreter_invocation_count = parse_int("interpreter_invocation_count");
+    rec->_interpreter_throwout_count = parse_int("interpreter_throwout_count");
+    rec->_instructions_size = parse_int("instructions_size");
   }
 
   // ciMethodData <klass> <name> <signature> <state> <current mileage> orig <length> # # ... data <length> # # ... oops <length>
@@ -471,32 +583,32 @@
 
     // collect and record all the needed information for later
     ciMethodDataRecord* rec = new_ciMethodData(method);
-    rec->state = parse_int("state");
-    rec->current_mileage = parse_int("current_mileage");
+    rec->_state = parse_int("state");
+    rec->_current_mileage = parse_int("current_mileage");
 
-    rec->orig_data = parse_data("orig", rec->orig_data_length);
-    if (rec->orig_data == NULL) {
+    rec->_orig_data = parse_data("orig", rec->_orig_data_length);
+    if (rec->_orig_data == NULL) {
       return;
     }
-    rec->data = parse_intptr_data("data", rec->data_length);
-    if (rec->data == NULL) {
+    rec->_data = parse_intptr_data("data", rec->_data_length);
+    if (rec->_data == NULL) {
       return;
     }
-    if (!parse_tag_and_count("oops", rec->oops_length)) {
+    if (!parse_tag_and_count("oops", rec->_oops_length)) {
       return;
     }
-    rec->oops_handles = NEW_RESOURCE_ARRAY(jobject, rec->oops_length);
-    rec->oops_offsets = NEW_RESOURCE_ARRAY(int, rec->oops_length);
-    for (int i = 0; i < rec->oops_length; i++) {
+    rec->_oops_handles = NEW_RESOURCE_ARRAY(jobject, rec->_oops_length);
+    rec->_oops_offsets = NEW_RESOURCE_ARRAY(int, rec->_oops_length);
+    for (int i = 0; i < rec->_oops_length; i++) {
       int offset = parse_int("offset");
       if (had_error()) {
         return;
       }
       Klass* k = parse_klass(CHECK);
-      rec->oops_offsets[i] = offset;
+      rec->_oops_offsets[i] = offset;
       KlassHandle *kh = NEW_C_HEAP_OBJ(KlassHandle, mtCompiler);
       ::new ((void*)kh) KlassHandle(THREAD, k);
-      rec->oops_handles[i] = (jobject)kh;
+      rec->_oops_handles[i] = (jobject)kh;
     }
   }
 
@@ -570,6 +682,9 @@
         case JVM_CONSTANT_Utf8:
         case JVM_CONSTANT_Integer:
         case JVM_CONSTANT_Float:
+        case JVM_CONSTANT_MethodHandle:
+        case JVM_CONSTANT_MethodType:
+        case JVM_CONSTANT_InvokeDynamic:
           if (tag != cp->tag_at(i).value()) {
             report_error("tag mismatch: wrong class files?");
             return;
@@ -729,10 +844,10 @@
   // Create and initialize a record for a ciMethod
   ciMethodRecord* new_ciMethod(Method* method) {
     ciMethodRecord* rec = NEW_RESOURCE_OBJ(ciMethodRecord);
-    rec->klass =  method->method_holder()->name()->as_utf8();
-    rec->method = method->name()->as_utf8();
-    rec->signature = method->signature()->as_utf8();
-    ci_method_records.append(rec);
+    rec->_klass_name =  method->method_holder()->name()->as_utf8();
+    rec->_method_name = method->name()->as_utf8();
+    rec->_signature = method->signature()->as_utf8();
+    _ci_method_records.append(rec);
     return rec;
   }
 
@@ -741,11 +856,11 @@
     const char* klass_name =  method->method_holder()->name()->as_utf8();
     const char* method_name = method->name()->as_utf8();
     const char* signature = method->signature()->as_utf8();
-    for (int i = 0; i < ci_method_records.length(); i++) {
-      ciMethodRecord* rec = ci_method_records.at(i);
-      if (strcmp(rec->klass, klass_name) == 0 &&
-          strcmp(rec->method, method_name) == 0 &&
-          strcmp(rec->signature, signature) == 0) {
+    for (int i = 0; i < _ci_method_records.length(); i++) {
+      ciMethodRecord* rec = _ci_method_records.at(i);
+      if (strcmp(rec->_klass_name, klass_name) == 0 &&
+          strcmp(rec->_method_name, method_name) == 0 &&
+          strcmp(rec->_signature, signature) == 0) {
         return rec;
       }
     }
@@ -755,10 +870,10 @@
   // Create and initialize a record for a ciMethodData
   ciMethodDataRecord* new_ciMethodData(Method* method) {
     ciMethodDataRecord* rec = NEW_RESOURCE_OBJ(ciMethodDataRecord);
-    rec->klass =  method->method_holder()->name()->as_utf8();
-    rec->method = method->name()->as_utf8();
-    rec->signature = method->signature()->as_utf8();
-    ci_method_data_records.append(rec);
+    rec->_klass_name =  method->method_holder()->name()->as_utf8();
+    rec->_method_name = method->name()->as_utf8();
+    rec->_signature = method->signature()->as_utf8();
+    _ci_method_data_records.append(rec);
     return rec;
   }
 
@@ -767,25 +882,65 @@
     const char* klass_name =  method->method_holder()->name()->as_utf8();
     const char* method_name = method->name()->as_utf8();
     const char* signature = method->signature()->as_utf8();
-    for (int i = 0; i < ci_method_data_records.length(); i++) {
-      ciMethodDataRecord* rec = ci_method_data_records.at(i);
-      if (strcmp(rec->klass, klass_name) == 0 &&
-          strcmp(rec->method, method_name) == 0 &&
-          strcmp(rec->signature, signature) == 0) {
+    for (int i = 0; i < _ci_method_data_records.length(); i++) {
+      ciMethodDataRecord* rec = _ci_method_data_records.at(i);
+      if (strcmp(rec->_klass_name, klass_name) == 0 &&
+          strcmp(rec->_method_name, method_name) == 0 &&
+          strcmp(rec->_signature, signature) == 0) {
         return rec;
       }
     }
     return NULL;
   }
 
+  // Create and initialize a record for a ciInlineRecord
+  ciInlineRecord* new_ciInlineRecord(Method* method, int bci, int depth) {
+    ciInlineRecord* rec = NEW_RESOURCE_OBJ(ciInlineRecord);
+    rec->_klass_name =  method->method_holder()->name()->as_utf8();
+    rec->_method_name = method->name()->as_utf8();
+    rec->_signature = method->signature()->as_utf8();
+    rec->_inline_bci = bci;
+    rec->_inline_depth = depth;
+    _ci_inline_records->append(rec);
+    return rec;
+  }
+
+  // Lookup inlining data for a ciMethod
+  ciInlineRecord* find_ciInlineRecord(Method* method, int bci, int depth) {
+    if (_ci_inline_records != NULL) {
+      return find_ciInlineRecord(_ci_inline_records, method, bci, depth);
+    }
+    return NULL;
+  }
+
+  static ciInlineRecord* find_ciInlineRecord(GrowableArray<ciInlineRecord*>*  records,
+                                      Method* method, int bci, int depth) {
+    if (records != NULL) {
+      const char* klass_name  = method->method_holder()->name()->as_utf8();
+      const char* method_name = method->name()->as_utf8();
+      const char* signature   = method->signature()->as_utf8();
+      for (int i = 0; i < records->length(); i++) {
+        ciInlineRecord* rec = records->at(i);
+        if ((rec->_inline_bci == bci) &&
+            (rec->_inline_depth == depth) &&
+            (strcmp(rec->_klass_name, klass_name) == 0) &&
+            (strcmp(rec->_method_name, method_name) == 0) &&
+            (strcmp(rec->_signature, signature) == 0)) {
+          return rec;
+        }
+      }
+    }
+    return NULL;
+  }
+
   const char* error_message() {
     return _error_message;
   }
 
   void reset() {
     _error_message = NULL;
-    ci_method_records.clear();
-    ci_method_data_records.clear();
+    _ci_method_records.clear();
+    _ci_method_data_records.clear();
   }
 
   // Take an ascii string contain \u#### escapes and convert it to utf8
@@ -845,6 +1000,37 @@
   vm_exit(exit_code);
 }
 
+void* ciReplay::load_inline_data(ciMethod* method, int entry_bci, int comp_level) {
+  if (FLAG_IS_DEFAULT(InlineDataFile)) {
+    tty->print_cr("ERROR: no inline replay data file specified (use -XX:InlineDataFile=inline_pid12345.txt).");
+    return NULL;
+  }
+
+  VM_ENTRY_MARK;
+  // Load and parse the replay data
+  CompileReplay rp(InlineDataFile, THREAD);
+  if (!rp.can_replay()) {
+    tty->print_cr("ciReplay: !rp.can_replay()");
+    return NULL;
+  }
+  void* data = rp.process_inline(method, method->get_Method(), entry_bci, comp_level, THREAD);
+  if (HAS_PENDING_EXCEPTION) {
+    oop throwable = PENDING_EXCEPTION;
+    CLEAR_PENDING_EXCEPTION;
+    java_lang_Throwable::print(throwable, tty);
+    tty->cr();
+    java_lang_Throwable::print_stack_trace(throwable, tty);
+    tty->cr();
+    return NULL;
+  }
+
+  if (rp.had_error()) {
+    tty->print_cr("ciReplay: Failed on %s", rp.error_message());
+    return NULL;
+  }
+  return data;
+}
+
 int ciReplay::replay_impl(TRAPS) {
   HandleMark hm;
   ResourceMark rm;
@@ -890,7 +1076,6 @@
   return exit_code;
 }
 
-
 void ciReplay::initialize(ciMethodData* m) {
   if (replay_state == NULL) {
     return;
@@ -909,28 +1094,28 @@
     method->print_name(tty);
     tty->cr();
   } else {
-    m->_state = rec->state;
-    m->_current_mileage = rec->current_mileage;
-    if (rec->data_length != 0) {
-      assert(m->_data_size == rec->data_length * (int)sizeof(rec->data[0]), "must agree");
+    m->_state = rec->_state;
+    m->_current_mileage = rec->_current_mileage;
+    if (rec->_data_length != 0) {
+      assert(m->_data_size == rec->_data_length * (int)sizeof(rec->_data[0]), "must agree");
 
       // Write the correct ciObjects back into the profile data
       ciEnv* env = ciEnv::current();
-      for (int i = 0; i < rec->oops_length; i++) {
-        KlassHandle *h = (KlassHandle *)rec->oops_handles[i];
-        *(ciMetadata**)(rec->data + rec->oops_offsets[i]) =
+      for (int i = 0; i < rec->_oops_length; i++) {
+        KlassHandle *h = (KlassHandle *)rec->_oops_handles[i];
+        *(ciMetadata**)(rec->_data + rec->_oops_offsets[i]) =
           env->get_metadata((*h)());
       }
       // Copy the updated profile data into place as intptr_ts
 #ifdef _LP64
-      Copy::conjoint_jlongs_atomic((jlong *)rec->data, (jlong *)m->_data, rec->data_length);
+      Copy::conjoint_jlongs_atomic((jlong *)rec->_data, (jlong *)m->_data, rec->_data_length);
 #else
-      Copy::conjoint_jints_atomic((jint *)rec->data, (jint *)m->_data, rec->data_length);
+      Copy::conjoint_jints_atomic((jint *)rec->_data, (jint *)m->_data, rec->_data_length);
 #endif
     }
 
     // copy in the original header
-    Copy::conjoint_jbytes(rec->orig_data, (char*)&m->_orig, rec->orig_data_length);
+    Copy::conjoint_jbytes(rec->_orig_data, (char*)&m->_orig, rec->_orig_data_length);
   }
 }
 
@@ -939,12 +1124,38 @@
   if (replay_state == NULL) {
     return false;
   }
-
   VM_ENTRY_MARK;
   // ciMethod without a record shouldn't be inlined.
   return replay_state->find_ciMethodRecord(method->get_Method()) == NULL;
 }
 
+bool ciReplay::should_inline(void* data, ciMethod* method, int bci, int inline_depth) {
+  if (data != NULL) {
+    GrowableArray<ciInlineRecord*>*  records = (GrowableArray<ciInlineRecord*>*)data;
+    VM_ENTRY_MARK;
+    // Inline record are ordered by bci and depth.
+    return CompileReplay::find_ciInlineRecord(records, method->get_Method(), bci, inline_depth) != NULL;
+  } else if (replay_state != NULL) {
+    VM_ENTRY_MARK;
+    // Inline record are ordered by bci and depth.
+    return replay_state->find_ciInlineRecord(method->get_Method(), bci, inline_depth) != NULL;
+  }
+  return false;
+}
+
+bool ciReplay::should_not_inline(void* data, ciMethod* method, int bci, int inline_depth) {
+  if (data != NULL) {
+    GrowableArray<ciInlineRecord*>*  records = (GrowableArray<ciInlineRecord*>*)data;
+    VM_ENTRY_MARK;
+    // Inline record are ordered by bci and depth.
+    return CompileReplay::find_ciInlineRecord(records, method->get_Method(), bci, inline_depth) == NULL;
+  } else if (replay_state != NULL) {
+    VM_ENTRY_MARK;
+    // Inline record are ordered by bci and depth.
+    return replay_state->find_ciInlineRecord(method->get_Method(), bci, inline_depth) == NULL;
+  }
+  return false;
+}
 
 void ciReplay::initialize(ciMethod* m) {
   if (replay_state == NULL) {
@@ -965,14 +1176,14 @@
     tty->cr();
   } else {
     EXCEPTION_CONTEXT;
-    // m->_instructions_size = rec->instructions_size;
+    // m->_instructions_size = rec->_instructions_size;
     m->_instructions_size = -1;
-    m->_interpreter_invocation_count = rec->interpreter_invocation_count;
-    m->_interpreter_throwout_count = rec->interpreter_throwout_count;
+    m->_interpreter_invocation_count = rec->_interpreter_invocation_count;
+    m->_interpreter_throwout_count = rec->_interpreter_throwout_count;
     MethodCounters* mcs = method->get_method_counters(CHECK_AND_CLEAR);
     guarantee(mcs != NULL, "method counters allocation failed");
-    mcs->invocation_counter()->_counter = rec->invocation_counter;
-    mcs->backedge_counter()->_counter = rec->backedge_counter;
+    mcs->invocation_counter()->_counter = rec->_invocation_counter;
+    mcs->backedge_counter()->_counter = rec->_backedge_counter;
   }
 }
 
diff --git a/hotspot/src/share/vm/ci/ciReplay.hpp b/hotspot/src/share/vm/ci/ciReplay.hpp
index 8fff345..90c503a 100644
--- a/hotspot/src/share/vm/ci/ciReplay.hpp
+++ b/hotspot/src/share/vm/ci/ciReplay.hpp
@@ -29,6 +29,73 @@
 
 // ciReplay
 
+//
+// Replay compilation of a java method by using an information in replay file.
+// Replay inlining decisions during compilation by using an information in inline file.
+//
+// NOTE: these replay functions only exist in debug version of VM.
+//
+// Replay compilation.
+// -------------------
+//
+// Replay data file replay.txt can be created by Serviceability Agent
+// from a core file, see agent/doc/cireplay.html
+//
+// $ java -cp <jdk>/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB
+// hsdb> attach <jdk>/bin/java ./core
+// hsdb> threads
+// t@10 Service Thread
+// t@9 C2 CompilerThread0
+// t@8 Signal Dispatcher
+// t@7 Finalizer
+// t@6 Reference Handler
+// t@2 main
+// hsdb> dumpreplaydata t@9 > replay.txt
+// hsdb> quit
+//
+// (Note: SA could be also used to extract app.jar and boot.jar files
+//  from core file to replay compilation if only core file is available)
+//
+// Replay data file replay_pid%p.log is also created when VM crashes
+// in Compiler thread during compilation. It is controlled by
+// DumpReplayDataOnError flag which is ON by default.
+//
+// Replay file replay_pid%p_compid%d.log can be created
+// for the specified java method during normal execution using
+// CompileCommand option DumpReplay:
+//
+// -XX:CompileCommand=option,Benchmark::test,DumpReplay
+//
+// In this case the file name has additional compilation id "_compid%d"
+// because the method could be compiled several times.
+//
+// To replay compilation the replay file should be specified:
+//
+// -XX:+ReplayCompiles -XX:ReplayDataFile=replay_pid2133.log
+//
+// VM thread reads data from the file immediately after VM initialization
+// and puts the compilation task on compile queue. After that it goes into
+// wait state (BackgroundCompilation flag is set to false) since there is no
+// a program to execute. VM exits when the compilation is finished.
+//
+//
+// Replay inlining.
+// ----------------
+//
+// Replay inlining file inline_pid%p_compid%d.log is created for
+// a specific java method during normal execution of a java program
+// using CompileCommand option DumpInline:
+//
+// -XX:CompileCommand=option,Benchmark::test,DumpInline
+//
+// To replay inlining the replay file and the method should be specified:
+//
+// -XX:CompileCommand=option,Benchmark::test,ReplayInline -XX:InlineDataFile=inline_pid3244_compid6.log
+//
+// The difference from replay compilation is that replay inlining
+// is performed during normal java program execution.
+//
+
 class ciReplay {
   CI_PACKAGE_ACCESS
 
@@ -37,7 +104,11 @@
   static int replay_impl(TRAPS);
 
  public:
+  // Replay specified compilation and exit VM.
   static void replay(TRAPS);
+  // Load inlining decisions from file and use them
+  // during compilation of specified method.
+  static void* load_inline_data(ciMethod* method, int entry_bci, int comp_level);
 
   // These are used by the CI to fill in the cached data from the
   // replay file when replaying compiles.
@@ -48,6 +119,8 @@
   static bool is_loaded(Klass* klass);
 
   static bool should_not_inline(ciMethod* method);
+  static bool should_inline(void* data, ciMethod* method, int bci, int inline_depth);
+  static bool should_not_inline(void* data, ciMethod* method, int bci, int inline_depth);
 
 #endif
 };
diff --git a/hotspot/src/share/vm/classfile/classFileParser.cpp b/hotspot/src/share/vm/classfile/classFileParser.cpp
index db41756..094f359 100644
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -4500,8 +4500,8 @@
             break; // didn't find any match; get out
           }
 
-          if (super_m->is_final() &&
-              // matching method in super is final
+          if (super_m->is_final() && !super_m->is_static() &&
+              // matching method in super is final, and not static
               (Reflection::verify_field_access(this_klass(),
                                                super_m->method_holder(),
                                                super_m->method_holder(),
diff --git a/hotspot/src/share/vm/classfile/classLoaderData.cpp b/hotspot/src/share/vm/classfile/classLoaderData.cpp
index 273e018..6b34e01 100644
--- a/hotspot/src/share/vm/classfile/classLoaderData.cpp
+++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -520,6 +520,13 @@
   }
 }
 
+bool ClassLoaderData::contains_klass(Klass* klass) {
+  for (Klass* k = _klasses; k != NULL; k = k->next_link()) {
+    if (k == klass) return true;
+  }
+  return false;
+}
+
 
 // GC root of class loader data created.
 ClassLoaderData* ClassLoaderDataGraph::_head = NULL;
@@ -648,12 +655,12 @@
   return array;
 }
 
-#ifndef PRODUCT
-// for debugging and hsfind(x)
-bool ClassLoaderDataGraph::contains(address x) {
-  // I think we need the _metaspace_lock taken here because the class loader
-  // data graph could be changing while we are walking it (new entries added,
-  // new entries being unloaded, etc).
+// For profiling and hsfind() only.  Otherwise, this is unsafe (and slow).  This
+// is done lock free to avoid lock inversion problems.  It is safe because
+// new ClassLoaderData are added to the end of the CLDG, and only removed at
+// safepoint.  The _unloading list can be deallocated concurrently with CMS so
+// this doesn't look in metaspace for classes that have been unloaded.
+bool ClassLoaderDataGraph::contains(const void* x) {
   if (DumpSharedSpaces) {
     // There are only two metaspaces to worry about.
     ClassLoaderData* ncld = ClassLoaderData::the_null_class_loader_data();
@@ -670,16 +677,11 @@
     }
   }
 
-  // Could also be on an unloading list which is okay, ie. still allocated
-  // for a little while.
-  for (ClassLoaderData* ucld = _unloading; ucld != NULL; ucld = ucld->next()) {
-    if (ucld->metaspace_or_null() != NULL && ucld->metaspace_or_null()->contains(x)) {
-      return true;
-    }
-  }
+  // Do not check unloading list because deallocation can be concurrent.
   return false;
 }
 
+#ifndef PRODUCT
 bool ClassLoaderDataGraph::contains_loader_data(ClassLoaderData* loader_data) {
   for (ClassLoaderData* data = _head; data != NULL; data = data->next()) {
     if (loader_data == data) {
diff --git a/hotspot/src/share/vm/classfile/classLoaderData.hpp b/hotspot/src/share/vm/classfile/classLoaderData.hpp
index 2cb2180..3fcbb6b 100644
--- a/hotspot/src/share/vm/classfile/classLoaderData.hpp
+++ b/hotspot/src/share/vm/classfile/classLoaderData.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -90,9 +90,9 @@
   static void dump() { dump_on(tty); }
   static void verify();
 
-#ifndef PRODUCT
   // expensive test for pointer in metaspace for debugging
-  static bool contains(address x);
+  static bool contains(const void* x);
+#ifndef PRODUCT
   static bool contains_loader_data(ClassLoaderData* loader_data);
 #endif
 
@@ -260,6 +260,7 @@
   jobject add_handle(Handle h);
   void add_class(Klass* k);
   void remove_class(Klass* k);
+  bool contains_klass(Klass* k);
   void record_dependency(Klass* to, TRAPS);
   void init_dependencies(TRAPS);
 
diff --git a/hotspot/src/share/vm/classfile/dictionary.cpp b/hotspot/src/share/vm/classfile/dictionary.cpp
index e308791..9a2bb74 100644
--- a/hotspot/src/share/vm/classfile/dictionary.cpp
+++ b/hotspot/src/share/vm/classfile/dictionary.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -707,7 +707,7 @@
                 loader_data->class_loader() == NULL ||
                 loader_data->class_loader()->is_instance(),
                 "checking type of class_loader");
-      e->verify(/*check_dictionary*/false);
+      e->verify();
       probe->verify_protection_domain_set();
       element_count++;
     }
diff --git a/hotspot/src/share/vm/classfile/symbolTable.cpp b/hotspot/src/share/vm/classfile/symbolTable.cpp
index d9cd2c8..d20673b 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.cpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.cpp
@@ -38,6 +38,9 @@
 
 // --------------------------------------------------------------------------
 
+// the number of buckets a thread claims
+const int ClaimChunkSize = 32;
+
 SymbolTable* SymbolTable::_the_table = NULL;
 // Static arena for symbols that are not deallocated
 Arena* SymbolTable::_arena = NULL;
@@ -83,16 +86,12 @@
   }
 }
 
-int SymbolTable::symbols_removed = 0;
-int SymbolTable::symbols_counted = 0;
+int SymbolTable::_symbols_removed = 0;
+int SymbolTable::_symbols_counted = 0;
+volatile int SymbolTable::_parallel_claimed_idx = 0;
 
-// Remove unreferenced symbols from the symbol table
-// This is done late during GC.
-void SymbolTable::unlink() {
-  int removed = 0;
-  int total = 0;
-  size_t memory_total = 0;
-  for (int i = 0; i < the_table()->table_size(); ++i) {
+void SymbolTable::buckets_unlink(int start_idx, int end_idx, int* processed, int* removed, size_t* memory_total) {
+  for (int i = start_idx; i < end_idx; ++i) {
     HashtableEntry<Symbol*, mtSymbol>** p = the_table()->bucket_addr(i);
     HashtableEntry<Symbol*, mtSymbol>* entry = the_table()->bucket(i);
     while (entry != NULL) {
@@ -104,14 +103,14 @@
         break;
       }
       Symbol* s = entry->literal();
-      memory_total += s->size();
-      total++;
+      (*memory_total) += s->size();
+      (*processed)++;
       assert(s != NULL, "just checking");
       // If reference count is zero, remove.
       if (s->refcount() == 0) {
         assert(!entry->is_shared(), "shared entries should be kept live");
         delete s;
-        removed++;
+        (*removed)++;
         *p = entry->next();
         the_table()->free_entry(entry);
       } else {
@@ -121,12 +120,45 @@
       entry = (HashtableEntry<Symbol*, mtSymbol>*)HashtableEntry<Symbol*, mtSymbol>::make_ptr(*p);
     }
   }
-  symbols_removed += removed;
-  symbols_counted += total;
+}
+
+// Remove unreferenced symbols from the symbol table
+// This is done late during GC.
+void SymbolTable::unlink(int* processed, int* removed) {
+  size_t memory_total = 0;
+  buckets_unlink(0, the_table()->table_size(), processed, removed, &memory_total);
+  _symbols_removed += *removed;
+  _symbols_counted += *processed;
   // Exclude printing for normal PrintGCDetails because people parse
   // this output.
   if (PrintGCDetails && Verbose && WizardMode) {
-    gclog_or_tty->print(" [Symbols=%d size=" SIZE_FORMAT "K] ", total,
+    gclog_or_tty->print(" [Symbols=%d size=" SIZE_FORMAT "K] ", *processed,
+                        (memory_total*HeapWordSize)/1024);
+  }
+}
+
+void SymbolTable::possibly_parallel_unlink(int* processed, int* removed) {
+  const int limit = the_table()->table_size();
+
+  size_t memory_total = 0;
+
+  for (;;) {
+    // Grab next set of buckets to scan
+    int start_idx = Atomic::add(ClaimChunkSize, &_parallel_claimed_idx) - ClaimChunkSize;
+    if (start_idx >= limit) {
+      // End of table
+      break;
+    }
+
+    int end_idx = MIN2(limit, start_idx + ClaimChunkSize);
+    buckets_unlink(start_idx, end_idx, processed, removed, &memory_total);
+  }
+  Atomic::add(*processed, &_symbols_counted);
+  Atomic::add(*removed, &_symbols_removed);
+  // Exclude printing for normal PrintGCDetails because people parse
+  // this output.
+  if (PrintGCDetails && Verbose && WizardMode) {
+    gclog_or_tty->print(" [Symbols: scanned=%d removed=%d size=" SIZE_FORMAT "K] ", *processed, *removed,
                         (memory_total*HeapWordSize)/1024);
   }
 }
@@ -494,11 +526,11 @@
   tty->print_cr("Total number of symbols  %5d", count);
   tty->print_cr("Total size in memory     %5dK",
           (memory_total*HeapWordSize)/1024);
-  tty->print_cr("Total counted            %5d", symbols_counted);
-  tty->print_cr("Total removed            %5d", symbols_removed);
-  if (symbols_counted > 0) {
+  tty->print_cr("Total counted            %5d", _symbols_counted);
+  tty->print_cr("Total removed            %5d", _symbols_removed);
+  if (_symbols_counted > 0) {
     tty->print_cr("Percent removed          %3.2f",
-          ((float)symbols_removed/(float)symbols_counted)* 100);
+          ((float)_symbols_removed/(float)_symbols_counted)* 100);
   }
   tty->print_cr("Reference counts         %5d", Symbol::_total_count);
   tty->print_cr("Symbol arena size        %5d used %5d",
@@ -739,39 +771,38 @@
   return result;
 }
 
-void StringTable::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
+void StringTable::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int* processed, int* removed) {
+  buckets_unlink_or_oops_do(is_alive, f, 0, the_table()->table_size(), processed, removed);
+}
+
+void StringTable::possibly_parallel_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int* processed, int* removed) {
   // Readers of the table are unlocked, so we should only be removing
   // entries at a safepoint.
   assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint");
-  for (int i = 0; i < the_table()->table_size(); ++i) {
-    HashtableEntry<oop, mtSymbol>** p = the_table()->bucket_addr(i);
-    HashtableEntry<oop, mtSymbol>* entry = the_table()->bucket(i);
-    while (entry != NULL) {
-      assert(!entry->is_shared(), "CDS not used for the StringTable");
+  const int limit = the_table()->table_size();
 
-      if (is_alive->do_object_b(entry->literal())) {
-        if (f != NULL) {
-          f->do_oop((oop*)entry->literal_addr());
-        }
-        p = entry->next_addr();
-      } else {
-        *p = entry->next();
-        the_table()->free_entry(entry);
-      }
-      entry = *p;
+  for (;;) {
+    // Grab next set of buckets to scan
+    int start_idx = Atomic::add(ClaimChunkSize, &_parallel_claimed_idx) - ClaimChunkSize;
+    if (start_idx >= limit) {
+      // End of table
+      break;
     }
+
+    int end_idx = MIN2(limit, start_idx + ClaimChunkSize);
+    buckets_unlink_or_oops_do(is_alive, f, start_idx, end_idx, processed, removed);
   }
 }
 
-void StringTable::buckets_do(OopClosure* f, int start_idx, int end_idx) {
+void StringTable::buckets_oops_do(OopClosure* f, int start_idx, int end_idx) {
   const int limit = the_table()->table_size();
 
   assert(0 <= start_idx && start_idx <= limit,
-         err_msg("start_idx (" INT32_FORMAT ") oob?", start_idx));
+         err_msg("start_idx (" INT32_FORMAT ") is out of bounds", start_idx));
   assert(0 <= end_idx && end_idx <= limit,
-         err_msg("end_idx (" INT32_FORMAT ") oob?", end_idx));
+         err_msg("end_idx (" INT32_FORMAT ") is out of bounds", end_idx));
   assert(start_idx <= end_idx,
-         err_msg("Ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT,
+         err_msg("Index ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT,
                  start_idx, end_idx));
 
   for (int i = start_idx; i < end_idx; i += 1) {
@@ -786,12 +817,44 @@
   }
 }
 
+void StringTable::buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, int* processed, int* removed) {
+  const int limit = the_table()->table_size();
+
+  assert(0 <= start_idx && start_idx <= limit,
+         err_msg("start_idx (" INT32_FORMAT ") is out of bounds", start_idx));
+  assert(0 <= end_idx && end_idx <= limit,
+         err_msg("end_idx (" INT32_FORMAT ") is out of bounds", end_idx));
+  assert(start_idx <= end_idx,
+         err_msg("Index ordering: start_idx=" INT32_FORMAT", end_idx=" INT32_FORMAT,
+                 start_idx, end_idx));
+
+  for (int i = start_idx; i < end_idx; ++i) {
+    HashtableEntry<oop, mtSymbol>** p = the_table()->bucket_addr(i);
+    HashtableEntry<oop, mtSymbol>* entry = the_table()->bucket(i);
+    while (entry != NULL) {
+      assert(!entry->is_shared(), "CDS not used for the StringTable");
+
+      if (is_alive->do_object_b(entry->literal())) {
+        if (f != NULL) {
+          f->do_oop((oop*)entry->literal_addr());
+        }
+        p = entry->next_addr();
+      } else {
+        *p = entry->next();
+        the_table()->free_entry(entry);
+        (*removed)++;
+      }
+      (*processed)++;
+      entry = *p;
+    }
+  }
+}
+
 void StringTable::oops_do(OopClosure* f) {
-  buckets_do(f, 0, the_table()->table_size());
+  buckets_oops_do(f, 0, the_table()->table_size());
 }
 
 void StringTable::possibly_parallel_oops_do(OopClosure* f) {
-  const int ClaimChunkSize = 32;
   const int limit = the_table()->table_size();
 
   for (;;) {
@@ -803,7 +866,7 @@
     }
 
     int end_idx = MIN2(limit, start_idx + ClaimChunkSize);
-    buckets_do(f, start_idx, end_idx);
+    buckets_oops_do(f, start_idx, end_idx);
   }
 }
 
diff --git a/hotspot/src/share/vm/classfile/symbolTable.hpp b/hotspot/src/share/vm/classfile/symbolTable.hpp
index 50cde69..b0a2fcb 100644
--- a/hotspot/src/share/vm/classfile/symbolTable.hpp
+++ b/hotspot/src/share/vm/classfile/symbolTable.hpp
@@ -86,8 +86,8 @@
   static bool _needs_rehashing;
 
   // For statistics
-  static int symbols_removed;
-  static int symbols_counted;
+  static int _symbols_removed;
+  static int _symbols_counted;
 
   Symbol* allocate_symbol(const u1* name, int len, bool c_heap, TRAPS); // Assumes no characters larger than 0x7F
 
@@ -121,6 +121,11 @@
   static Arena* arena() { return _arena; }  // called for statistics
 
   static void initialize_symbols(int arena_alloc_size = 0);
+
+  static volatile int _parallel_claimed_idx;
+
+  // Release any dead symbols
+  static void buckets_unlink(int start_idx, int end_idx, int* processed, int* removed, size_t* memory_total);
 public:
   enum {
     symbol_alloc_batch_size = 8,
@@ -177,7 +182,14 @@
                   unsigned int* hashValues, TRAPS);
 
   // Release any dead symbols
-  static void unlink();
+  static void unlink() {
+    int processed = 0;
+    int removed = 0;
+    unlink(&processed, &removed);
+  }
+  static void unlink(int* processed, int* removed);
+  // Release any dead symbols, possibly parallel version
+  static void possibly_parallel_unlink(int* processed, int* removed);
 
   // iterate over symbols
   static void symbols_do(SymbolClosure *cl);
@@ -235,6 +247,9 @@
   // Rehash the symbol table if it gets out of balance
   static void rehash_table();
   static bool needs_rehashing()         { return _needs_rehashing; }
+  // Parallel chunked scanning
+  static void clear_parallel_claimed_index() { _parallel_claimed_idx = 0; }
+  static int parallel_claimed_index()        { return _parallel_claimed_idx; }
 };
 
 class StringTable : public Hashtable<oop, mtSymbol> {
@@ -258,7 +273,10 @@
 
   // Apply the give oop closure to the entries to the buckets
   // in the range [start_idx, end_idx).
-  static void buckets_do(OopClosure* f, int start_idx, int end_idx);
+  static void buckets_oops_do(OopClosure* f, int start_idx, int end_idx);
+  // Unlink or apply the give oop closure to the entries to the buckets
+  // in the range [start_idx, end_idx).
+  static void buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, int* processed, int* removed);
 
   StringTable() : Hashtable<oop, mtSymbol>((int)StringTableSize,
                               sizeof (HashtableEntry<oop, mtSymbol>)) {}
@@ -280,15 +298,28 @@
 
   // GC support
   //   Delete pointers to otherwise-unreachable objects.
-  static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f);
-  static void unlink(BoolObjectClosure* cl) {
-    unlink_or_oops_do(cl, NULL);
+  static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f) {
+    int processed = 0;
+    int removed = 0;
+    unlink_or_oops_do(cl, f, &processed, &removed);
   }
-
+  static void unlink(BoolObjectClosure* cl) {
+    int processed = 0;
+    int removed = 0;
+    unlink_or_oops_do(cl, NULL, &processed, &removed);
+  }
+  static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
+  static void unlink(BoolObjectClosure* cl, int* processed, int* removed) {
+    unlink_or_oops_do(cl, NULL, processed, removed);
+  }
   // Serially invoke "f->do_oop" on the locations of all oops in the table.
   static void oops_do(OopClosure* f);
 
-  // Possibly parallel version of the above
+  // Possibly parallel versions of the above
+  static void possibly_parallel_unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
+  static void possibly_parallel_unlink(BoolObjectClosure* cl, int* processed, int* removed) {
+    possibly_parallel_unlink_or_oops_do(cl, NULL, processed, removed);
+  }
   static void possibly_parallel_oops_do(OopClosure* f);
 
   // Hashing algorithm, used as the hash value used by the
@@ -349,5 +380,6 @@
 
   // Parallel chunked scanning
   static void clear_parallel_claimed_index() { _parallel_claimed_idx = 0; }
+  static int parallel_claimed_index() { return _parallel_claimed_idx; }
 };
 #endif // SHARE_VM_CLASSFILE_SYMBOLTABLE_HPP
diff --git a/hotspot/src/share/vm/classfile/systemDictionary.cpp b/hotspot/src/share/vm/classfile/systemDictionary.cpp
index f5c5c01..7034435 100644
--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -2650,23 +2650,6 @@
   constraints()->verify(dictionary(), placeholders());
 }
 
-
-void SystemDictionary::verify_obj_klass_present(Symbol* class_name,
-                                                ClassLoaderData* loader_data) {
-  GCMutexLocker mu(SystemDictionary_lock);
-  Symbol* name;
-
-  Klass* probe = find_class(class_name, loader_data);
-  if (probe == NULL) {
-    probe = SystemDictionary::find_shared_class(class_name);
-    if (probe == NULL) {
-      name = find_placeholder(class_name, loader_data);
-    }
-  }
-  guarantee(probe != NULL || name != NULL,
-            "Loaded klasses should be in SystemDictionary");
-}
-
 // utility function for class load event
 void SystemDictionary::post_class_load_event(const Ticks& start_time,
                                              instanceKlassHandle k,
diff --git a/hotspot/src/share/vm/classfile/systemDictionary.hpp b/hotspot/src/share/vm/classfile/systemDictionary.hpp
index b0e914f..88132f5 100644
--- a/hotspot/src/share/vm/classfile/systemDictionary.hpp
+++ b/hotspot/src/share/vm/classfile/systemDictionary.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -375,10 +375,6 @@
   static bool is_internal_format(Symbol* class_name);
 #endif
 
-  // Verify class is in dictionary
-  static void verify_obj_klass_present(Symbol* class_name,
-                                       ClassLoaderData* loader_data);
-
   // Initialization
   static void initialize(TRAPS);
 
diff --git a/hotspot/src/share/vm/classfile/vmSymbols.hpp b/hotspot/src/share/vm/classfile/vmSymbols.hpp
index 9a06792..ed3c0db 100644
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp
@@ -654,9 +654,9 @@
   do_intrinsic(_addExactI,                java_lang_Math,         addExact_name, int2_int_signature,             F_S)   \
   do_intrinsic(_addExactL,                java_lang_Math,         addExact_name, long2_long_signature,           F_S)   \
   do_intrinsic(_decrementExactI,          java_lang_Math,         decrementExact_name, int_int_signature,        F_S)   \
-  do_intrinsic(_decrementExactL,          java_lang_Math,         decrementExact_name, long2_long_signature,     F_S)   \
+  do_intrinsic(_decrementExactL,          java_lang_Math,         decrementExact_name, long_long_signature,      F_S)   \
   do_intrinsic(_incrementExactI,          java_lang_Math,         incrementExact_name, int_int_signature,        F_S)   \
-  do_intrinsic(_incrementExactL,          java_lang_Math,         incrementExact_name, long2_long_signature,     F_S)   \
+  do_intrinsic(_incrementExactL,          java_lang_Math,         incrementExact_name, long_long_signature,      F_S)   \
   do_intrinsic(_multiplyExactI,           java_lang_Math,         multiplyExact_name, int2_int_signature,        F_S)   \
   do_intrinsic(_multiplyExactL,           java_lang_Math,         multiplyExact_name, long2_long_signature,      F_S)   \
   do_intrinsic(_negateExactI,             java_lang_Math,         negateExact_name, int_int_signature,           F_S)   \
@@ -787,7 +787,7 @@
    do_intrinsic(_cipherBlockChaining_decryptAESCrypt, com_sun_crypto_provider_cipherBlockChaining, decrypt_name, byteArray_int_int_byteArray_int_signature, F_R)   \
    do_name(     encrypt_name,                                      "encrypt")                                           \
    do_name(     decrypt_name,                                      "decrypt")                                           \
-   do_signature(byteArray_int_int_byteArray_int_signature,         "([BII[BI)V")                                        \
+   do_signature(byteArray_int_int_byteArray_int_signature,         "([BII[BI)I")                                        \
                                                                                                                         \
   /* support for java.util.zip */                                                                                       \
   do_class(java_util_zip_CRC32,           "java/util/zip/CRC32")                                                        \
diff --git a/hotspot/src/share/vm/code/dependencies.cpp b/hotspot/src/share/vm/code/dependencies.cpp
index 29aaf32..778efe8 100644
--- a/hotspot/src/share/vm/code/dependencies.cpp
+++ b/hotspot/src/share/vm/code/dependencies.cpp
@@ -655,8 +655,6 @@
   } else {
     o = _deps->oop_recorder()->metadata_at(i);
   }
-  assert(o == NULL || o->is_metaspace_object(),
-         err_msg("Should be metadata " PTR_FORMAT, o));
   return o;
 }
 
diff --git a/hotspot/src/share/vm/code/vtableStubs.cpp b/hotspot/src/share/vm/code/vtableStubs.cpp
index 5af91a3..b3bfc25 100644
--- a/hotspot/src/share/vm/code/vtableStubs.cpp
+++ b/hotspot/src/share/vm/code/vtableStubs.cpp
@@ -55,6 +55,9 @@
   const int chunk_factor = 32;
   if (_chunk == NULL || _chunk + real_size > _chunk_end) {
     const int bytes = chunk_factor * real_size + pd_code_alignment();
+
+   // There is a dependency on the name of the blob in src/share/vm/prims/jvmtiCodeBlobEvents.cpp
+   // If changing the name, update the other file accordingly.
     BufferBlob* blob = BufferBlob::create("vtable chunks", bytes);
     if (blob == NULL) {
       return NULL;
@@ -62,12 +65,6 @@
     _chunk = blob->content_begin();
     _chunk_end = _chunk + bytes;
     Forte::register_stub("vtable stub", _chunk, _chunk_end);
-    // Notify JVMTI about this stub. The event will be recorded by the enclosing
-    // JvmtiDynamicCodeEventCollector and posted when this thread has released
-    // all locks.
-    if (JvmtiExport::should_post_dynamic_code_generated()) {
-      JvmtiExport::post_dynamic_code_generated_while_holding_locks("vtable stub", _chunk, _chunk_end);
-    }
     align_chunk();
   }
   assert(_chunk + real_size <= _chunk_end, "bad allocation");
@@ -130,6 +127,13 @@
                     is_vtable_stub? "vtbl": "itbl", vtable_index, VtableStub::receiver_location());
       Disassembler::decode(s->code_begin(), s->code_end());
     }
+    // Notify JVMTI about this stub. The event will be recorded by the enclosing
+    // JvmtiDynamicCodeEventCollector and posted when this thread has released
+    // all locks.
+    if (JvmtiExport::should_post_dynamic_code_generated()) {
+      JvmtiExport::post_dynamic_code_generated_while_holding_locks(is_vtable_stub? "vtable stub": "itable stub",
+                                                                   s->code_begin(), s->code_end());
+    }
   }
   return s->entry_point();
 }
@@ -195,6 +199,14 @@
   VtableStubs::initialize();
 }
 
+void VtableStubs::vtable_stub_do(void f(VtableStub*)) {
+    for (int i = 0; i < N; i++) {
+        for (VtableStub* s = _table[i]; s != NULL; s = s->next()) {
+            f(s);
+        }
+    }
+}
+
 
 //-----------------------------------------------------------------------------------------------------
 // Non-product code
diff --git a/hotspot/src/share/vm/code/vtableStubs.hpp b/hotspot/src/share/vm/code/vtableStubs.hpp
index 06f2a67..b3d4f2d 100644
--- a/hotspot/src/share/vm/code/vtableStubs.hpp
+++ b/hotspot/src/share/vm/code/vtableStubs.hpp
@@ -131,6 +131,7 @@
   static VtableStub* stub_containing(address pc);                    // stub containing pc or NULL
   static int         number_of_vtable_stubs() { return _number_of_vtable_stubs; }
   static void        initialize();
+  static void        vtable_stub_do(void f(VtableStub*));            // iterates over all vtable stubs
 };
 
 #endif // SHARE_VM_CODE_VTABLESTUBS_HPP
diff --git a/hotspot/src/share/vm/compiler/compileBroker.cpp b/hotspot/src/share/vm/compiler/compileBroker.cpp
index f8fa26f..a6c9117 100644
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp
@@ -132,9 +132,9 @@
 // The installed compiler(s)
 AbstractCompiler* CompileBroker::_compilers[2];
 
-// These counters are used for assigning id's to each compilation
-uint CompileBroker::_compilation_id        = 0;
-uint CompileBroker::_osr_compilation_id    = 0;
+// These counters are used to assign an unique ID to each compilation.
+volatile jint CompileBroker::_compilation_id     = 0;
+volatile jint CompileBroker::_osr_compilation_id = 0;
 
 // Debugging information
 int  CompileBroker::_last_compile_type     = no_compile;
@@ -1158,7 +1158,7 @@
     // We now know that this compilation is not pending, complete,
     // or prohibited.  Assign a compile_id to this compilation
     // and check to see if it is in our [Start..Stop) range.
-    uint compile_id = assign_compile_id(method, osr_bci);
+    int compile_id = assign_compile_id(method, osr_bci);
     if (compile_id == 0) {
       // The compilation falls outside the allowed range.
       return;
@@ -1305,18 +1305,12 @@
   // do the compilation
   if (method->is_native()) {
     if (!PreferInterpreterNativeStubs || method->is_method_handle_intrinsic()) {
-      // Acquire our lock.
-      int compile_id;
-      {
-        MutexLocker locker(MethodCompileQueue_lock, THREAD);
-        compile_id = assign_compile_id(method, standard_entry_bci);
-      }
       // To properly handle the appendix argument for out-of-line calls we are using a small trampoline that
       // pops off the appendix argument and jumps to the target (see gen_special_dispatch in SharedRuntime).
       //
       // Since normal compiled-to-compiled calls are not able to handle such a thing we MUST generate an adapter
       // in this case.  If we can't generate one and use it we can not execute the out-of-line method handle calls.
-      (void) AdapterHandlerLibrary::create_native_wrapper(method, compile_id);
+      AdapterHandlerLibrary::create_native_wrapper(method);
     } else {
       return NULL;
     }
@@ -1419,27 +1413,28 @@
   return false;
 }
 
-
-// ------------------------------------------------------------------
-// CompileBroker::assign_compile_id
-//
-// Assign a serialized id number to this compilation request.  If the
-// number falls out of the allowed range, return a 0.  OSR
-// compilations may be numbered separately from regular compilations
-// if certain debugging flags are used.
-uint CompileBroker::assign_compile_id(methodHandle method, int osr_bci) {
-  assert(MethodCompileQueue_lock->owner() == Thread::current(),
-         "must hold the compilation queue lock");
+/**
+ * Generate serialized IDs for compilation requests. If certain debugging flags are used
+ * and the ID is not within the specified range, the method is not compiled and 0 is returned.
+ * The function also allows to generate separate compilation IDs for OSR compilations.
+ */
+int CompileBroker::assign_compile_id(methodHandle method, int osr_bci) {
+#ifdef ASSERT
   bool is_osr = (osr_bci != standard_entry_bci);
-  uint id;
-  if (CICountOSR && is_osr) {
-    id = ++_osr_compilation_id;
-    if ((uint)CIStartOSR <= id && id < (uint)CIStopOSR) {
+  int id;
+  if (method->is_native()) {
+    assert(!is_osr, "can't be osr");
+    // Adapters, native wrappers and method handle intrinsics
+    // should be generated always.
+    return Atomic::add(1, &_compilation_id);
+  } else if (CICountOSR && is_osr) {
+    id = Atomic::add(1, &_osr_compilation_id);
+    if (CIStartOSR <= id && id < CIStopOSR) {
       return id;
     }
   } else {
-    id = ++_compilation_id;
-    if ((uint)CIStart <= id && id < (uint)CIStop) {
+    id = Atomic::add(1, &_compilation_id);
+    if (CIStart <= id && id < CIStop) {
       return id;
     }
   }
@@ -1447,6 +1442,11 @@
   // Method was not in the appropriate compilation range.
   method->set_not_compilable_quietly();
   return 0;
+#else
+  // CICountOSR is a develop flag and set to 'false' by default. In a product built,
+  // only _compilation_id is incremented.
+  return Atomic::add(1, &_compilation_id);
+#endif
 }
 
 
diff --git a/hotspot/src/share/vm/compiler/compileBroker.hpp b/hotspot/src/share/vm/compiler/compileBroker.hpp
index a74afb3..75cbcaf 100644
--- a/hotspot/src/share/vm/compiler/compileBroker.hpp
+++ b/hotspot/src/share/vm/compiler/compileBroker.hpp
@@ -246,6 +246,8 @@
 
   // Compile type Information for print_last_compile() and CompilerCounters
   enum { no_compile, normal_compile, osr_compile, native_compile };
+  static int assign_compile_id (methodHandle method, int osr_bci);
+
 
  private:
   static bool _initialized;
@@ -258,9 +260,8 @@
   static AbstractCompiler* _compilers[2];
 
   // These counters are used for assigning id's to each compilation
-  static uint _compilation_id;
-  static uint _osr_compilation_id;
-  static uint _native_compilation_id;
+  static volatile jint _compilation_id;
+  static volatile jint _osr_compilation_id;
 
   static int  _last_compile_type;
   static int  _last_compile_level;
@@ -321,7 +322,6 @@
   static void init_compiler_threads(int c1_compiler_count, int c2_compiler_count);
   static bool compilation_is_complete  (methodHandle method, int osr_bci, int comp_level);
   static bool compilation_is_prohibited(methodHandle method, int osr_bci, int comp_level);
-  static uint assign_compile_id        (methodHandle method, int osr_bci);
   static bool is_compile_blocking      (methodHandle method, int osr_bci);
   static void preload_classes          (methodHandle method, TRAPS);
 
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
index b87efd7..3484b78 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
@@ -1704,8 +1704,8 @@
   _dictionary->return_chunk(chunk);
 #ifndef PRODUCT
   if (CMSCollector::abstract_state() != CMSCollector::Sweeping) {
-    TreeChunk<FreeChunk, AdaptiveFreeList>* tc = TreeChunk<FreeChunk, AdaptiveFreeList>::as_TreeChunk(chunk);
-    TreeList<FreeChunk, AdaptiveFreeList>* tl = tc->list();
+    TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >* tc = TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::as_TreeChunk(chunk);
+    TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >* tl = tc->list();
     tl->verify_stats();
   }
 #endif // PRODUCT
@@ -2515,10 +2515,10 @@
 
 #ifndef PRODUCT
 void CompactibleFreeListSpace::check_free_list_consistency() const {
-  assert((TreeChunk<FreeChunk, AdaptiveFreeList>::min_size() <= IndexSetSize),
+  assert((TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::min_size() <= IndexSetSize),
     "Some sizes can't be allocated without recourse to"
     " linear allocation buffers");
-  assert((TreeChunk<FreeChunk, AdaptiveFreeList>::min_size()*HeapWordSize == sizeof(TreeChunk<FreeChunk, AdaptiveFreeList>)),
+  assert((TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >::min_size()*HeapWordSize == sizeof(TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >)),
     "else MIN_TREE_CHUNK_SIZE is wrong");
   assert(IndexSetStart != 0, "IndexSetStart not initialized");
   assert(IndexSetStride != 0, "IndexSetStride not initialized");
diff --git a/hotspot/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp b/hotspot/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp
index 1ceca17..cde2132 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp
@@ -98,116 +98,4 @@
     _closure_app_seconds(0.0) { }
 };
 
-class BufferingOopsInGenClosure: public OopsInGenClosure {
-  BufferingOopClosure _boc;
-  OopsInGenClosure* _oc;
- protected:
-  template <class T> inline void do_oop_work(T* p) {
-    assert(generation()->is_in_reserved((void*)p), "Must be in!");
-    _boc.do_oop(p);
-  }
- public:
-  BufferingOopsInGenClosure(OopsInGenClosure *oc) :
-    _boc(oc), _oc(oc) {}
-
-  virtual void do_oop(narrowOop* p) { do_oop_work(p); }
-  virtual void do_oop(oop* p)       { do_oop_work(p); }
-
-  void done() {
-    _boc.done();
-  }
-
-  double closure_app_seconds () {
-    return _boc.closure_app_seconds();
-  }
-
-  void set_generation(Generation* gen) {
-    OopsInGenClosure::set_generation(gen);
-    _oc->set_generation(gen);
-  }
-
-  void reset_generation() {
-    // Make sure we finish the current work with the current generation.
-    _boc.done();
-    OopsInGenClosure::reset_generation();
-    _oc->reset_generation();
-  }
-
-};
-
-
-class BufferingOopsInHeapRegionClosure: public OopsInHeapRegionClosure {
-private:
-  enum PrivateConstants {
-    BufferLength = 1024
-  };
-
-  StarTask     _buffer[BufferLength];
-  StarTask*    _buffer_top;
-  StarTask*    _buffer_curr;
-
-  HeapRegion*  _hr_buffer[BufferLength];
-  HeapRegion** _hr_curr;
-
-  OopsInHeapRegionClosure*  _oc;
-  double                    _closure_app_seconds;
-
-  void process_buffer () {
-
-    assert((_hr_curr - _hr_buffer) == (_buffer_curr - _buffer),
-           "the two lengths should be the same");
-
-    double start = os::elapsedTime();
-    HeapRegion** hr_curr = _hr_buffer;
-    HeapRegion*  hr_prev = NULL;
-    for (StarTask* curr = _buffer; curr < _buffer_curr; ++curr) {
-      HeapRegion* region = *hr_curr;
-      if (region != hr_prev) {
-        _oc->set_region(region);
-        hr_prev = region;
-      }
-      if (curr->is_narrow()) {
-        assert(UseCompressedOops, "Error");
-        _oc->do_oop((narrowOop*)(*curr));
-      } else {
-        _oc->do_oop((oop*)(*curr));
-      }
-      ++hr_curr;
-    }
-    _buffer_curr = _buffer;
-    _hr_curr = _hr_buffer;
-    _closure_app_seconds += (os::elapsedTime() - start);
-  }
-
-public:
-  virtual void do_oop(narrowOop* p) { do_oop_work(p); }
-  virtual void do_oop(      oop* p) { do_oop_work(p); }
-
-  template <class T> void do_oop_work(T* p) {
-    if (_buffer_curr == _buffer_top) {
-      assert(_hr_curr > _hr_buffer, "_hr_curr should be consistent with _buffer_curr");
-      process_buffer();
-    }
-    StarTask new_ref(p);
-    *_buffer_curr = new_ref;
-    ++_buffer_curr;
-    *_hr_curr = _from;
-    ++_hr_curr;
-  }
-  void done () {
-    if (_buffer_curr > _buffer) {
-      assert(_hr_curr > _hr_buffer, "_hr_curr should be consistent with _buffer_curr");
-      process_buffer();
-    }
-  }
-  double closure_app_seconds () {
-    return _closure_app_seconds;
-  }
-  BufferingOopsInHeapRegionClosure (OopsInHeapRegionClosure *oc) :
-    _oc(oc),
-    _buffer_curr(_buffer), _buffer_top(_buffer + BufferLength),
-    _hr_curr(_hr_buffer),
-    _closure_app_seconds(0.0) { }
-};
-
 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_BUFFERINGOOPCLOSURE_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
index 4e45831..bf7a771 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
@@ -1619,7 +1619,6 @@
   }
 };
 
-
 class G1ParVerifyFinalCountTask: public AbstractGangTask {
 protected:
   G1CollectedHeap* _g1h;
@@ -2529,10 +2528,9 @@
     assert(!rp->discovery_enabled(), "Post condition");
   }
 
-  // Now clean up stale oops in StringTable
-  StringTable::unlink(&g1_is_alive);
-  // Clean up unreferenced symbols in symbol table.
-  SymbolTable::unlink();
+  g1h->unlink_string_and_symbol_table(&g1_is_alive,
+                                      /* process_strings */ false, // currently strings are always roots
+                                      /* process_symbols */ true);
 }
 
 void ConcurrentMark::swapMarkBitMaps() {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
index 5ae273b..91d2a1c 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -50,8 +50,8 @@
 #include "gc_implementation/shared/gcTraceTime.hpp"
 #include "gc_implementation/shared/isGCActiveMark.hpp"
 #include "memory/gcLocker.inline.hpp"
-#include "memory/genOopClosures.inline.hpp"
 #include "memory/generationSpec.hpp"
+#include "memory/iterator.hpp"
 #include "memory/referenceProcessor.hpp"
 #include "oops/oop.inline.hpp"
 #include "oops/oop.pcgc.inline.hpp"
@@ -1575,8 +1575,6 @@
 void
 G1CollectedHeap::
 resize_if_necessary_after_full_collection(size_t word_size) {
-  assert(MinHeapFreeRatio <= MaxHeapFreeRatio, "sanity check");
-
   // Include the current allocation, if any, and bytes that will be
   // pre-allocated to support collections, as "used".
   const size_t used_after_gc = used();
@@ -3096,11 +3094,7 @@
   return NULL; // keep some compilers happy
 }
 
-// TODO: VerifyRootsClosure extends OopsInGenClosure so that we can
-//       pass it as the perm_blk to SharedHeap::process_strong_roots.
-//       When process_strong_roots stop calling perm_blk->younger_refs_iterate
-//       we can change this closure to extend the simpler OopClosure.
-class VerifyRootsClosure: public OopsInGenClosure {
+class VerifyRootsClosure: public OopClosure {
 private:
   G1CollectedHeap* _g1h;
   VerifyOption     _vo;
@@ -3136,7 +3130,7 @@
   void do_oop(narrowOop* p) { do_oop_nv(p); }
 };
 
-class G1VerifyCodeRootOopClosure: public OopsInGenClosure {
+class G1VerifyCodeRootOopClosure: public OopClosure {
   G1CollectedHeap* _g1h;
   OopClosure* _root_cl;
   nmethod* _nm;
@@ -4545,7 +4539,7 @@
 G1ParGCAllocBuffer::G1ParGCAllocBuffer(size_t gclab_word_size) :
   ParGCAllocBuffer(gclab_word_size), _retired(false) { }
 
-G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num)
+G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp)
   : _g1h(g1h),
     _refs(g1h->task_queue(queue_num)),
     _dcq(&g1h->dirty_card_queue_set()),
@@ -4555,7 +4549,7 @@
     _term_attempts(0),
     _surviving_alloc_buffer(g1h->desired_plab_sz(GCAllocForSurvived)),
     _tenured_alloc_buffer(g1h->desired_plab_sz(GCAllocForTenured)),
-    _age_table(false),
+    _age_table(false), _scanner(g1h, this, rp),
     _strong_roots_time(0), _term_time(0),
     _alloc_buffer_waste(0), _undo_waste(0) {
   // we allocate G1YoungSurvRateNumRegions plus one entries, since
@@ -4664,14 +4658,10 @@
 
 G1ParClosureSuper::G1ParClosureSuper(G1CollectedHeap* g1,
                                      G1ParScanThreadState* par_scan_state) :
-  _g1(g1), _g1_rem(_g1->g1_rem_set()), _cm(_g1->concurrent_mark()),
-  _par_scan_state(par_scan_state),
-  _worker_id(par_scan_state->queue_num()),
-  _during_initial_mark(_g1->g1_policy()->during_initial_mark_pause()),
-  _mark_in_progress(_g1->mark_in_progress()) { }
+  _g1(g1), _par_scan_state(par_scan_state),
+  _worker_id(par_scan_state->queue_num()) { }
 
-template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
-void G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>::mark_object(oop obj) {
+void G1ParCopyHelper::mark_object(oop obj) {
 #ifdef ASSERT
   HeapRegion* hr = _g1->heap_region_containing(obj);
   assert(hr != NULL, "sanity");
@@ -4682,9 +4672,7 @@
   _cm->grayRoot(obj, (size_t) obj->size(), _worker_id);
 }
 
-template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
-void G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>
-  ::mark_forwarded_object(oop from_obj, oop to_obj) {
+void G1ParCopyHelper::mark_forwarded_object(oop from_obj, oop to_obj) {
 #ifdef ASSERT
   assert(from_obj->is_forwarded(), "from obj should be forwarded");
   assert(from_obj->forwardee() == to_obj, "to obj should be the forwardee");
@@ -4706,27 +4694,25 @@
   _cm->grayRoot(to_obj, (size_t) from_obj->size(), _worker_id);
 }
 
-template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
-oop G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>
-  ::copy_to_survivor_space(oop old) {
+oop G1ParScanThreadState::copy_to_survivor_space(oop const old) {
   size_t word_sz = old->size();
-  HeapRegion* from_region = _g1->heap_region_containing_raw(old);
+  HeapRegion* from_region = _g1h->heap_region_containing_raw(old);
   // +1 to make the -1 indexes valid...
   int       young_index = from_region->young_index_in_cset()+1;
   assert( (from_region->is_young() && young_index >  0) ||
          (!from_region->is_young() && young_index == 0), "invariant" );
-  G1CollectorPolicy* g1p = _g1->g1_policy();
+  G1CollectorPolicy* g1p = _g1h->g1_policy();
   markOop m = old->mark();
   int age = m->has_displaced_mark_helper() ? m->displaced_mark_helper()->age()
                                            : m->age();
   GCAllocPurpose alloc_purpose = g1p->evacuation_destination(from_region, age,
                                                              word_sz);
-  HeapWord* obj_ptr = _par_scan_state->allocate(alloc_purpose, word_sz);
+  HeapWord* obj_ptr = allocate(alloc_purpose, word_sz);
 #ifndef PRODUCT
   // Should this evacuation fail?
-  if (_g1->evacuation_should_fail()) {
+  if (_g1h->evacuation_should_fail()) {
     if (obj_ptr != NULL) {
-      _par_scan_state->undo_allocation(alloc_purpose, obj_ptr, word_sz);
+      undo_allocation(alloc_purpose, obj_ptr, word_sz);
       obj_ptr = NULL;
     }
   }
@@ -4735,7 +4721,7 @@
   if (obj_ptr == NULL) {
     // This will either forward-to-self, or detect that someone else has
     // installed a forwarding pointer.
-    return _g1->handle_evacuation_failure_par(_par_scan_state, old);
+    return _g1h->handle_evacuation_failure_par(this, old);
   }
 
   oop obj = oop(obj_ptr);
@@ -4768,12 +4754,12 @@
         m = m->incr_age();
         obj->set_mark(m);
       }
-      _par_scan_state->age_table()->add(obj, word_sz);
+      age_table()->add(obj, word_sz);
     } else {
       obj->set_mark(m);
     }
 
-    size_t* surv_young_words = _par_scan_state->surviving_young_words();
+    size_t* surv_young_words = surviving_young_words();
     surv_young_words[young_index] += word_sz;
 
     if (obj->is_objArray() && arrayOop(obj)->length() >= ParGCArrayScanChunk) {
@@ -4782,15 +4768,15 @@
       // length field of the from-space object.
       arrayOop(obj)->set_length(0);
       oop* old_p = set_partial_array_mask(old);
-      _par_scan_state->push_on_queue(old_p);
+      push_on_queue(old_p);
     } else {
       // No point in using the slower heap_region_containing() method,
       // given that we know obj is in the heap.
-      _scanner.set_region(_g1->heap_region_containing_raw(obj));
+      _scanner.set_region(_g1h->heap_region_containing_raw(obj));
       obj->oop_iterate_backwards(&_scanner);
     }
   } else {
-    _par_scan_state->undo_allocation(alloc_purpose, obj_ptr, word_sz);
+    undo_allocation(alloc_purpose, obj_ptr, word_sz);
     obj = forward_ptr;
   }
   return obj;
@@ -4803,23 +4789,25 @@
   }
 }
 
-template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
+template <G1Barrier barrier, bool do_mark_object>
 template <class T>
-void G1ParCopyClosure<do_gen_barrier, barrier, do_mark_object>
-::do_oop_work(T* p) {
-  oop obj = oopDesc::load_decode_heap_oop(p);
-  assert(barrier != G1BarrierRS || obj != NULL,
-         "Precondition: G1BarrierRS implies obj is non-NULL");
+void G1ParCopyClosure<barrier, do_mark_object>::do_oop_work(T* p) {
+  T heap_oop = oopDesc::load_heap_oop(p);
+
+  if (oopDesc::is_null(heap_oop)) {
+    return;
+  }
+
+  oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
 
   assert(_worker_id == _par_scan_state->queue_num(), "sanity");
 
-  // here the null check is implicit in the cset_fast_test() test
   if (_g1->in_cset_fast_test(obj)) {
     oop forwardee;
     if (obj->is_forwarded()) {
       forwardee = obj->forwardee();
     } else {
-      forwardee = copy_to_survivor_space(obj);
+      forwardee = _par_scan_state->copy_to_survivor_space(obj);
     }
     assert(forwardee != NULL, "forwardee should not be NULL");
     oopDesc::encode_store_heap_oop(p, forwardee);
@@ -4829,32 +4817,25 @@
       mark_forwarded_object(obj, forwardee);
     }
 
-    // When scanning the RS, we only care about objs in CS.
-    if (barrier == G1BarrierRS) {
-      _par_scan_state->update_rs(_from, p, _worker_id);
-    } else if (barrier == G1BarrierKlass) {
+    if (barrier == G1BarrierKlass) {
       do_klass_barrier(p, forwardee);
     }
   } else {
     // The object is not in collection set. If we're a root scanning
     // closure during an initial mark pause (i.e. do_mark_object will
     // be true) then attempt to mark the object.
-    if (do_mark_object && _g1->is_in_g1_reserved(obj)) {
+    if (do_mark_object) {
       mark_object(obj);
     }
   }
 
-  if (barrier == G1BarrierEvac && obj != NULL) {
+  if (barrier == G1BarrierEvac) {
     _par_scan_state->update_rs(_from, p, _worker_id);
   }
-
-  if (do_gen_barrier && obj != NULL) {
-    par_do_barrier(p);
-  }
 }
 
-template void G1ParCopyClosure<false, G1BarrierEvac, false>::do_oop_work(oop* p);
-template void G1ParCopyClosure<false, G1BarrierEvac, false>::do_oop_work(narrowOop* p);
+template void G1ParCopyClosure<G1BarrierEvac, false>::do_oop_work(oop* p);
+template void G1ParCopyClosure<G1BarrierEvac, false>::do_oop_work(narrowOop* p);
 
 template <class T> void G1ParScanPartialArrayClosure::do_oop_nv(T* p) {
   assert(has_partial_array_mask(p), "invariant");
@@ -5045,7 +5026,7 @@
 
       ReferenceProcessor*             rp = _g1h->ref_processor_stw();
 
-      G1ParScanThreadState            pss(_g1h, worker_id);
+      G1ParScanThreadState            pss(_g1h, worker_id, rp);
       G1ParScanHeapEvacClosure        scan_evac_cl(_g1h, &pss, rp);
       G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, rp);
       G1ParScanPartialArrayClosure    partial_scan_cl(_g1h, &pss, rp);
@@ -5212,6 +5193,102 @@
   SharedHeap::process_weak_roots(root_closure, &roots_in_blobs);
 }
 
+class G1StringSymbolTableUnlinkTask : public AbstractGangTask {
+private:
+  BoolObjectClosure* _is_alive;
+  int _initial_string_table_size;
+  int _initial_symbol_table_size;
+
+  bool  _process_strings;
+  int _strings_processed;
+  int _strings_removed;
+
+  bool  _process_symbols;
+  int _symbols_processed;
+  int _symbols_removed;
+
+  bool _do_in_parallel;
+public:
+  G1StringSymbolTableUnlinkTask(BoolObjectClosure* is_alive, bool process_strings, bool process_symbols) :
+    AbstractGangTask("Par String/Symbol table unlink"), _is_alive(is_alive),
+    _do_in_parallel(G1CollectedHeap::use_parallel_gc_threads()),
+    _process_strings(process_strings), _strings_processed(0), _strings_removed(0),
+    _process_symbols(process_symbols), _symbols_processed(0), _symbols_removed(0) {
+
+    _initial_string_table_size = StringTable::the_table()->table_size();
+    _initial_symbol_table_size = SymbolTable::the_table()->table_size();
+    if (process_strings) {
+      StringTable::clear_parallel_claimed_index();
+    }
+    if (process_symbols) {
+      SymbolTable::clear_parallel_claimed_index();
+    }
+  }
+
+  ~G1StringSymbolTableUnlinkTask() {
+    guarantee(!_process_strings || !_do_in_parallel || StringTable::parallel_claimed_index() >= _initial_string_table_size,
+              err_msg("claim value "INT32_FORMAT" after unlink less than initial string table size "INT32_FORMAT,
+                      StringTable::parallel_claimed_index(), _initial_string_table_size));
+    guarantee(!_process_symbols || !_do_in_parallel || SymbolTable::parallel_claimed_index() >= _initial_symbol_table_size,
+              err_msg("claim value "INT32_FORMAT" after unlink less than initial symbol table size "INT32_FORMAT,
+                      SymbolTable::parallel_claimed_index(), _initial_symbol_table_size));
+  }
+
+  void work(uint worker_id) {
+    if (_do_in_parallel) {
+      int strings_processed = 0;
+      int strings_removed = 0;
+      int symbols_processed = 0;
+      int symbols_removed = 0;
+      if (_process_strings) {
+        StringTable::possibly_parallel_unlink(_is_alive, &strings_processed, &strings_removed);
+        Atomic::add(strings_processed, &_strings_processed);
+        Atomic::add(strings_removed, &_strings_removed);
+      }
+      if (_process_symbols) {
+        SymbolTable::possibly_parallel_unlink(&symbols_processed, &symbols_removed);
+        Atomic::add(symbols_processed, &_symbols_processed);
+        Atomic::add(symbols_removed, &_symbols_removed);
+      }
+    } else {
+      if (_process_strings) {
+        StringTable::unlink(_is_alive, &_strings_processed, &_strings_removed);
+      }
+      if (_process_symbols) {
+        SymbolTable::unlink(&_symbols_processed, &_symbols_removed);
+      }
+    }
+  }
+
+  size_t strings_processed() const { return (size_t)_strings_processed; }
+  size_t strings_removed()   const { return (size_t)_strings_removed; }
+
+  size_t symbols_processed() const { return (size_t)_symbols_processed; }
+  size_t symbols_removed()   const { return (size_t)_symbols_removed; }
+};
+
+void G1CollectedHeap::unlink_string_and_symbol_table(BoolObjectClosure* is_alive,
+                                                     bool process_strings, bool process_symbols) {
+  uint n_workers = (G1CollectedHeap::use_parallel_gc_threads() ?
+                   _g1h->workers()->active_workers() : 1);
+
+  G1StringSymbolTableUnlinkTask g1_unlink_task(is_alive, process_strings, process_symbols);
+  if (G1CollectedHeap::use_parallel_gc_threads()) {
+    set_par_threads(n_workers);
+    workers()->run_task(&g1_unlink_task);
+    set_par_threads(0);
+  } else {
+    g1_unlink_task.work(0);
+  }
+  if (G1TraceStringSymbolTableScrubbing) {
+    gclog_or_tty->print_cr("Cleaned string and symbol table, "
+                           "strings: "SIZE_FORMAT" processed, "SIZE_FORMAT" removed, "
+                           "symbols: "SIZE_FORMAT" processed, "SIZE_FORMAT" removed",
+                           g1_unlink_task.strings_processed(), g1_unlink_task.strings_removed(),
+                           g1_unlink_task.symbols_processed(), g1_unlink_task.symbols_removed());
+  }
+}
+
 // Weak Reference Processing support
 
 // An always "is_alive" closure that is used to preserve referents.
@@ -5392,7 +5469,7 @@
 
     G1STWIsAliveClosure is_alive(_g1h);
 
-    G1ParScanThreadState pss(_g1h, worker_id);
+    G1ParScanThreadState            pss(_g1h, worker_id, NULL);
 
     G1ParScanHeapEvacClosure        scan_evac_cl(_g1h, &pss, NULL);
     G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, NULL);
@@ -5504,7 +5581,7 @@
     ResourceMark rm;
     HandleMark   hm;
 
-    G1ParScanThreadState            pss(_g1h, worker_id);
+    G1ParScanThreadState            pss(_g1h, worker_id, NULL);
     G1ParScanHeapEvacClosure        scan_evac_cl(_g1h, &pss, NULL);
     G1ParScanHeapEvacFailureClosure evac_failure_cl(_g1h, &pss, NULL);
     G1ParScanPartialArrayClosure    partial_scan_cl(_g1h, &pss, NULL);
@@ -5630,7 +5707,7 @@
   // JNI refs.
 
   // Use only a single queue for this PSS.
-  G1ParScanThreadState pss(this, 0);
+  G1ParScanThreadState            pss(this, 0, NULL);
 
   // We do not embed a reference processor in the copying/scanning
   // closures while we're actually processing the discovered
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
index 69aa325..f9a19b5 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
@@ -209,7 +209,7 @@
   friend class OldGCAllocRegion;
 
   // Closures used in implementation.
-  template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
+  template <G1Barrier barrier, bool do_mark_object>
   friend class G1ParCopyClosure;
   friend class G1IsAliveClosure;
   friend class G1EvacuateFollowersClosure;
@@ -606,6 +606,11 @@
   // may not be a humongous - it must fit into a single heap region.
   HeapWord* par_allocate_during_gc(GCAllocPurpose purpose, size_t word_size);
 
+  HeapWord* allocate_during_gc_slow(GCAllocPurpose purpose,
+                                    HeapRegion*    alloc_region,
+                                    bool           par,
+                                    size_t         word_size);
+
   // Ensure that no further allocations can happen in "r", bearing in mind
   // that parallel threads might be attempting allocations.
   void par_allocate_remaining_space(HeapRegion* r);
@@ -698,23 +703,20 @@
   }
 
   // This is a fast test on whether a reference points into the
-  // collection set or not. It does not assume that the reference
-  // points into the heap; if it doesn't, it will return false.
+  // collection set or not. Assume that the reference
+  // points into the heap.
   bool in_cset_fast_test(oop obj) {
     assert(_in_cset_fast_test != NULL, "sanity");
-    if (_g1_committed.contains((HeapWord*) obj)) {
-      // no need to subtract the bottom of the heap from obj,
-      // _in_cset_fast_test is biased
-      uintx index = cast_from_oop<uintx>(obj) >> HeapRegion::LogOfHRGrainBytes;
-      bool ret = _in_cset_fast_test[index];
-      // let's make sure the result is consistent with what the slower
-      // test returns
-      assert( ret || !obj_in_cs(obj), "sanity");
-      assert(!ret ||  obj_in_cs(obj), "sanity");
-      return ret;
-    } else {
-      return false;
-    }
+    assert(_g1_committed.contains((HeapWord*) obj), err_msg("Given reference outside of heap, is "PTR_FORMAT, (HeapWord*)obj));
+    // no need to subtract the bottom of the heap from obj,
+    // _in_cset_fast_test is biased
+    uintx index = cast_from_oop<uintx>(obj) >> HeapRegion::LogOfHRGrainBytes;
+    bool ret = _in_cset_fast_test[index];
+    // let's make sure the result is consistent with what the slower
+    // test returns
+    assert( ret || !obj_in_cs(obj), "sanity");
+    assert(!ret ||  obj_in_cs(obj), "sanity");
+    return ret;
   }
 
   void clear_cset_fast_test() {
@@ -1677,6 +1679,10 @@
   // after a full GC
   void rebuild_strong_code_roots();
 
+  // Delete entries for dead interned string and clean up unreferenced symbols
+  // in symbol table, possibly in parallel.
+  void unlink_string_and_symbol_table(BoolObjectClosure* is_alive, bool unlink_strings = true, bool unlink_symbols = true);
+
   // Verification
 
   // The following is just to alert the verification code
@@ -1782,95 +1788,6 @@
     ParGCAllocBuffer::retire(end_of_gc, retain);
     _retired = true;
   }
-
-  bool is_retired() {
-    return _retired;
-  }
-};
-
-class G1ParGCAllocBufferContainer {
-protected:
-  static int const _priority_max = 2;
-  G1ParGCAllocBuffer* _priority_buffer[_priority_max];
-
-public:
-  G1ParGCAllocBufferContainer(size_t gclab_word_size) {
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      _priority_buffer[pr] = new G1ParGCAllocBuffer(gclab_word_size);
-    }
-  }
-
-  ~G1ParGCAllocBufferContainer() {
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      assert(_priority_buffer[pr]->is_retired(), "alloc buffers should all retire at this point.");
-      delete _priority_buffer[pr];
-    }
-  }
-
-  HeapWord* allocate(size_t word_sz) {
-    HeapWord* obj;
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      obj = _priority_buffer[pr]->allocate(word_sz);
-      if (obj != NULL) return obj;
-    }
-    return obj;
-  }
-
-  bool contains(void* addr) {
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      if (_priority_buffer[pr]->contains(addr)) return true;
-    }
-    return false;
-  }
-
-  void undo_allocation(HeapWord* obj, size_t word_sz) {
-    bool finish_undo;
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      if (_priority_buffer[pr]->contains(obj)) {
-        _priority_buffer[pr]->undo_allocation(obj, word_sz);
-        finish_undo = true;
-      }
-    }
-    if (!finish_undo) ShouldNotReachHere();
-  }
-
-  size_t words_remaining() {
-    size_t result = 0;
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      result += _priority_buffer[pr]->words_remaining();
-    }
-    return result;
-  }
-
-  size_t words_remaining_in_retired_buffer() {
-    G1ParGCAllocBuffer* retired = _priority_buffer[0];
-    return retired->words_remaining();
-  }
-
-  void flush_stats_and_retire(PLABStats* stats, bool end_of_gc, bool retain) {
-    for (int pr = 0; pr < _priority_max; ++pr) {
-      _priority_buffer[pr]->flush_stats_and_retire(stats, end_of_gc, retain);
-    }
-  }
-
-  void update(bool end_of_gc, bool retain, HeapWord* buf, size_t word_sz) {
-    G1ParGCAllocBuffer* retired_and_set = _priority_buffer[0];
-    retired_and_set->retire(end_of_gc, retain);
-    retired_and_set->set_buf(buf);
-    retired_and_set->set_word_size(word_sz);
-    adjust_priority_order();
-  }
-
-private:
-  void adjust_priority_order() {
-    G1ParGCAllocBuffer* retired_and_set = _priority_buffer[0];
-
-    int last = _priority_max - 1;
-    for (int pr = 0; pr < last; ++pr) {
-      _priority_buffer[pr] = _priority_buffer[pr + 1];
-    }
-    _priority_buffer[last] = retired_and_set;
-  }
 };
 
 class G1ParScanThreadState : public StackObj {
@@ -1881,11 +1798,13 @@
   G1SATBCardTableModRefBS* _ct_bs;
   G1RemSet* _g1_rem;
 
-  G1ParGCAllocBufferContainer  _surviving_alloc_buffer;
-  G1ParGCAllocBufferContainer  _tenured_alloc_buffer;
-  G1ParGCAllocBufferContainer* _alloc_buffers[GCAllocPurposeCount];
+  G1ParGCAllocBuffer  _surviving_alloc_buffer;
+  G1ParGCAllocBuffer  _tenured_alloc_buffer;
+  G1ParGCAllocBuffer* _alloc_buffers[GCAllocPurposeCount];
   ageTable            _age_table;
 
+  G1ParScanClosure    _scanner;
+
   size_t           _alloc_buffer_waste;
   size_t           _undo_waste;
 
@@ -1938,7 +1857,7 @@
   }
 
 public:
-  G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num);
+  G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
 
   ~G1ParScanThreadState() {
     FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC);
@@ -1947,7 +1866,7 @@
   RefToScanQueue*   refs()            { return _refs;             }
   ageTable*         age_table()       { return &_age_table;       }
 
-  G1ParGCAllocBufferContainer* alloc_buffer(GCAllocPurpose purpose) {
+  G1ParGCAllocBuffer* alloc_buffer(GCAllocPurpose purpose) {
     return _alloc_buffers[purpose];
   }
 
@@ -1977,13 +1896,15 @@
     HeapWord* obj = NULL;
     size_t gclab_word_size = _g1h->desired_plab_sz(purpose);
     if (word_sz * 100 < gclab_word_size * ParallelGCBufferWastePct) {
-      G1ParGCAllocBufferContainer* alloc_buf = alloc_buffer(purpose);
+      G1ParGCAllocBuffer* alloc_buf = alloc_buffer(purpose);
+      add_to_alloc_buffer_waste(alloc_buf->words_remaining());
+      alloc_buf->retire(false /* end_of_gc */, false /* retain */);
 
       HeapWord* buf = _g1h->par_allocate_during_gc(purpose, gclab_word_size);
       if (buf == NULL) return NULL; // Let caller handle allocation failure.
-
-      add_to_alloc_buffer_waste(alloc_buf->words_remaining_in_retired_buffer());
-      alloc_buf->update(false /* end_of_gc */, false /* retain */, buf, gclab_word_size);
+      // Otherwise.
+      alloc_buf->set_word_size(gclab_word_size);
+      alloc_buf->set_buf(buf);
 
       obj = alloc_buf->allocate(word_sz);
       assert(obj != NULL, "buffer was definitely big enough...");
@@ -2073,6 +1994,8 @@
     }
   }
 
+  oop copy_to_survivor_space(oop const obj);
+
   template <class T> void deal_with_reference(T* ref_to_scan) {
     if (has_partial_array_mask(ref_to_scan)) {
       _partial_scan_cl->do_oop_nv(ref_to_scan);
@@ -2095,6 +2018,7 @@
     }
   }
 
+public:
   void trim_queue();
 };
 
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
index 8765010..2add92e 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp
@@ -163,11 +163,8 @@
   // Prune dead klasses from subklass/sibling/implementor lists.
   Klass::clean_weak_klass_links(&GenMarkSweep::is_alive);
 
-  // Delete entries for dead interned strings.
-  StringTable::unlink(&GenMarkSweep::is_alive);
-
-  // Clean up unreferenced symbols in symbol table.
-  SymbolTable::unlink();
+  // Delete entries for dead interned string and clean up unreferenced symbols in symbol table.
+  G1CollectedHeap::heap()->unlink_string_and_symbol_table(&GenMarkSweep::is_alive);
 
   if (VerifyDuringGC) {
     HandleMark hm;  // handle scope
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.cpp
new file mode 100644
index 0000000..a30b004
--- /dev/null
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2014, 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
+#include "gc_implementation/g1/g1OopClosures.inline.hpp"
+
+G1ParCopyHelper::G1ParCopyHelper(G1CollectedHeap* g1,  G1ParScanThreadState* par_scan_state) :
+  G1ParClosureSuper(g1, par_scan_state), _scanned_klass(NULL),
+  _cm(_g1->concurrent_mark()) {}
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
index b616cb9..5eb5691 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -38,7 +38,7 @@
 
 // A class that scans oops in a given heap region (much as OopsInGenClosure
 // scans oops in a generation.)
-class OopsInHeapRegionClosure: public OopsInGenClosure {
+class OopsInHeapRegionClosure: public ExtendedOopClosure {
 protected:
   HeapRegion* _from;
 public:
@@ -48,12 +48,8 @@
 class G1ParClosureSuper : public OopsInHeapRegionClosure {
 protected:
   G1CollectedHeap* _g1;
-  G1RemSet* _g1_rem;
-  ConcurrentMark* _cm;
   G1ParScanThreadState* _par_scan_state;
   uint _worker_id;
-  bool _during_initial_mark;
-  bool _mark_in_progress;
 public:
   G1ParClosureSuper(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state);
   bool apply_to_weak_ref_discovered_field() { return true; }
@@ -86,13 +82,26 @@
 
 #define G1_PARTIAL_ARRAY_MASK 0x2
 
-template <class T> inline bool has_partial_array_mask(T* ref) {
+inline bool has_partial_array_mask(oop* ref) {
   return ((uintptr_t)ref & G1_PARTIAL_ARRAY_MASK) == G1_PARTIAL_ARRAY_MASK;
 }
 
-template <class T> inline T* set_partial_array_mask(T obj) {
+// We never encode partial array oops as narrowOop*, so return false immediately.
+// This allows the compiler to create optimized code when popping references from
+// the work queue.
+inline bool has_partial_array_mask(narrowOop* ref) {
+  assert(((uintptr_t)ref & G1_PARTIAL_ARRAY_MASK) != G1_PARTIAL_ARRAY_MASK, "Partial array oop reference encoded as narrowOop*");
+  return false;
+}
+
+// Only implement set_partial_array_mask() for regular oops, not for narrowOops.
+// We always encode partial arrays as regular oop, to allow the
+// specialization for has_partial_array_mask() for narrowOops above.
+// This means that unintentional use of this method with narrowOops are caught
+// by the compiler.
+inline oop* set_partial_array_mask(oop obj) {
   assert(((uintptr_t)(void *)obj & G1_PARTIAL_ARRAY_MASK) == 0, "Information loss!");
-  return (T*) ((uintptr_t)(void *)obj | G1_PARTIAL_ARRAY_MASK);
+  return (oop*) ((uintptr_t)(void *)obj | G1_PARTIAL_ARRAY_MASK);
 }
 
 template <class T> inline oop clear_partial_array_mask(T* ref) {
@@ -120,23 +129,10 @@
 
 // Add back base class for metadata
 class G1ParCopyHelper : public G1ParClosureSuper {
-  Klass* _scanned_klass;
-
- public:
-  G1ParCopyHelper(G1CollectedHeap* g1,  G1ParScanThreadState* par_scan_state) :
-      _scanned_klass(NULL),
-      G1ParClosureSuper(g1, par_scan_state) {}
-
-  void set_scanned_klass(Klass* k) { _scanned_klass = k; }
-  template <class T> void do_klass_barrier(T* p, oop new_obj);
-};
-
-template <bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
-class G1ParCopyClosure : public G1ParCopyHelper {
-  G1ParScanClosure _scanner;
-  template <class T> void do_oop_work(T* p);
-
 protected:
+  Klass* _scanned_klass;
+  ConcurrentMark* _cm;
+
   // Mark the object if it's not already marked. This is used to mark
   // objects pointed to by roots that are guaranteed not to move
   // during the GC (i.e., non-CSet objects). It is MT-safe.
@@ -146,42 +142,40 @@
   // objects pointed to by roots that have been forwarded during a
   // GC. It is MT-safe.
   void mark_forwarded_object(oop from_obj, oop to_obj);
+ public:
+  G1ParCopyHelper(G1CollectedHeap* g1,  G1ParScanThreadState* par_scan_state);
 
-  oop copy_to_survivor_space(oop obj);
+  void set_scanned_klass(Klass* k) { _scanned_klass = k; }
+  template <class T> void do_klass_barrier(T* p, oop new_obj);
+};
+
+template <G1Barrier barrier, bool do_mark_object>
+class G1ParCopyClosure : public G1ParCopyHelper {
+private:
+  template <class T> void do_oop_work(T* p);
 
 public:
   G1ParCopyClosure(G1CollectedHeap* g1, G1ParScanThreadState* par_scan_state,
                    ReferenceProcessor* rp) :
-      _scanner(g1, par_scan_state, rp),
       G1ParCopyHelper(g1, par_scan_state) {
     assert(_ref_processor == NULL, "sanity");
   }
 
-  G1ParScanClosure* scanner() { return &_scanner; }
-
-  template <class T> void do_oop_nv(T* p) {
-    do_oop_work(p);
-  }
+  template <class T> void do_oop_nv(T* p) { do_oop_work(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
 };
 
-typedef G1ParCopyClosure<false, G1BarrierNone, false> G1ParScanExtRootClosure;
-typedef G1ParCopyClosure<false, G1BarrierKlass, false> G1ParScanMetadataClosure;
+typedef G1ParCopyClosure<G1BarrierNone, false> G1ParScanExtRootClosure;
+typedef G1ParCopyClosure<G1BarrierKlass, false> G1ParScanMetadataClosure;
 
 
-typedef G1ParCopyClosure<false, G1BarrierNone, true> G1ParScanAndMarkExtRootClosure;
-typedef G1ParCopyClosure<true,  G1BarrierNone, true> G1ParScanAndMarkClosure;
-typedef G1ParCopyClosure<false, G1BarrierKlass, true> G1ParScanAndMarkMetadataClosure;
-
-// The following closure types are no longer used but are retained
-// for historical reasons:
-// typedef G1ParCopyClosure<false, G1BarrierRS,   false> G1ParScanHeapRSClosure;
-// typedef G1ParCopyClosure<false, G1BarrierRS,   true> G1ParScanAndMarkHeapRSClosure;
+typedef G1ParCopyClosure<G1BarrierNone, true> G1ParScanAndMarkExtRootClosure;
+typedef G1ParCopyClosure<G1BarrierKlass, true> G1ParScanAndMarkMetadataClosure;
 
 // The following closure type is defined in g1_specialized_oop_closures.hpp:
 //
-// typedef G1ParCopyClosure<false, G1BarrierEvac, false> G1ParScanHeapEvacClosure;
+// typedef G1ParCopyClosure<G1BarrierEvac, false> G1ParScanHeapEvacClosure;
 
 // We use a separate closure to handle references during evacuation
 // failure processing.
@@ -189,7 +183,7 @@
 // (since that closure no longer assumes that the references it
 // handles point into the collection set).
 
-typedef G1ParCopyClosure<false, G1BarrierEvac, false> G1ParScanHeapEvacFailureClosure;
+typedef G1ParCopyClosure<G1BarrierEvac, false> G1ParScanHeapEvacFailureClosure;
 
 class FilterIntoCSClosure: public ExtendedOopClosure {
   G1CollectedHeap* _g1;
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
index e26d2a6..9374d23 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
@@ -82,7 +82,7 @@
 
       _par_scan_state->push_on_queue(p);
     } else {
-      _par_scan_state->update_rs(_from, p, _par_scan_state->queue_num());
+      _par_scan_state->update_rs(_from, p, _worker_id);
     }
   }
 }
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
index c7d8049..f82fda9 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp
@@ -71,6 +71,9 @@
   diagnostic(bool, G1TraceConcRefinement, false,                            \
           "Trace G1 concurrent refinement")                                 \
                                                                             \
+  experimental(bool, G1TraceStringSymbolTableScrubbing, false,              \
+          "Trace information string and symbol table scrubbing.")           \
+                                                                            \
   product(double, G1ConcMarkStepDurationMillis, 10.0,                       \
           "Target duration of individual concurrent marking steps "         \
           "in milliseconds.")                                               \
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp
index e16561c..e10a658 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp
@@ -33,18 +33,17 @@
 // Forward declarations.
 enum G1Barrier {
   G1BarrierNone,
-  G1BarrierRS,
   G1BarrierEvac,
   G1BarrierKlass
 };
 
-template<bool do_gen_barrier, G1Barrier barrier, bool do_mark_object>
+template<G1Barrier barrier, bool do_mark_object>
 class G1ParCopyClosure;
 
 class G1ParScanClosure;
 class G1ParPushHeapRSClosure;
 
-typedef G1ParCopyClosure<false, G1BarrierEvac, false> G1ParScanHeapEvacClosure;
+typedef G1ParCopyClosure<G1BarrierEvac, false> G1ParScanHeapEvacClosure;
 
 class FilterIntoCSClosure;
 class FilterOutOfRegionClosure;
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
index a2f2fa7..0fb8766 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
@@ -23,6 +23,7 @@
  */
 
 #include "precompiled.hpp"
+#include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
 #include "gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp"
 #include "gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp"
 #include "gc_implementation/parallelScavenge/psScavenge.hpp"
@@ -76,6 +77,38 @@
   _old_gen_policy_is_ready = false;
 }
 
+size_t PSAdaptiveSizePolicy::calculate_free_based_on_live(size_t live, uintx ratio_as_percentage) {
+  // We want to calculate how much free memory there can be based on the
+  // amount of live data currently in the old gen. Using the formula:
+  // ratio * (free + live) = free
+  // Some equation solving later we get:
+  // free = (live * ratio) / (1 - ratio)
+
+  const double ratio = ratio_as_percentage / 100.0;
+  const double ratio_inverse = 1.0 - ratio;
+  const double tmp = live * ratio;
+  size_t free = (size_t)(tmp / ratio_inverse);
+
+  return free;
+}
+
+size_t PSAdaptiveSizePolicy::calculated_old_free_size_in_bytes() const {
+  size_t free_size = (size_t)(_promo_size + avg_promoted()->padded_average());
+  size_t live = ParallelScavengeHeap::heap()->old_gen()->used_in_bytes();
+
+  if (MinHeapFreeRatio != 0) {
+    size_t min_free = calculate_free_based_on_live(live, MinHeapFreeRatio);
+    free_size = MAX2(free_size, min_free);
+  }
+
+  if (MaxHeapFreeRatio != 100) {
+    size_t max_free = calculate_free_based_on_live(live, MaxHeapFreeRatio);
+    free_size = MIN2(max_free, free_size);
+  }
+
+  return free_size;
+}
+
 void PSAdaptiveSizePolicy::major_collection_begin() {
   // Update the interval time
   _major_timer.stop();
@@ -1292,3 +1325,18 @@
                           st,
                           PSScavenge::tenuring_threshold());
 }
+
+#ifndef PRODUCT
+
+void TestOldFreeSpaceCalculation_test() {
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(100, 20) == 25, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(100, 50) == 100, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(100, 60) == 150, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(100, 75) == 300, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(400, 20) == 100, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(400, 50) == 400, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(400, 60) == 600, "Calculation of free memory failed");
+  assert(PSAdaptiveSizePolicy::calculate_free_based_on_live(400, 75) == 1200, "Calculation of free memory failed");
+}
+
+#endif /* !PRODUCT */
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
index 3389911..5cea21a 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
@@ -240,7 +240,6 @@
   void major_collection_begin();
   void major_collection_end(size_t amount_live, GCCause::Cause gc_cause);
 
-  //
   void tenured_allocation(size_t size) {
     _avg_pretenured->sample(size);
   }
@@ -248,9 +247,9 @@
   // Accessors
   // NEEDS_CLEANUP   should use sizes.hpp
 
-  size_t calculated_old_free_size_in_bytes() const {
-    return (size_t)(_promo_size + avg_promoted()->padded_average());
-  }
+  static size_t calculate_free_based_on_live(size_t live, uintx ratio_as_percentage);
+
+  size_t calculated_old_free_size_in_bytes() const;
 
   size_t average_old_live_in_bytes() const {
     return (size_t) avg_old_live()->average();
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
index 66b23c4..1bc0cd5 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, 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
@@ -466,10 +466,12 @@
       }
     }
 
-    GCTraceTime tm("StringTable", false, false, &_gc_timer);
-    // Unlink any dead interned Strings and process the remaining live ones.
-    PSScavengeRootsClosure root_closure(promotion_manager);
-    StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure);
+    {
+      GCTraceTime tm("StringTable", false, false, &_gc_timer);
+      // Unlink any dead interned Strings and process the remaining live ones.
+      PSScavengeRootsClosure root_closure(promotion_manager);
+      StringTable::unlink_or_oops_do(&_is_alive_closure, &root_closure);
+    }
 
     // Finally, flush the promotion_manager's labs, and deallocate its stacks.
     promotion_failure_occurred = PSPromotionManager::post_scavenge(_gc_tracer);
@@ -527,8 +529,19 @@
           counters->update_survivor_overflowed(_survivor_overflow);
         }
 
+        size_t max_young_size = young_gen->max_size();
+
+        // Deciding a free ratio in the young generation is tricky, so if
+        // MinHeapFreeRatio or MaxHeapFreeRatio are in use (implicating
+        // that the old generation size may have been limited because of them) we
+        // should then limit our young generation size using NewRatio to have it
+        // follow the old generation size.
+        if (MinHeapFreeRatio != 0 || MaxHeapFreeRatio != 100) {
+          max_young_size = MIN2(old_gen->capacity_in_bytes() / NewRatio, young_gen->max_size());
+        }
+
         size_t survivor_limit =
-          size_policy->max_survivor_size(young_gen->max_size());
+          size_policy->max_survivor_size(max_young_size);
         _tenuring_threshold =
           size_policy->compute_survivor_space_size_and_threshold(
                                                            _survivor_overflow,
@@ -551,8 +564,7 @@
         // Do call at minor collections?
         // Don't check if the size_policy is ready at this
         // level.  Let the size_policy check that internally.
-        if (UseAdaptiveSizePolicy &&
-            UseAdaptiveGenerationSizePolicyAtMinorCollection &&
+        if (UseAdaptiveGenerationSizePolicyAtMinorCollection &&
             ((gc_cause != GCCause::_java_lang_system_gc) ||
               UseAdaptiveSizePolicyWithSystemGC)) {
 
@@ -566,7 +578,7 @@
           size_t eden_live = young_gen->eden_space()->used_in_bytes();
           size_t cur_eden = young_gen->eden_space()->capacity_in_bytes();
           size_t max_old_gen_size = old_gen->max_gen_size();
-          size_t max_eden_size = young_gen->max_size() -
+          size_t max_eden_size = max_young_size -
             young_gen->from_space()->capacity_in_bytes() -
             young_gen->to_space()->capacity_in_bytes();
 
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp
index 6bc8ef7..e3da6bd 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp
@@ -127,7 +127,7 @@
   void adjust_pointers();
   void compact();
 
-  // Called during/after gc
+  // Called during/after GC
   void swap_spaces();
 
   // Resize generation using suggested free space size and survivor size
@@ -146,14 +146,14 @@
   size_t free_in_words() const;
 
   // The max this generation can grow to
-  size_t max_size() const            { return _reserved.byte_size(); }
+  size_t max_size() const { return _reserved.byte_size(); }
 
   // The max this generation can grow to if the boundary between
   // the generations are allowed to move.
   size_t gen_size_limit() const { return _max_gen_size; }
 
   bool is_maximal_no_gc() const {
-    return true;  // never expands except at a GC
+    return true;  // Never expands except at a GC
   }
 
   // Allocation
diff --git a/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp b/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp
index 80a4a22..1f76ad3 100644
--- a/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp
+++ b/hotspot/src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp
@@ -158,7 +158,7 @@
   // Fills in the unallocated portion of the buffer with a garbage object.
   // If "end_of_gc" is TRUE, is after the last use in the GC.  IF "retain"
   // is true, attempt to re-use the unused portion in the next GC.
-  virtual void retire(bool end_of_gc, bool retain);
+  void retire(bool end_of_gc, bool retain);
 
   void print() PRODUCT_RETURN;
 };
diff --git a/hotspot/src/share/vm/interpreter/linkResolver.cpp b/hotspot/src/share/vm/interpreter/linkResolver.cpp
index b63e03b..aa11784 100644
--- a/hotspot/src/share/vm/interpreter/linkResolver.cpp
+++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -564,16 +564,7 @@
     }
   }
 
-  // 5. check if method is concrete
-  if (resolved_method->is_abstract() && !resolved_klass->is_abstract()) {
-    ResourceMark rm(THREAD);
-    THROW_MSG(vmSymbols::java_lang_AbstractMethodError(),
-              Method::name_and_sig_as_C_string(resolved_klass(),
-                                                      method_name,
-                                                      method_signature));
-  }
-
-  // 6. access checks, access checking may be turned off when calling from within the VM.
+  // 5. access checks, access checking may be turned off when calling from within the VM.
   if (check_access) {
     assert(current_klass.not_null() , "current_klass should not be null");
 
@@ -649,16 +640,6 @@
     }
   }
 
-  if (nostatics && resolved_method->is_static()) {
-    ResourceMark rm(THREAD);
-    char buf[200];
-    jio_snprintf(buf, sizeof(buf), "Expected instance not static method %s", Method::name_and_sig_as_C_string(resolved_klass(),
-                                                      resolved_method->name(),
-                                                      resolved_method->signature()));
-    THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf);
-  }
-
-
   if (check_access) {
     // JDK8 adds non-public interface methods, and accessability check requirement
     assert(current_klass.not_null() , "current_klass should not be null");
@@ -702,6 +683,15 @@
     }
   }
 
+  if (nostatics && resolved_method->is_static()) {
+    ResourceMark rm(THREAD);
+    char buf[200];
+    jio_snprintf(buf, sizeof(buf), "Expected instance not static method %s",
+                 Method::name_and_sig_as_C_string(resolved_klass(),
+                 resolved_method->name(), resolved_method->signature()));
+    THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), buf);
+  }
+
   if (TraceItables && Verbose) {
     ResourceMark rm(THREAD);
     tty->print("invokeinterface resolved method: caller-class:%s, compile-time-class:%s, method:%s, method_holder:%s, access_flags: ",
diff --git a/hotspot/src/share/vm/interpreter/rewriter.cpp b/hotspot/src/share/vm/interpreter/rewriter.cpp
index 208f861..2474ae7 100644
--- a/hotspot/src/share/vm/interpreter/rewriter.cpp
+++ b/hotspot/src/share/vm/interpreter/rewriter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -250,8 +250,8 @@
     // We will reverse the bytecode rewriting _after_ adjusting them.
     // Adjust the cache index by offset to the invokedynamic entries in the
     // cpCache plus the delta if the invokedynamic bytecodes were adjusted.
-    cache_index = cp_cache_delta() + _first_iteration_cp_cache_limit;
-    int cp_index = invokedynamic_cp_cache_entry_pool_index(cache_index);
+    int adjustment = cp_cache_delta() + _first_iteration_cp_cache_limit;
+    int cp_index = invokedynamic_cp_cache_entry_pool_index(cache_index - adjustment);
     assert(_pool->tag_at(cp_index).is_invoke_dynamic(), "wrong index");
     // zero out 4 bytes
     Bytes::put_Java_u4(p, 0);
@@ -453,18 +453,7 @@
   return method;
 }
 
-void Rewriter::rewrite(instanceKlassHandle klass, TRAPS) {
-  ResourceMark rm(THREAD);
-  Rewriter     rw(klass, klass->constants(), klass->methods(), CHECK);
-  // (That's all, folks.)
-}
-
-
-Rewriter::Rewriter(instanceKlassHandle klass, constantPoolHandle cpool, Array<Method*>* methods, TRAPS)
-  : _klass(klass),
-    _pool(cpool),
-    _methods(methods)
-{
+void Rewriter::rewrite_bytecodes(TRAPS) {
   assert(_pool->cache() == NULL, "constant pool cache must not be set yet");
 
   // determine index maps for Method* rewriting
@@ -508,6 +497,29 @@
   // May have to fix invokedynamic bytecodes if invokestatic/InterfaceMethodref
   // entries had to be added.
   patch_invokedynamic_bytecodes();
+}
+
+void Rewriter::rewrite(instanceKlassHandle klass, TRAPS) {
+  ResourceMark rm(THREAD);
+  Rewriter     rw(klass, klass->constants(), klass->methods(), CHECK);
+  // (That's all, folks.)
+}
+
+
+Rewriter::Rewriter(instanceKlassHandle klass, constantPoolHandle cpool, Array<Method*>* methods, TRAPS)
+  : _klass(klass),
+    _pool(cpool),
+    _methods(methods)
+{
+
+  // Rewrite bytecodes - exception here exits.
+  rewrite_bytecodes(CHECK);
+
+  // Stress restoring bytecodes
+  if (StressRewriter) {
+    restore_bytecodes();
+    rewrite_bytecodes(CHECK);
+  }
 
   // allocate constant pool cache, now that we've seen all the bytecodes
   make_constant_pool_cache(THREAD);
@@ -523,6 +535,7 @@
   // so methods with jsrs in custom class lists in aren't attempted to be
   // rewritten in the RO section of the shared archive.
   // Relocated bytecodes don't have to be restored, only the cp cache entries
+  int len = _methods->length();
   for (int i = len-1; i >= 0; i--) {
     methodHandle m(THREAD, _methods->at(i));
 
diff --git a/hotspot/src/share/vm/interpreter/rewriter.hpp b/hotspot/src/share/vm/interpreter/rewriter.hpp
index 2c7990f..aa4b7cd 100644
--- a/hotspot/src/share/vm/interpreter/rewriter.hpp
+++ b/hotspot/src/share/vm/interpreter/rewriter.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -199,6 +199,9 @@
 
   void patch_invokedynamic_bytecodes();
 
+  // Do all the work.
+  void rewrite_bytecodes(TRAPS);
+
   // Revert bytecodes in case of an exception.
   void restore_bytecodes();
 
diff --git a/hotspot/src/share/vm/memory/allocation.cpp b/hotspot/src/share/vm/memory/allocation.cpp
index 36c0d06..9841022 100644
--- a/hotspot/src/share/vm/memory/allocation.cpp
+++ b/hotspot/src/share/vm/memory/allocation.cpp
@@ -71,9 +71,8 @@
   return MetaspaceShared::is_in_shared_space(this);
 }
 
-
 bool MetaspaceObj::is_metaspace_object() const {
-  return Metaspace::contains((void*)this);
+  return ClassLoaderDataGraph::contains((void*)this);
 }
 
 void MetaspaceObj::print_address_on(outputStream* st) const {
@@ -140,7 +139,7 @@
 void ResourceObj::set_allocation_type(address res, allocation_type type) {
     // Set allocation type in the resource object
     uintptr_t allocation = (uintptr_t)res;
-    assert((allocation & allocation_mask) == 0, "address should be aligned to 4 bytes at least");
+    assert((allocation & allocation_mask) == 0, err_msg("address should be aligned to 4 bytes at least: " PTR_FORMAT, res));
     assert(type <= allocation_mask, "incorrect allocation type");
     ResourceObj* resobj = (ResourceObj *)res;
     resobj->_allocation_t[0] = ~(allocation + type);
diff --git a/hotspot/src/share/vm/memory/allocation.hpp b/hotspot/src/share/vm/memory/allocation.hpp
index 7397533..590b74f 100644
--- a/hotspot/src/share/vm/memory/allocation.hpp
+++ b/hotspot/src/share/vm/memory/allocation.hpp
@@ -264,7 +264,7 @@
 
 class MetaspaceObj {
  public:
-  bool is_metaspace_object() const;  // more specific test but slower
+  bool is_metaspace_object() const;
   bool is_shared() const;
   void print_address_on(outputStream* st) const;  // nonvirtual address printing
 
diff --git a/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp b/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp
index 30b0382..0ad161a 100644
--- a/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp
+++ b/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp
@@ -44,16 +44,16 @@
 // This is currently used in the Concurrent Mark&Sweep implementation.
 ////////////////////////////////////////////////////////////////////////////////
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t TreeChunk<Chunk_t, FreeList_t>::_min_tree_chunk_size = sizeof(TreeChunk<Chunk_t,  FreeList_t>)/HeapWordSize;
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>* TreeChunk<Chunk_t, FreeList_t>::as_TreeChunk(Chunk_t* fc) {
   // Do some assertion checking here.
   return (TreeChunk<Chunk_t, FreeList_t>*) fc;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void TreeChunk<Chunk_t, FreeList_t>::verify_tree_chunk_list() const {
   TreeChunk<Chunk_t, FreeList_t>* nextTC = (TreeChunk<Chunk_t, FreeList_t>*)next();
   if (prev() != NULL) { // interior list node shouldn'r have tree fields
@@ -67,11 +67,11 @@
   }
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>::TreeList() : _parent(NULL),
   _left(NULL), _right(NULL) {}
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>*
 TreeList<Chunk_t, FreeList_t>::as_TreeList(TreeChunk<Chunk_t,FreeList_t>* tc) {
   // This first free chunk in the list will be the tree list.
@@ -88,20 +88,7 @@
   return tl;
 }
 
-
-template <class Chunk_t, template <class> class FreeList_t>
-TreeList<Chunk_t, FreeList_t>*
-get_chunk(size_t size, enum FreeBlockDictionary<Chunk_t>::Dither dither) {
-  FreeBlockDictionary<Chunk_t>::verify_par_locked();
-  Chunk_t* res = get_chunk_from_tree(size, dither);
-  assert(res == NULL || res->is_free(),
-         "Should be returning a free chunk");
-  assert(dither != FreeBlockDictionary<Chunk_t>::exactly ||
-         res->size() == size, "Not correct size");
-  return res;
-}
-
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>*
 TreeList<Chunk_t, FreeList_t>::as_TreeList(HeapWord* addr, size_t size) {
   TreeChunk<Chunk_t, FreeList_t>* tc = (TreeChunk<Chunk_t, FreeList_t>*) addr;
@@ -125,17 +112,17 @@
 // an over populated size.  The general get_better_list() just returns
 // the current list.
 template <>
-TreeList<FreeChunk, AdaptiveFreeList>*
-TreeList<FreeChunk, AdaptiveFreeList>::get_better_list(
-  BinaryTreeDictionary<FreeChunk, ::AdaptiveFreeList>* dictionary) {
+TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >*
+TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >::get_better_list(
+  BinaryTreeDictionary<FreeChunk, ::AdaptiveFreeList<FreeChunk> >* dictionary) {
   // A candidate chunk has been found.  If it is already under
   // populated, get a chunk associated with the hint for this
   // chunk.
 
-  TreeList<FreeChunk, ::AdaptiveFreeList>* curTL = this;
+  TreeList<FreeChunk, ::AdaptiveFreeList<FreeChunk> >* curTL = this;
   if (surplus() <= 0) {
     /* Use the hint to find a size with a surplus, and reset the hint. */
-    TreeList<FreeChunk, ::AdaptiveFreeList>* hintTL = this;
+    TreeList<FreeChunk, ::AdaptiveFreeList<FreeChunk> >* hintTL = this;
     while (hintTL->hint() != 0) {
       assert(hintTL->hint() > hintTL->size(),
         "hint points in the wrong direction");
@@ -163,14 +150,14 @@
 }
 #endif // INCLUDE_ALL_GCS
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>*
 TreeList<Chunk_t, FreeList_t>::get_better_list(
   BinaryTreeDictionary<Chunk_t, FreeList_t>* dictionary) {
   return this;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>* TreeList<Chunk_t, FreeList_t>::remove_chunk_replace_if_needed(TreeChunk<Chunk_t, FreeList_t>* tc) {
 
   TreeList<Chunk_t, FreeList_t>* retTL = this;
@@ -286,7 +273,7 @@
   return retTL;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void TreeList<Chunk_t, FreeList_t>::return_chunk_at_tail(TreeChunk<Chunk_t, FreeList_t>* chunk) {
   assert(chunk != NULL, "returning NULL chunk");
   assert(chunk->list() == this, "list should be set for chunk");
@@ -301,7 +288,7 @@
   this->link_tail(chunk);
 
   assert(!tail() || size() == tail()->size(), "Wrong sized chunk in list");
-  FreeList_t<Chunk_t>::increment_count();
+  FreeList_t::increment_count();
   debug_only(this->increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
   assert(head() == NULL || head()->prev() == NULL, "list invariant");
   assert(tail() == NULL || tail()->next() == NULL, "list invariant");
@@ -311,7 +298,7 @@
 // is defined to be after the chunk pointer to by head().  This is
 // because the TreeList<Chunk_t, FreeList_t> is embedded in the first TreeChunk<Chunk_t, FreeList_t> in the
 // list.  See the definition of TreeChunk<Chunk_t, FreeList_t>.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void TreeList<Chunk_t, FreeList_t>::return_chunk_at_head(TreeChunk<Chunk_t, FreeList_t>* chunk) {
   assert(chunk->list() == this, "list should be set for chunk");
   assert(head() != NULL, "The tree list is embedded in the first chunk");
@@ -329,13 +316,13 @@
   }
   head()->link_after(chunk);
   assert(!head() || size() == head()->size(), "Wrong sized chunk in list");
-  FreeList_t<Chunk_t>::increment_count();
+  FreeList_t::increment_count();
   debug_only(this->increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
   assert(head() == NULL || head()->prev() == NULL, "list invariant");
   assert(tail() == NULL || tail()->next() == NULL, "list invariant");
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void TreeChunk<Chunk_t, FreeList_t>::assert_is_mangled() const {
   assert((ZapUnusedHeapArea &&
           SpaceMangler::is_mangled((HeapWord*) Chunk_t::size_addr()) &&
@@ -345,14 +332,14 @@
     "Space should be clear or mangled");
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>* TreeList<Chunk_t, FreeList_t>::head_as_TreeChunk() {
   assert(head() == NULL || (TreeChunk<Chunk_t, FreeList_t>::as_TreeChunk(head())->list() == this),
     "Wrong type of chunk?");
   return TreeChunk<Chunk_t, FreeList_t>::as_TreeChunk(head());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>* TreeList<Chunk_t, FreeList_t>::first_available() {
   assert(head() != NULL, "The head of the list cannot be NULL");
   Chunk_t* fc = head()->next();
@@ -369,7 +356,7 @@
 // Returns the block with the largest heap address amongst
 // those in the list for this size; potentially slow and expensive,
 // use with caution!
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>* TreeList<Chunk_t, FreeList_t>::largest_address() {
   assert(head() != NULL, "The head of the list cannot be NULL");
   Chunk_t* fc = head()->next();
@@ -392,7 +379,7 @@
   return retTC;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 BinaryTreeDictionary<Chunk_t, FreeList_t>::BinaryTreeDictionary(MemRegion mr) {
   assert((mr.byte_size() > min_size()), "minimum chunk size");
 
@@ -405,17 +392,17 @@
   assert(total_free_blocks() == 1, "reset check failed");
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::inc_total_size(size_t inc) {
   _total_size = _total_size + inc;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::dec_total_size(size_t dec) {
   _total_size = _total_size - dec;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::reset(MemRegion mr) {
   assert((mr.byte_size() > min_size()), "minimum chunk size");
   set_root(TreeList<Chunk_t, FreeList_t>::as_TreeList(mr.start(), mr.word_size()));
@@ -423,13 +410,13 @@
   set_total_free_blocks(1);
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::reset(HeapWord* addr, size_t byte_size) {
   MemRegion mr(addr, heap_word_size(byte_size));
   reset(mr);
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::reset() {
   set_root(NULL);
   set_total_size(0);
@@ -437,7 +424,7 @@
 }
 
 // Get a free block of size at least size from tree, or NULL.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>*
 BinaryTreeDictionary<Chunk_t, FreeList_t>::get_chunk_from_tree(
                               size_t size,
@@ -496,7 +483,7 @@
   return retTC;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>* BinaryTreeDictionary<Chunk_t, FreeList_t>::find_list(size_t size) const {
   TreeList<Chunk_t, FreeList_t>* curTL;
   for (curTL = root(); curTL != NULL;) {
@@ -515,7 +502,7 @@
 }
 
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 bool BinaryTreeDictionary<Chunk_t, FreeList_t>::verify_chunk_in_free_list(Chunk_t* tc) const {
   size_t size = tc->size();
   TreeList<Chunk_t, FreeList_t>* tl = find_list(size);
@@ -526,7 +513,7 @@
   }
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 Chunk_t* BinaryTreeDictionary<Chunk_t, FreeList_t>::find_largest_dict() const {
   TreeList<Chunk_t, FreeList_t> *curTL = root();
   if (curTL != NULL) {
@@ -541,7 +528,7 @@
 // chunk in a list on a tree node, just unlink it.
 // If it is the last chunk in the list (the next link is NULL),
 // remove the node and repair the tree.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeChunk<Chunk_t, FreeList_t>*
 BinaryTreeDictionary<Chunk_t, FreeList_t>::remove_chunk_from_tree(TreeChunk<Chunk_t, FreeList_t>* tc) {
   assert(tc != NULL, "Should not call with a NULL chunk");
@@ -682,7 +669,7 @@
 // Remove the leftmost node (lm) in the tree and return it.
 // If lm has a right child, link it to the left node of
 // the parent of lm.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 TreeList<Chunk_t, FreeList_t>* BinaryTreeDictionary<Chunk_t, FreeList_t>::remove_tree_minimum(TreeList<Chunk_t, FreeList_t>* tl) {
   assert(tl != NULL && tl->parent() != NULL, "really need a proper sub-tree");
   // locate the subtree minimum by walking down left branches
@@ -717,7 +704,7 @@
   return curTL;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::insert_chunk_in_tree(Chunk_t* fc) {
   TreeList<Chunk_t, FreeList_t> *curTL, *prevTL;
   size_t size = fc->size();
@@ -783,7 +770,7 @@
   }
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::max_chunk_size() const {
   FreeBlockDictionary<Chunk_t>::verify_par_locked();
   TreeList<Chunk_t, FreeList_t>* tc = root();
@@ -792,7 +779,7 @@
   return tc->size();
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_list_length(TreeList<Chunk_t, FreeList_t>* tl) const {
   size_t res;
   res = tl->count();
@@ -805,7 +792,7 @@
   return res;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_size_in_tree(TreeList<Chunk_t, FreeList_t>* tl) const {
   if (tl == NULL)
     return 0;
@@ -814,7 +801,7 @@
          total_size_in_tree(tl->right());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 double BinaryTreeDictionary<Chunk_t, FreeList_t>::sum_of_squared_block_sizes(TreeList<Chunk_t, FreeList_t>* const tl) const {
   if (tl == NULL) {
     return 0.0;
@@ -826,7 +813,7 @@
   return curr;
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_free_blocks_in_tree(TreeList<Chunk_t, FreeList_t>* tl) const {
   if (tl == NULL)
     return 0;
@@ -835,14 +822,14 @@
          total_free_blocks_in_tree(tl->right());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::num_free_blocks() const {
   assert(total_free_blocks_in_tree(root()) == total_free_blocks(),
          "_total_free_blocks inconsistency");
   return total_free_blocks();
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::tree_height_helper(TreeList<Chunk_t, FreeList_t>* tl) const {
   if (tl == NULL)
     return 0;
@@ -850,12 +837,12 @@
                   tree_height_helper(tl->right()));
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::tree_height() const {
   return tree_height_helper(root());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_nodes_helper(TreeList<Chunk_t, FreeList_t>* tl) const {
   if (tl == NULL) {
     return 0;
@@ -864,18 +851,18 @@
     total_nodes_helper(tl->right());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_nodes_in_tree(TreeList<Chunk_t, FreeList_t>* tl) const {
   return total_nodes_helper(root());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::dict_census_update(size_t size, bool split, bool birth){}
 
 #if INCLUDE_ALL_GCS
 template <>
-void AFLBinaryTreeDictionary::dict_census_update(size_t size, bool split, bool birth){
-  TreeList<FreeChunk, AdaptiveFreeList>* nd = find_list(size);
+void AFLBinaryTreeDictionary::dict_census_update(size_t size, bool split, bool birth) {
+  TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >* nd = find_list(size);
   if (nd) {
     if (split) {
       if (birth) {
@@ -903,7 +890,7 @@
 }
 #endif // INCLUDE_ALL_GCS
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 bool BinaryTreeDictionary<Chunk_t, FreeList_t>::coal_dict_over_populated(size_t size) {
   // For the general type of freelists, encourage coalescing by
   // returning true.
@@ -915,7 +902,7 @@
 bool AFLBinaryTreeDictionary::coal_dict_over_populated(size_t size) {
   if (FLSAlwaysCoalesceLarge) return true;
 
-  TreeList<FreeChunk, AdaptiveFreeList>* list_of_size = find_list(size);
+  TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >* list_of_size = find_list(size);
   // None of requested size implies overpopulated.
   return list_of_size == NULL || list_of_size->coal_desired() <= 0 ||
          list_of_size->count() > list_of_size->coal_desired();
@@ -928,15 +915,15 @@
 //   do_tree() walks the nodes in the binary tree applying do_list()
 //     to each list at each node.
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class TreeCensusClosure : public StackObj {
  protected:
-  virtual void do_list(FreeList_t<Chunk_t>* fl) = 0;
+  virtual void do_list(FreeList_t* fl) = 0;
  public:
   virtual void do_tree(TreeList<Chunk_t, FreeList_t>* tl) = 0;
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class AscendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
  public:
   void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
@@ -948,7 +935,7 @@
   }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class DescendTreeCensusClosure : public TreeCensusClosure<Chunk_t, FreeList_t> {
  public:
   void do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
@@ -962,7 +949,7 @@
 
 // For each list in the tree, calculate the desired, desired
 // coalesce, count before sweep, and surplus before sweep.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class BeginSweepClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   double _percentage;
   float _inter_sweep_current;
@@ -995,16 +982,16 @@
 // Similar to TreeCensusClosure but searches the
 // tree and returns promptly when found.
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class TreeSearchClosure : public StackObj {
  protected:
-  virtual bool do_list(FreeList_t<Chunk_t>* fl) = 0;
+  virtual bool do_list(FreeList_t* fl) = 0;
  public:
   virtual bool do_tree(TreeList<Chunk_t, FreeList_t>* tl) = 0;
 };
 
 #if 0 //  Don't need this yet but here for symmetry.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class AscendTreeSearchClosure : public TreeSearchClosure<Chunk_t> {
  public:
   bool do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
@@ -1018,7 +1005,7 @@
 };
 #endif
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class DescendTreeSearchClosure : public TreeSearchClosure<Chunk_t, FreeList_t> {
  public:
   bool do_tree(TreeList<Chunk_t, FreeList_t>* tl) {
@@ -1033,14 +1020,14 @@
 
 // Searches the tree for a chunk that ends at the
 // specified address.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class EndTreeSearchClosure : public DescendTreeSearchClosure<Chunk_t, FreeList_t> {
   HeapWord* _target;
   Chunk_t* _found;
 
  public:
   EndTreeSearchClosure(HeapWord* target) : _target(target), _found(NULL) {}
-  bool do_list(FreeList_t<Chunk_t>* fl) {
+  bool do_list(FreeList_t* fl) {
     Chunk_t* item = fl->head();
     while (item != NULL) {
       if (item->end() == (uintptr_t*) _target) {
@@ -1054,7 +1041,7 @@
   Chunk_t* found() { return _found; }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 Chunk_t* BinaryTreeDictionary<Chunk_t, FreeList_t>::find_chunk_ends_at(HeapWord* target) const {
   EndTreeSearchClosure<Chunk_t, FreeList_t> etsc(target);
   bool found_target = etsc.do_tree(root());
@@ -1063,7 +1050,7 @@
   return etsc.found();
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::begin_sweep_dict_census(double coalSurplusPercent,
   float inter_sweep_current, float inter_sweep_estimate, float intra_sweep_estimate) {
   BeginSweepClosure<Chunk_t, FreeList_t> bsc(coalSurplusPercent, inter_sweep_current,
@@ -1075,32 +1062,32 @@
 // Closures and methods for calculating total bytes returned to the
 // free lists in the tree.
 #ifndef PRODUCT
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class InitializeDictReturnedBytesClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
    public:
-  void do_list(FreeList_t<Chunk_t>* fl) {
+  void do_list(FreeList_t* fl) {
     fl->set_returned_bytes(0);
   }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::initialize_dict_returned_bytes() {
   InitializeDictReturnedBytesClosure<Chunk_t, FreeList_t> idrb;
   idrb.do_tree(root());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class ReturnedBytesClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   size_t _dict_returned_bytes;
  public:
   ReturnedBytesClosure() { _dict_returned_bytes = 0; }
-  void do_list(FreeList_t<Chunk_t>* fl) {
+  void do_list(FreeList_t* fl) {
     _dict_returned_bytes += fl->returned_bytes();
   }
   size_t dict_returned_bytes() { return _dict_returned_bytes; }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::sum_dict_returned_bytes() {
   ReturnedBytesClosure<Chunk_t, FreeList_t> rbc;
   rbc.do_tree(root());
@@ -1109,17 +1096,17 @@
 }
 
 // Count the number of entries in the tree.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class treeCountClosure : public DescendTreeCensusClosure<Chunk_t, FreeList_t> {
  public:
   uint count;
   treeCountClosure(uint c) { count = c; }
-  void do_list(FreeList_t<Chunk_t>* fl) {
+  void do_list(FreeList_t* fl) {
     count++;
   }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::total_count() {
   treeCountClosure<Chunk_t, FreeList_t> ctc(0);
   ctc.do_tree(root());
@@ -1128,7 +1115,7 @@
 #endif // PRODUCT
 
 // Calculate surpluses for the lists in the tree.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class setTreeSurplusClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   double percentage;
  public:
@@ -1144,14 +1131,14 @@
 #endif // INCLUDE_ALL_GCS
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::set_tree_surplus(double splitSurplusPercent) {
   setTreeSurplusClosure<Chunk_t, FreeList_t> sts(splitSurplusPercent);
   sts.do_tree(root());
 }
 
 // Set hints for the lists in the tree.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class setTreeHintsClosure : public DescendTreeCensusClosure<Chunk_t, FreeList_t> {
   size_t hint;
  public:
@@ -1170,14 +1157,14 @@
 #endif // INCLUDE_ALL_GCS
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::set_tree_hints(void) {
   setTreeHintsClosure<Chunk_t, FreeList_t> sth(0);
   sth.do_tree(root());
 }
 
 // Save count before previous sweep and splits and coalesces.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class clearTreeCensusClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   void do_list(FreeList<Chunk_t>* fl) {}
 
@@ -1192,14 +1179,14 @@
 #endif // INCLUDE_ALL_GCS
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::clear_tree_census(void) {
   clearTreeCensusClosure<Chunk_t, FreeList_t> ctc;
   ctc.do_tree(root());
 }
 
 // Do reporting and post sweep clean up.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::end_sweep_dict_census(double splitSurplusPercent) {
   // Does walking the tree 3 times hurt?
   set_tree_surplus(splitSurplusPercent);
@@ -1211,7 +1198,7 @@
 }
 
 // Print summary statistics
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::report_statistics() const {
   FreeBlockDictionary<Chunk_t>::verify_par_locked();
   gclog_or_tty->print("Statistics for BinaryTreeDictionary:\n"
@@ -1230,22 +1217,22 @@
 // Print census information - counts, births, deaths, etc.
 // for each list in the tree.  Also print some summary
 // information.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class PrintTreeCensusClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   int _print_line;
   size_t _total_free;
-  FreeList_t<Chunk_t> _total;
+  FreeList_t _total;
 
  public:
   PrintTreeCensusClosure() {
     _print_line = 0;
     _total_free = 0;
   }
-  FreeList_t<Chunk_t>* total() { return &_total; }
+  FreeList_t* total() { return &_total; }
   size_t total_free() { return _total_free; }
   void do_list(FreeList<Chunk_t>* fl) {
     if (++_print_line >= 40) {
-      FreeList_t<Chunk_t>::print_labels_on(gclog_or_tty, "size");
+      FreeList_t::print_labels_on(gclog_or_tty, "size");
       _print_line = 0;
     }
     fl->print_on(gclog_or_tty);
@@ -1256,7 +1243,7 @@
 #if INCLUDE_ALL_GCS
   void do_list(AdaptiveFreeList<Chunk_t>* fl) {
     if (++_print_line >= 40) {
-      FreeList_t<Chunk_t>::print_labels_on(gclog_or_tty, "size");
+      FreeList_t::print_labels_on(gclog_or_tty, "size");
       _print_line = 0;
     }
     fl->print_on(gclog_or_tty);
@@ -1275,16 +1262,16 @@
 #endif // INCLUDE_ALL_GCS
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::print_dict_census(void) const {
 
   gclog_or_tty->print("\nBinaryTree\n");
-  FreeList_t<Chunk_t>::print_labels_on(gclog_or_tty, "size");
+  FreeList_t::print_labels_on(gclog_or_tty, "size");
   PrintTreeCensusClosure<Chunk_t, FreeList_t> ptc;
   ptc.do_tree(root());
 
-  FreeList_t<Chunk_t>* total = ptc.total();
-  FreeList_t<Chunk_t>::print_labels_on(gclog_or_tty, " ");
+  FreeList_t* total = ptc.total();
+  FreeList_t::print_labels_on(gclog_or_tty, " ");
 }
 
 #if INCLUDE_ALL_GCS
@@ -1293,7 +1280,7 @@
 
   gclog_or_tty->print("\nBinaryTree\n");
   AdaptiveFreeList<FreeChunk>::print_labels_on(gclog_or_tty, "size");
-  PrintTreeCensusClosure<FreeChunk, AdaptiveFreeList> ptc;
+  PrintTreeCensusClosure<FreeChunk, AdaptiveFreeList<FreeChunk> > ptc;
   ptc.do_tree(root());
 
   AdaptiveFreeList<FreeChunk>* total = ptc.total();
@@ -1311,7 +1298,7 @@
 }
 #endif // INCLUDE_ALL_GCS
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class PrintFreeListsClosure : public AscendTreeCensusClosure<Chunk_t, FreeList_t> {
   outputStream* _st;
   int _print_line;
@@ -1321,9 +1308,9 @@
     _st = st;
     _print_line = 0;
   }
-  void do_list(FreeList_t<Chunk_t>* fl) {
+  void do_list(FreeList_t* fl) {
     if (++_print_line >= 40) {
-      FreeList_t<Chunk_t>::print_labels_on(_st, "size");
+      FreeList_t::print_labels_on(_st, "size");
       _print_line = 0;
     }
     fl->print_on(gclog_or_tty);
@@ -1337,10 +1324,10 @@
   }
 };
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::print_free_lists(outputStream* st) const {
 
-  FreeList_t<Chunk_t>::print_labels_on(st, "size");
+  FreeList_t::print_labels_on(st, "size");
   PrintFreeListsClosure<Chunk_t, FreeList_t> pflc(st);
   pflc.do_tree(root());
 }
@@ -1349,7 +1336,7 @@
 // . _root has no parent
 // . parent and child point to each other
 // . each node's key correctly related to that of its child(ren)
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::verify_tree() const {
   guarantee(root() == NULL || total_free_blocks() == 0 ||
     total_size() != 0, "_total_size should't be 0?");
@@ -1357,7 +1344,7 @@
   verify_tree_helper(root());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 size_t BinaryTreeDictionary<Chunk_t, FreeList_t>::verify_prev_free_ptrs(TreeList<Chunk_t, FreeList_t>* tl) {
   size_t ct = 0;
   for (Chunk_t* curFC = tl->head(); curFC != NULL; curFC = curFC->next()) {
@@ -1371,7 +1358,7 @@
 // Note: this helper is recursive rather than iterative, so use with
 // caution on very deep trees; and watch out for stack overflow errors;
 // In general, to be used only for debugging.
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::verify_tree_helper(TreeList<Chunk_t, FreeList_t>* tl) const {
   if (tl == NULL)
     return;
@@ -1400,25 +1387,25 @@
   verify_tree_helper(tl->right());
 }
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 void BinaryTreeDictionary<Chunk_t, FreeList_t>::verify() const {
   verify_tree();
   guarantee(total_size() == total_size_in_tree(root()), "Total Size inconsistency");
 }
 
-template class TreeList<Metablock, FreeList>;
-template class BinaryTreeDictionary<Metablock, FreeList>;
-template class TreeChunk<Metablock, FreeList>;
+template class TreeList<Metablock, FreeList<Metablock> >;
+template class BinaryTreeDictionary<Metablock, FreeList<Metablock> >;
+template class TreeChunk<Metablock, FreeList<Metablock> >;
 
-template class TreeList<Metachunk, FreeList>;
-template class BinaryTreeDictionary<Metachunk, FreeList>;
-template class TreeChunk<Metachunk, FreeList>;
+template class TreeList<Metachunk, FreeList<Metachunk> >;
+template class BinaryTreeDictionary<Metachunk, FreeList<Metachunk> >;
+template class TreeChunk<Metachunk, FreeList<Metachunk> >;
 
 
 #if INCLUDE_ALL_GCS
 // Explicitly instantiate these types for FreeChunk.
-template class TreeList<FreeChunk, AdaptiveFreeList>;
-template class BinaryTreeDictionary<FreeChunk, AdaptiveFreeList>;
-template class TreeChunk<FreeChunk, AdaptiveFreeList>;
+template class TreeList<FreeChunk, AdaptiveFreeList<FreeChunk> >;
+template class BinaryTreeDictionary<FreeChunk, AdaptiveFreeList<FreeChunk> >;
+template class TreeChunk<FreeChunk, AdaptiveFreeList<FreeChunk> >;
 
 #endif // INCLUDE_ALL_GCS
diff --git a/hotspot/src/share/vm/memory/binaryTreeDictionary.hpp b/hotspot/src/share/vm/memory/binaryTreeDictionary.hpp
index 23d7fe0..95696cf 100644
--- a/hotspot/src/share/vm/memory/binaryTreeDictionary.hpp
+++ b/hotspot/src/share/vm/memory/binaryTreeDictionary.hpp
@@ -37,18 +37,18 @@
 // A TreeList is a FreeList which can be used to maintain a
 // binary tree of free lists.
 
-template <class Chunk_t, template <class> class FreeList_t> class TreeChunk;
-template <class Chunk_t, template <class> class FreeList_t> class BinaryTreeDictionary;
-template <class Chunk_t, template <class> class FreeList_t> class AscendTreeCensusClosure;
-template <class Chunk_t, template <class> class FreeList_t> class DescendTreeCensusClosure;
-template <class Chunk_t, template <class> class FreeList_t> class DescendTreeSearchClosure;
+template <class Chunk_t, class FreeList_t> class TreeChunk;
+template <class Chunk_t, class FreeList_t> class BinaryTreeDictionary;
+template <class Chunk_t, class FreeList_t> class AscendTreeCensusClosure;
+template <class Chunk_t, class FreeList_t> class DescendTreeCensusClosure;
+template <class Chunk_t, class FreeList_t> class DescendTreeSearchClosure;
 
 class FreeChunk;
 template <class> class AdaptiveFreeList;
-typedef BinaryTreeDictionary<FreeChunk, AdaptiveFreeList> AFLBinaryTreeDictionary;
+typedef BinaryTreeDictionary<FreeChunk, AdaptiveFreeList<FreeChunk> > AFLBinaryTreeDictionary;
 
-template <class Chunk_t, template <class> class FreeList_t>
-class TreeList : public FreeList_t<Chunk_t> {
+template <class Chunk_t, class FreeList_t>
+class TreeList : public FreeList_t {
   friend class TreeChunk<Chunk_t, FreeList_t>;
   friend class BinaryTreeDictionary<Chunk_t, FreeList_t>;
   friend class AscendTreeCensusClosure<Chunk_t, FreeList_t>;
@@ -66,12 +66,12 @@
   TreeList<Chunk_t, FreeList_t>* right()  const { return _right;  }
 
   // Wrapper on call to base class, to get the template to compile.
-  Chunk_t* head() const { return FreeList_t<Chunk_t>::head(); }
-  Chunk_t* tail() const { return FreeList_t<Chunk_t>::tail(); }
-  void set_head(Chunk_t* head) { FreeList_t<Chunk_t>::set_head(head); }
-  void set_tail(Chunk_t* tail) { FreeList_t<Chunk_t>::set_tail(tail); }
+  Chunk_t* head() const { return FreeList_t::head(); }
+  Chunk_t* tail() const { return FreeList_t::tail(); }
+  void set_head(Chunk_t* head) { FreeList_t::set_head(head); }
+  void set_tail(Chunk_t* tail) { FreeList_t::set_tail(tail); }
 
-  size_t size() const { return FreeList_t<Chunk_t>::size(); }
+  size_t size() const { return FreeList_t::size(); }
 
   // Accessors for links in tree.
 
@@ -90,7 +90,7 @@
   void clear_left()               { _left = NULL;   }
   void clear_right()              { _right = NULL;  }
   void clear_parent()             { _parent = NULL; }
-  void initialize()               { clear_left(); clear_right(), clear_parent(); FreeList_t<Chunk_t>::initialize(); }
+  void initialize()               { clear_left(); clear_right(), clear_parent(); FreeList_t::initialize(); }
 
   // For constructing a TreeList from a Tree chunk or
   // address and size.
@@ -139,7 +139,7 @@
 // on the free list for a node in the tree and is only removed if
 // it is the last chunk on the free list.
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class TreeChunk : public Chunk_t {
   friend class TreeList<Chunk_t, FreeList_t>;
   TreeList<Chunk_t, FreeList_t>* _list;
@@ -173,7 +173,7 @@
 };
 
 
-template <class Chunk_t, template <class> class FreeList_t>
+template <class Chunk_t, class FreeList_t>
 class BinaryTreeDictionary: public FreeBlockDictionary<Chunk_t> {
   friend class VMStructs;
   size_t     _total_size;
diff --git a/hotspot/src/share/vm/memory/metachunk.hpp b/hotspot/src/share/vm/memory/metachunk.hpp
index 3bd4d15..e873dc6 100644
--- a/hotspot/src/share/vm/memory/metachunk.hpp
+++ b/hotspot/src/share/vm/memory/metachunk.hpp
@@ -143,6 +143,8 @@
   void set_is_tagged_free(bool v) { _is_tagged_free = v; }
 #endif
 
+  bool contains(const void* ptr) { return bottom() <= ptr && ptr < _top; }
+
   NOT_PRODUCT(void mangle();)
 
   void print_on(outputStream* st) const;
diff --git a/hotspot/src/share/vm/memory/metaspace.cpp b/hotspot/src/share/vm/memory/metaspace.cpp
index 19c0366..d780cc5 100644
--- a/hotspot/src/share/vm/memory/metaspace.cpp
+++ b/hotspot/src/share/vm/memory/metaspace.cpp
@@ -46,8 +46,8 @@
 #include "utilities/copy.hpp"
 #include "utilities/debug.hpp"
 
-typedef BinaryTreeDictionary<Metablock, FreeList> BlockTreeDictionary;
-typedef BinaryTreeDictionary<Metachunk, FreeList> ChunkTreeDictionary;
+typedef BinaryTreeDictionary<Metablock, FreeList<Metablock> > BlockTreeDictionary;
+typedef BinaryTreeDictionary<Metachunk, FreeList<Metachunk> > ChunkTreeDictionary;
 
 // Set this constant to enable slow integrity checking of the free chunk lists
 const bool metaspace_slow_verify = false;
@@ -513,8 +513,6 @@
   // Unlink empty VirtualSpaceNodes and free it.
   void purge(ChunkManager* chunk_manager);
 
-  bool contains(const void *ptr);
-
   void print_on(outputStream* st) const;
 
   class VirtualSpaceListIterator : public StackObj {
@@ -558,7 +556,7 @@
 
  private:
 
-  // protects allocations and contains.
+  // protects allocations
   Mutex* const _lock;
 
   // Type of metadata allocated.
@@ -595,7 +593,11 @@
  private:
   // Accessors
   Metachunk* chunks_in_use(ChunkIndex index) const { return _chunks_in_use[index]; }
-  void set_chunks_in_use(ChunkIndex index, Metachunk* v) { _chunks_in_use[index] = v; }
+  void set_chunks_in_use(ChunkIndex index, Metachunk* v) {
+    // ensure lock-free iteration sees fully initialized node
+    OrderAccess::storestore();
+    _chunks_in_use[index] = v;
+  }
 
   BlockFreelist* block_freelists() const {
     return (BlockFreelist*) &_block_freelists;
@@ -708,6 +710,8 @@
   void print_on(outputStream* st) const;
   void locked_print_chunks_in_use_on(outputStream* st) const;
 
+  bool contains(const void *ptr);
+
   void verify();
   void verify_chunk_size(Metachunk* chunk);
   NOT_PRODUCT(void mangle_freed_chunks();)
@@ -786,7 +790,7 @@
     return NULL;
   }
 
-  if (word_size < TreeChunk<Metablock, FreeList>::min_size()) {
+  if (word_size < TreeChunk<Metablock, FreeList<Metablock> >::min_size()) {
     // Dark matter.  Too small for dictionary.
     return NULL;
   }
@@ -806,7 +810,7 @@
   MetaWord* new_block = (MetaWord*)free_block;
   assert(block_size >= word_size, "Incorrect size of block from freelist");
   const size_t unused = block_size - word_size;
-  if (unused >= TreeChunk<Metablock, FreeList>::min_size()) {
+  if (unused >= TreeChunk<Metablock, FreeList<Metablock> >::min_size()) {
     return_block(new_block + word_size, unused);
   }
 
@@ -1159,8 +1163,6 @@
   } else {
     assert(new_entry->reserved_words() == vs_word_size,
         "Reserved memory size differs from requested memory size");
-    // ensure lock-free iteration sees fully initialized node
-    OrderAccess::storestore();
     link_vs(new_entry);
     return true;
   }
@@ -1287,19 +1289,6 @@
   }
 }
 
-bool VirtualSpaceList::contains(const void *ptr) {
-  VirtualSpaceNode* list = virtual_space_list();
-  VirtualSpaceListIterator iter(list);
-  while (iter.repeat()) {
-    VirtualSpaceNode* node = iter.get_next();
-    if (node->reserved()->contains(ptr)) {
-      return true;
-    }
-  }
-  return false;
-}
-
-
 // MetaspaceGC methods
 
 // VM_CollectForMetadataAllocation is the vm operation used to GC.
@@ -2250,7 +2239,7 @@
 void SpaceManager::deallocate(MetaWord* p, size_t word_size) {
   assert_lock_strong(_lock);
   size_t raw_word_size = get_raw_word_size(word_size);
-  size_t min_size = TreeChunk<Metablock, FreeList>::min_size();
+  size_t min_size = TreeChunk<Metablock, FreeList<Metablock> >::min_size();
   assert(raw_word_size >= min_size,
          err_msg("Should not deallocate dark matter " SIZE_FORMAT "<" SIZE_FORMAT, word_size, min_size));
   block_freelists()->return_block(p, raw_word_size);
@@ -2306,7 +2295,7 @@
 void SpaceManager::retire_current_chunk() {
   if (current_chunk() != NULL) {
     size_t remaining_words = current_chunk()->free_word_size();
-    if (remaining_words >= TreeChunk<Metablock, FreeList>::min_size()) {
+    if (remaining_words >= TreeChunk<Metablock, FreeList<Metablock> >::min_size()) {
       block_freelists()->return_block(current_chunk()->allocate(remaining_words), remaining_words);
       inc_used_metrics(remaining_words);
     }
@@ -2392,6 +2381,21 @@
   return result;
 }
 
+// This function looks at the chunks in the metaspace without locking.
+// The chunks are added with store ordering and not deleted except for at
+// unloading time.
+bool SpaceManager::contains(const void *ptr) {
+  for (ChunkIndex i = ZeroIndex; i < NumberOfInUseLists; i = next_chunk_index(i))
+  {
+    Metachunk* curr = chunks_in_use(i);
+    while (curr != NULL) {
+      if (curr->contains(ptr)) return true;
+      curr = curr->next();
+    }
+  }
+  return false;
+}
+
 void SpaceManager::verify() {
   // If there are blocks in the dictionary, then
   // verfication of chunks does not work since
@@ -3274,7 +3278,7 @@
     assert(Thread::current()->is_VM_thread(), "should be the VM thread");
     // Don't take Heap_lock
     MutexLockerEx ml(vsm()->lock(), Mutex::_no_safepoint_check_flag);
-    if (word_size < TreeChunk<Metablock, FreeList>::min_size()) {
+    if (word_size < TreeChunk<Metablock, FreeList<Metablock> >::min_size()) {
       // Dark matter.  Too small for dictionary.
 #ifdef ASSERT
       Copy::fill_to_words((HeapWord*)ptr, word_size, 0xf5f5f5f5);
@@ -3289,7 +3293,7 @@
   } else {
     MutexLockerEx ml(vsm()->lock(), Mutex::_no_safepoint_check_flag);
 
-    if (word_size < TreeChunk<Metablock, FreeList>::min_size()) {
+    if (word_size < TreeChunk<Metablock, FreeList<Metablock> >::min_size()) {
       // Dark matter.  Too small for dictionary.
 #ifdef ASSERT
       Copy::fill_to_words((HeapWord*)ptr, word_size, 0xf5f5f5f5);
@@ -3463,17 +3467,12 @@
   }
 }
 
-bool Metaspace::contains(const void * ptr) {
-  if (MetaspaceShared::is_in_shared_space(ptr)) {
-    return true;
+bool Metaspace::contains(const void* ptr) {
+  if (vsm()->contains(ptr)) return true;
+  if (using_class_space()) {
+    return class_vsm()->contains(ptr);
   }
-  // This is checked while unlocked.  As long as the virtualspaces are added
-  // at the end, the pointer will be in one of them.  The virtual spaces
-  // aren't deleted presently.  When they are, some sort of locking might
-  // be needed.  Note, locking this can cause inversion problems with the
-  // caller in MetaspaceObj::is_metadata() function.
-  return space_list()->contains(ptr) ||
-         (using_class_space() && class_space_list()->contains(ptr));
+  return false;
 }
 
 void Metaspace::verify() {
diff --git a/hotspot/src/share/vm/memory/metaspace.hpp b/hotspot/src/share/vm/memory/metaspace.hpp
index c22d217..96427cb 100644
--- a/hotspot/src/share/vm/memory/metaspace.hpp
+++ b/hotspot/src/share/vm/memory/metaspace.hpp
@@ -225,7 +225,7 @@
   MetaWord* expand_and_allocate(size_t size,
                                 MetadataType mdtype);
 
-  static bool contains(const void *ptr);
+  bool contains(const void* ptr);
   void dump(outputStream* const out) const;
 
   // Free empty virtualspaces
diff --git a/hotspot/src/share/vm/oops/arrayKlass.cpp b/hotspot/src/share/vm/oops/arrayKlass.cpp
index 9e40206..fcb46b1 100644
--- a/hotspot/src/share/vm/oops/arrayKlass.cpp
+++ b/hotspot/src/share/vm/oops/arrayKlass.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -214,8 +214,8 @@
 
 // Verification
 
-void ArrayKlass::verify_on(outputStream* st, bool check_dictionary) {
-  Klass::verify_on(st, check_dictionary);
+void ArrayKlass::verify_on(outputStream* st) {
+  Klass::verify_on(st);
 
   if (component_mirror() != NULL) {
     guarantee(component_mirror()->klass() != NULL, "should have a class");
diff --git a/hotspot/src/share/vm/oops/arrayKlass.hpp b/hotspot/src/share/vm/oops/arrayKlass.hpp
index 4b06f1c..7b4ad2e 100644
--- a/hotspot/src/share/vm/oops/arrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/arrayKlass.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -146,7 +146,7 @@
   void oop_print_on(oop obj, outputStream* st);
 
   // Verification
-  void verify_on(outputStream* st, bool check_dictionary);
+  void verify_on(outputStream* st);
 
   void oop_verify_on(oop obj, outputStream* st);
 };
diff --git a/hotspot/src/share/vm/oops/constantPool.cpp b/hotspot/src/share/vm/oops/constantPool.cpp
index 16b53a6..90abff7 100644
--- a/hotspot/src/share/vm/oops/constantPool.cpp
+++ b/hotspot/src/share/vm/oops/constantPool.cpp
@@ -82,6 +82,9 @@
 void ConstantPool::deallocate_contents(ClassLoaderData* loader_data) {
   MetadataFactory::free_metadata(loader_data, cache());
   set_cache(NULL);
+  MetadataFactory::free_array<u2>(loader_data, reference_map());
+  set_reference_map(NULL);
+
   MetadataFactory::free_array<jushort>(loader_data, operands());
   set_operands(NULL);
 
@@ -1292,6 +1295,7 @@
   } break;
 
   case JVM_CONSTANT_UnresolvedClass:
+  case JVM_CONSTANT_UnresolvedClassInError:
   {
     // Can be resolved after checking tag, so check the slot first.
     CPSlot entry = from_cp->slot_at(from_i);
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index a6ca58c..ac9340a 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -3180,7 +3180,7 @@
   virtual void do_oop(narrowOop* p) { VerifyFieldClosure::do_oop_work(p); }
 };
 
-void InstanceKlass::verify_on(outputStream* st, bool check_dictionary) {
+void InstanceKlass::verify_on(outputStream* st) {
 #ifndef PRODUCT
   // Avoid redundant verifies, this really should be in product.
   if (_verify_count == Universe::verify_count()) return;
@@ -3188,14 +3188,11 @@
 #endif
 
   // Verify Klass
-  Klass::verify_on(st, check_dictionary);
+  Klass::verify_on(st);
 
-  // Verify that klass is present in SystemDictionary if not already
-  // verifying the SystemDictionary.
-  if (is_loaded() && !is_anonymous() && check_dictionary) {
-    Symbol* h_name = name();
-    SystemDictionary::verify_obj_klass_present(h_name, class_loader_data());
-  }
+  // Verify that klass is present in ClassLoaderData
+  guarantee(class_loader_data()->contains_klass(this),
+            "this class isn't found in class loader data");
 
   // Verify vtables
   if (is_linked()) {
diff --git a/hotspot/src/share/vm/oops/instanceKlass.hpp b/hotspot/src/share/vm/oops/instanceKlass.hpp
index 2b7a73a..ba2bce8 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.hpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.hpp
@@ -1086,7 +1086,7 @@
   const char* internal_name() const;
 
   // Verification
-  void verify_on(outputStream* st, bool check_dictionary);
+  void verify_on(outputStream* st);
 
   void oop_verify_on(oop obj, outputStream* st);
 };
diff --git a/hotspot/src/share/vm/oops/klass.cpp b/hotspot/src/share/vm/oops/klass.cpp
index 22b570b..adca246 100644
--- a/hotspot/src/share/vm/oops/klass.cpp
+++ b/hotspot/src/share/vm/oops/klass.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -376,8 +376,6 @@
 }
 
 bool Klass::is_loader_alive(BoolObjectClosure* is_alive) {
-  assert(ClassLoaderDataGraph::contains((address)this), "is in the metaspace");
-
 #ifdef ASSERT
   // The class is alive iff the class loader is alive.
   oop loader = class_loader();
@@ -640,7 +638,7 @@
 
 // Verification
 
-void Klass::verify_on(outputStream* st, bool check_dictionary) {
+void Klass::verify_on(outputStream* st) {
 
   // This can be expensive, but it is worth checking that this klass is actually
   // in the CLD graph but not in production.
diff --git a/hotspot/src/share/vm/oops/klass.hpp b/hotspot/src/share/vm/oops/klass.hpp
index 9855fdd..a31a235 100644
--- a/hotspot/src/share/vm/oops/klass.hpp
+++ b/hotspot/src/share/vm/oops/klass.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -695,8 +695,8 @@
   virtual const char* internal_name() const = 0;
 
   // Verification
-  virtual void verify_on(outputStream* st, bool check_dictionary);
-  void verify(bool check_dictionary = true) { verify_on(tty, check_dictionary); }
+  virtual void verify_on(outputStream* st);
+  void verify() { verify_on(tty); }
 
 #ifndef PRODUCT
   bool verify_vtable_index(int index);
diff --git a/hotspot/src/share/vm/oops/objArrayKlass.cpp b/hotspot/src/share/vm/oops/objArrayKlass.cpp
index 7294ebe..3316a8b 100644
--- a/hotspot/src/share/vm/oops/objArrayKlass.cpp
+++ b/hotspot/src/share/vm/oops/objArrayKlass.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -674,8 +674,8 @@
 
 // Verification
 
-void ObjArrayKlass::verify_on(outputStream* st, bool check_dictionary) {
-  ArrayKlass::verify_on(st, check_dictionary);
+void ObjArrayKlass::verify_on(outputStream* st) {
+  ArrayKlass::verify_on(st);
   guarantee(element_klass()->is_klass(), "should be klass");
   guarantee(bottom_klass()->is_klass(), "should be klass");
   Klass* bk = bottom_klass();
diff --git a/hotspot/src/share/vm/oops/objArrayKlass.hpp b/hotspot/src/share/vm/oops/objArrayKlass.hpp
index af06fd4..cfe31e8 100644
--- a/hotspot/src/share/vm/oops/objArrayKlass.hpp
+++ b/hotspot/src/share/vm/oops/objArrayKlass.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -151,7 +151,7 @@
   const char* internal_name() const;
 
   // Verification
-  void verify_on(outputStream* st, bool check_dictionary);
+  void verify_on(outputStream* st);
 
   void oop_verify_on(oop obj, outputStream* st);
 };
diff --git a/hotspot/src/share/vm/opto/bytecodeInfo.cpp b/hotspot/src/share/vm/opto/bytecodeInfo.cpp
index 3e7b7a5..101d5f7 100644
--- a/hotspot/src/share/vm/opto/bytecodeInfo.cpp
+++ b/hotspot/src/share/vm/opto/bytecodeInfo.cpp
@@ -50,7 +50,10 @@
   _subtrees(c->comp_arena(), 2, 0, NULL),
   _msg(NULL)
 {
-  NOT_PRODUCT(_count_inlines = 0;)
+#ifndef PRODUCT
+  _count_inlines = 0;
+  _forced_inline = false;
+#endif
   if (_caller_jvms != NULL) {
     // Keep a private copy of the caller_jvms:
     _caller_jvms = new (C) JVMState(caller_jvms->method(), caller_tree->caller_jvms());
@@ -60,31 +63,14 @@
   assert(_caller_jvms->same_calls_as(caller_jvms), "consistent JVMS");
   assert((caller_tree == NULL ? 0 : caller_tree->stack_depth() + 1) == stack_depth(), "correct (redundant) depth parameter");
   assert(caller_bci == this->caller_bci(), "correct (redundant) bci parameter");
-  if (UseOldInlining) {
-    // Update hierarchical counts, count_inline_bcs() and count_inlines()
-    InlineTree *caller = (InlineTree *)caller_tree;
-    for( ; caller != NULL; caller = ((InlineTree *)(caller->caller_tree())) ) {
-      caller->_count_inline_bcs += count_inline_bcs();
-      NOT_PRODUCT(caller->_count_inlines++;)
-    }
+  // Update hierarchical counts, count_inline_bcs() and count_inlines()
+  InlineTree *caller = (InlineTree *)caller_tree;
+  for( ; caller != NULL; caller = ((InlineTree *)(caller->caller_tree())) ) {
+    caller->_count_inline_bcs += count_inline_bcs();
+    NOT_PRODUCT(caller->_count_inlines++;)
   }
 }
 
-InlineTree::InlineTree(Compile* c, ciMethod* callee_method, JVMState* caller_jvms,
-                       float site_invoke_ratio, int max_inline_level) :
-  C(c),
-  _caller_jvms(caller_jvms),
-  _caller_tree(NULL),
-  _method(callee_method),
-  _site_invoke_ratio(site_invoke_ratio),
-  _max_inline_level(max_inline_level),
-  _count_inline_bcs(method()->code_size()),
-  _msg(NULL)
-{
-  NOT_PRODUCT(_count_inlines = 0;)
-  assert(!UseOldInlining, "do not use for old stuff");
-}
-
 /**
  *  Return true when EA is ON and a java constructor is called or
  *  a super constructor is called from an inlined java constructor.
@@ -128,9 +114,19 @@
       tty->print_cr("Inlined method is hot: ");
     }
     set_msg("force inline by CompilerOracle");
+    _forced_inline = true;
     return true;
   }
 
+#ifndef PRODUCT
+  int inline_depth = inline_level()+1;
+  if (ciReplay::should_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) {
+    set_msg("force inline by ciReplay");
+    _forced_inline = true;
+    return true;
+  }
+#endif
+
   int size = callee_method->code_size_for_inlining();
 
   // Check for too many throws (and not too huge)
@@ -145,11 +141,6 @@
     return true;
   }
 
-  if (!UseOldInlining) {
-    set_msg("!UseOldInlining");
-    return true;  // size and frequency are represented in a new way
-  }
-
   int default_max_inline_size = C->max_inline_size();
   int inline_small_code_size  = InlineSmallCode / 4;
   int max_inline_size         = default_max_inline_size;
@@ -213,35 +204,6 @@
     fail_msg = "don't inline by annotation";
   }
 
-  if (!UseOldInlining) {
-    if (fail_msg != NULL) {
-      *wci_result = *(WarmCallInfo::always_cold());
-      set_msg(fail_msg);
-      return true;
-    }
-
-    if (callee_method->has_unloaded_classes_in_signature()) {
-      wci_result->set_profit(wci_result->profit() * 0.1);
-    }
-
-    // don't inline exception code unless the top method belongs to an
-    // exception class
-    if (callee_method->holder()->is_subclass_of(C->env()->Throwable_klass())) {
-      ciMethod* top_method = jvms->caller() != NULL ? jvms->caller()->of_depth(1)->method() : method();
-      if (!top_method->holder()->is_subclass_of(C->env()->Throwable_klass())) {
-        wci_result->set_profit(wci_result->profit() * 0.1);
-      }
-    }
-
-    if (callee_method->has_compiled_code() &&
-        callee_method->instructions_size() > InlineSmallCode) {
-      wci_result->set_profit(wci_result->profit() * 0.1);
-      // %%% adjust wci_result->size()?
-    }
-
-    return false;
-  }
-
   // one more inlining restriction
   if (fail_msg == NULL && callee_method->has_unloaded_classes_in_signature()) {
     fail_msg = "unloaded signature classes";
@@ -264,6 +226,18 @@
   }
 
 #ifndef PRODUCT
+  int caller_bci = jvms->bci();
+  int inline_depth = inline_level()+1;
+  if (ciReplay::should_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) {
+    set_msg("force inline by ciReplay");
+    return false;
+  }
+
+  if (ciReplay::should_not_inline(C->replay_inline_data(), callee_method, caller_bci, inline_depth)) {
+    set_msg("disallowed by ciReplay");
+    return true;
+  }
+
   if (ciReplay::should_not_inline(callee_method)) {
     set_msg("disallowed by ciReplay");
     return true;
@@ -332,9 +306,7 @@
                                int caller_bci, JVMState* jvms, ciCallProfile& profile,
                                WarmCallInfo* wci_result, bool& should_delay) {
 
-   // Old algorithm had funny accumulating BC-size counters
-  if (UseOldInlining && ClipInlining
-      && (int)count_inline_bcs() >= DesiredMethodLimit) {
+  if (ClipInlining && (int)count_inline_bcs() >= DesiredMethodLimit) {
     if (!callee_method->force_inline() || !IncrementalInline) {
       set_msg("size > DesiredMethodLimit");
       return false;
@@ -343,6 +315,7 @@
     }
   }
 
+  _forced_inline = false; // Reset
   if (!should_inline(callee_method, caller_method, caller_bci, profile,
                      wci_result)) {
     return false;
@@ -373,10 +346,10 @@
 
     if ((!UseInterpreter || CompileTheWorld) &&
         is_init_with_ea(callee_method, caller_method, C)) {
-
       // Escape Analysis stress testing when running Xcomp or CTW:
       // inline constructors even if they are not reached.
-
+    } else if (forced_inline()) {
+      // Inlining was forced by CompilerOracle or ciReplay
     } else if (profile.count() == 0) {
       // don't inline unreached call sites
        set_msg("call site not reached");
@@ -436,8 +409,7 @@
 
   int size = callee_method->code_size_for_inlining();
 
-  if (UseOldInlining && ClipInlining
-      && (int)count_inline_bcs() + size >= DesiredMethodLimit) {
+  if (ClipInlining && (int)count_inline_bcs() + size >= DesiredMethodLimit) {
     if (!callee_method->force_inline() || !IncrementalInline) {
       set_msg("size > DesiredMethodLimit");
       return false;
@@ -555,8 +527,7 @@
                                jvms, profile, &wci, should_delay);
 
 #ifndef PRODUCT
-  if (UseOldInlining && InlineWarmCalls
-      && (PrintOpto || C->print_inlining())) {
+  if (InlineWarmCalls && (PrintOpto || C->print_inlining())) {
     bool cold = wci.is_cold();
     bool hot  = !cold && wci.is_hot();
     bool old_cold = !success;
@@ -570,13 +541,12 @@
     }
   }
 #endif
-  if (UseOldInlining) {
-    if (success) {
-      wci = *(WarmCallInfo::always_hot());
-    } else {
-      wci = *(WarmCallInfo::always_cold());
-    }
+  if (success) {
+    wci = *(WarmCallInfo::always_hot());
+  } else {
+    wci = *(WarmCallInfo::always_cold());
   }
+
   if (!InlineWarmCalls) {
     if (!wci.is_cold() && !wci.is_hot()) {
       // Do not inline the warm calls.
@@ -590,8 +560,7 @@
       set_msg("inline (hot)");
     }
     print_inlining(callee_method, caller_bci, true /* success */);
-    if (UseOldInlining)
-      build_inline_tree_for_callee(callee_method, jvms, caller_bci);
+    build_inline_tree_for_callee(callee_method, jvms, caller_bci);
     if (InlineWarmCalls && !wci.is_hot())
       return new (C) WarmCallInfo(wci);  // copy to heap
     return WarmCallInfo::always_hot();
@@ -700,12 +669,28 @@
   return iltp;
 }
 
+// Count number of nodes in this subtree
+int InlineTree::count() const {
+  int result = 1;
+  for (int i = 0 ; i < _subtrees.length(); i++) {
+    result += _subtrees.at(i)->count();
+  }
+  return result;
+}
+
+void InlineTree::dump_replay_data(outputStream* out) {
+  out->print(" %d %d ", inline_level(), caller_bci());
+  method()->dump_name_as_ascii(out);
+  for (int i = 0 ; i < _subtrees.length(); i++) {
+    _subtrees.at(i)->dump_replay_data(out);
+  }
+}
 
 
 #ifndef PRODUCT
 void InlineTree::print_impl(outputStream* st, int indent) const {
   for (int i = 0; i < indent; i++) st->print(" ");
-  st->print(" @ %d ", caller_bci());
+  st->print(" @ %d", caller_bci());
   method()->print_short_name(st);
   st->cr();
 
diff --git a/hotspot/src/share/vm/opto/callGenerator.cpp b/hotspot/src/share/vm/opto/callGenerator.cpp
index 6e9c98d..a509f01 100644
--- a/hotspot/src/share/vm/opto/callGenerator.cpp
+++ b/hotspot/src/share/vm/opto/callGenerator.cpp
@@ -722,7 +722,7 @@
     Node* m = kit.map()->in(i);
     Node* n = slow_map->in(i);
     if (m != n) {
-      const Type* t = gvn.type(m)->meet(gvn.type(n));
+      const Type* t = gvn.type(m)->meet_speculative(gvn.type(n));
       Node* phi = PhiNode::make(region, m, t);
       phi->set_req(2, n);
       kit.map()->set_req(i, gvn.transform(phi));
@@ -975,7 +975,7 @@
     Node* m = kit.map()->in(i);
     Node* n = slow_map->in(i);
     if (m != n) {
-      const Type* t = gvn.type(m)->meet(gvn.type(n));
+      const Type* t = gvn.type(m)->meet_speculative(gvn.type(n));
       Node* phi = PhiNode::make(region, m, t);
       phi->set_req(2, n);
       kit.map()->set_req(i, gvn.transform(phi));
diff --git a/hotspot/src/share/vm/opto/cfgnode.cpp b/hotspot/src/share/vm/opto/cfgnode.cpp
index 36347fb..2522303 100644
--- a/hotspot/src/share/vm/opto/cfgnode.cpp
+++ b/hotspot/src/share/vm/opto/cfgnode.cpp
@@ -951,7 +951,7 @@
         if (is_intf != ti_is_intf)
           { t = _type; break; }
       }
-      t = t->meet(ti);
+      t = t->meet_speculative(ti);
     }
   }
 
@@ -968,11 +968,11 @@
   //
   // It is not possible to see Type::BOTTOM values as phi inputs,
   // because the ciTypeFlow pre-pass produces verifier-quality types.
-  const Type* ft = t->filter(_type);  // Worst case type
+  const Type* ft = t->filter_speculative(_type);  // Worst case type
 
 #ifdef ASSERT
   // The following logic has been moved into TypeOopPtr::filter.
-  const Type* jt = t->join(_type);
+  const Type* jt = t->join_speculative(_type);
   if( jt->empty() ) {           // Emptied out???
 
     // Check for evil case of 't' being a class and '_type' expecting an
@@ -1018,7 +1018,7 @@
           !jtkp->klass_is_exact() && // Keep exact interface klass (6894807)
           ttkp->is_loaded() && !ttkp->klass()->is_interface() ) {
         assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) ||
-               ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), "");
+               ft->isa_narrowklass() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), "");
         jt = ft;
       }
     }
@@ -1757,7 +1757,7 @@
           break;
         }
         // Accumulate type for resulting Phi
-        type = type->meet(in(i)->in(AddPNode::Base)->bottom_type());
+        type = type->meet_speculative(in(i)->in(AddPNode::Base)->bottom_type());
       }
       Node* base = NULL;
       if (doit) {
diff --git a/hotspot/src/share/vm/opto/chaitin.cpp b/hotspot/src/share/vm/opto/chaitin.cpp
index 492bf38..47fa4ba 100644
--- a/hotspot/src/share/vm/opto/chaitin.cpp
+++ b/hotspot/src/share/vm/opto/chaitin.cpp
@@ -1682,9 +1682,21 @@
       // (where top() node is placed).
       base->init_req(0, _cfg.get_root_node());
       Block *startb = _cfg.get_block_for_node(C->top());
-      startb->insert_node(base, startb->find_node(C->top()));
+      uint node_pos = startb->find_node(C->top());
+      startb->insert_node(base, node_pos);
       _cfg.map_node_to_block(base, startb);
       assert(_lrg_map.live_range_id(base) == 0, "should not have LRG yet");
+
+      // The loadConP0 might have projection nodes depending on architecture
+      // Add the projection nodes to the CFG
+      for (DUIterator_Fast imax, i = base->fast_outs(imax); i < imax; i++) {
+        Node* use = base->fast_out(i);
+        if (use->is_MachProj()) {
+          startb->insert_node(use, ++node_pos);
+          _cfg.map_node_to_block(use, startb);
+          new_lrg(use, maxlrg++);
+        }
+      }
     }
     if (_lrg_map.live_range_id(base) == 0) {
       new_lrg(base, maxlrg++);
diff --git a/hotspot/src/share/vm/opto/compile.cpp b/hotspot/src/share/vm/opto/compile.cpp
index 99d3cec..10b62f3 100644
--- a/hotspot/src/share/vm/opto/compile.cpp
+++ b/hotspot/src/share/vm/opto/compile.cpp
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "asm/macroAssembler.hpp"
 #include "asm/macroAssembler.inline.hpp"
+#include "ci/ciReplay.hpp"
 #include "classfile/systemDictionary.hpp"
 #include "code/exceptionHandlerTable.hpp"
 #include "code/nmethod.hpp"
@@ -647,6 +648,7 @@
                   _printer(IdealGraphPrinter::printer()),
 #endif
                   _congraph(NULL),
+                  _replay_inline_data(NULL),
                   _late_inlines(comp_arena(), 2, 0, NULL),
                   _string_late_inlines(comp_arena(), 2, 0, NULL),
                   _boxing_late_inlines(comp_arena(), 2, 0, NULL),
@@ -680,6 +682,10 @@
   }
   set_print_assembly(print_opto_assembly);
   set_parsed_irreducible_loop(false);
+
+  if (method()->has_option("ReplayInline")) {
+    _replay_inline_data = ciReplay::load_inline_data(method(), entry_bci(), ci_env->comp_level());
+  }
 #endif
   set_print_inlining(PrintInlining || method()->has_option("PrintInlining") NOT_PRODUCT( || PrintOptoInlining));
   set_print_intrinsics(PrintIntrinsics || method()->has_option("PrintIntrinsics"));
@@ -695,10 +701,7 @@
 
   print_compile_messages();
 
-  if (UseOldInlining || PrintCompilation NOT_PRODUCT( || PrintOpto) )
-    _ilt = InlineTree::build_inline_tree_root();
-  else
-    _ilt = NULL;
+  _ilt = InlineTree::build_inline_tree_root();
 
   // Even if NO memory addresses are used, MergeMem nodes must have at least 1 slice
   assert(num_alias_types() >= AliasIdxRaw, "");
@@ -849,6 +852,15 @@
 #endif
 
   NOT_PRODUCT( verify_barriers(); )
+
+  // Dump compilation data to replay it.
+  if (method()->has_option("DumpReplay")) {
+    env()->dump_replay_data(_compile_id);
+  }
+  if (method()->has_option("DumpInline") && (ilt() != NULL)) {
+    env()->dump_inline_data(_compile_id);
+  }
+
   // Now that we know the size of all the monitors we can add a fixed slot
   // for the original deopt pc.
 
@@ -938,6 +950,7 @@
     _dead_node_list(comp_arena()),
     _dead_node_count(0),
     _congraph(NULL),
+    _replay_inline_data(NULL),
     _number_of_mh_late_inlines(0),
     _inlining_progress(false),
     _inlining_incrementally(false),
@@ -3757,6 +3770,16 @@
   }
 }
 
+// Dump inlining replay data to the stream.
+// Don't change thread state and acquire any locks.
+void Compile::dump_inline_data(outputStream* out) {
+  InlineTree* inl_tree = ilt();
+  if (inl_tree != NULL) {
+    out->print(" inline %d", inl_tree->count());
+    inl_tree->dump_replay_data(out);
+  }
+}
+
 int Compile::cmp_expensive_nodes(Node* n1, Node* n2) {
   if (n1->Opcode() < n2->Opcode())      return -1;
   else if (n1->Opcode() > n2->Opcode()) return 1;
@@ -3893,16 +3916,18 @@
     // which may optimize it out.
     for (uint next = 0; next < worklist.size(); ++next) {
       Node *n  = worklist.at(next);
-      if (n->is_Type() && n->as_Type()->type()->isa_oopptr() != NULL &&
-          n->as_Type()->type()->is_oopptr()->speculative() != NULL) {
+      if (n->is_Type()) {
         TypeNode* tn = n->as_Type();
-        const TypeOopPtr* t = tn->type()->is_oopptr();
-        bool in_hash = igvn.hash_delete(n);
-        assert(in_hash, "node should be in igvn hash table");
-        tn->set_type(t->remove_speculative());
-        igvn.hash_insert(n);
-        igvn._worklist.push(n); // give it a chance to go away
-        modified++;
+        const Type* t = tn->type();
+        const Type* t_no_spec = t->remove_speculative();
+        if (t_no_spec != t) {
+          bool in_hash = igvn.hash_delete(n);
+          assert(in_hash, "node should be in igvn hash table");
+          tn->set_type(t_no_spec);
+          igvn.hash_insert(n);
+          igvn._worklist.push(n); // give it a chance to go away
+          modified++;
+        }
       }
       uint max = n->len();
       for( uint i = 0; i < max; ++i ) {
@@ -3916,6 +3941,27 @@
     if (modified > 0) {
       igvn.optimize();
     }
+#ifdef ASSERT
+    // Verify that after the IGVN is over no speculative type has resurfaced
+    worklist.clear();
+    worklist.push(root());
+    for (uint next = 0; next < worklist.size(); ++next) {
+      Node *n  = worklist.at(next);
+      const Type* t = igvn.type(n);
+      assert(t == t->remove_speculative(), "no more speculative types");
+      if (n->is_Type()) {
+        t = n->as_Type()->type();
+        assert(t == t->remove_speculative(), "no more speculative types");
+      }
+      uint max = n->len();
+      for( uint i = 0; i < max; ++i ) {
+        Node *m = n->in(i);
+        if (not_a_node(m))  continue;
+        worklist.push(m);
+      }
+    }
+    igvn.check_no_speculative_types();
+#endif
   }
 }
 
diff --git a/hotspot/src/share/vm/opto/compile.hpp b/hotspot/src/share/vm/opto/compile.hpp
index d248d9d..8858123 100644
--- a/hotspot/src/share/vm/opto/compile.hpp
+++ b/hotspot/src/share/vm/opto/compile.hpp
@@ -431,6 +431,8 @@
   // Are we within a PreserveJVMState block?
   int _preserve_jvm_state;
 
+  void* _replay_inline_data; // Pointer to data loaded from file
+
  public:
 
   outputStream* print_inlining_stream() const {
@@ -465,6 +467,11 @@
     print_inlining_stream()->print(ss.as_string());
   }
 
+  void* replay_inline_data() const { return _replay_inline_data; }
+
+  // Dump inlining replay data to the stream.
+  void dump_inline_data(outputStream* out);
+
  private:
   // Matching, CFG layout, allocation, code generation
   PhaseCFG*             _cfg;                   // Results of CFG finding
diff --git a/hotspot/src/share/vm/opto/connode.cpp b/hotspot/src/share/vm/opto/connode.cpp
index 948ff7b..0a71bc5 100644
--- a/hotspot/src/share/vm/opto/connode.cpp
+++ b/hotspot/src/share/vm/opto/connode.cpp
@@ -188,7 +188,7 @@
 const Type *CMoveNode::Value( PhaseTransform *phase ) const {
   if( phase->type(in(Condition)) == Type::TOP )
     return Type::TOP;
-  return phase->type(in(IfFalse))->meet(phase->type(in(IfTrue)));
+  return phase->type(in(IfFalse))->meet_speculative(phase->type(in(IfTrue)));
 }
 
 //------------------------------make-------------------------------------------
@@ -392,14 +392,14 @@
 //=============================================================================
 // If input is already higher or equal to cast type, then this is an identity.
 Node *ConstraintCastNode::Identity( PhaseTransform *phase ) {
-  return phase->type(in(1))->higher_equal(_type) ? in(1) : this;
+  return phase->type(in(1))->higher_equal_speculative(_type) ? in(1) : this;
 }
 
 //------------------------------Value------------------------------------------
 // Take 'join' of input and cast-up type
 const Type *ConstraintCastNode::Value( PhaseTransform *phase ) const {
   if( in(0) && phase->type(in(0)) == Type::TOP ) return Type::TOP;
-  const Type* ft = phase->type(in(1))->filter(_type);
+const Type* ft = phase->type(in(1))->filter_speculative(_type);
 
 #ifdef ASSERT
   // Previous versions of this function had some special case logic,
@@ -409,7 +409,7 @@
     {
       const Type* t1 = phase->type(in(1));
       if( t1 == Type::TOP )  assert(ft == Type::TOP, "special case #1");
-      const Type* rt = t1->join(_type);
+      const Type* rt = t1->join_speculative(_type);
       if (rt->empty())       assert(ft == Type::TOP, "special case #2");
       break;
     }
diff --git a/hotspot/src/share/vm/opto/connode.hpp b/hotspot/src/share/vm/opto/connode.hpp
index 53ff820..03a096b 100644
--- a/hotspot/src/share/vm/opto/connode.hpp
+++ b/hotspot/src/share/vm/opto/connode.hpp
@@ -36,7 +36,7 @@
 // Simple constants
 class ConNode : public TypeNode {
 public:
-  ConNode( const Type *t ) : TypeNode(t,1) {
+  ConNode( const Type *t ) : TypeNode(t->remove_speculative(),1) {
     init_req(0, (Node*)Compile::current()->root());
     init_flags(Flag_is_Con);
   }
diff --git a/hotspot/src/share/vm/opto/doCall.cpp b/hotspot/src/share/vm/opto/doCall.cpp
index 223f7da..e888b55 100644
--- a/hotspot/src/share/vm/opto/doCall.cpp
+++ b/hotspot/src/share/vm/opto/doCall.cpp
@@ -161,19 +161,8 @@
 
     // Try inlining a bytecoded method:
     if (!call_does_dispatch) {
-      InlineTree* ilt;
-      if (UseOldInlining) {
-        ilt = InlineTree::find_subtree_from_root(this->ilt(), jvms->caller(), jvms->method());
-      } else {
-        // Make a disembodied, stateless ILT.
-        // TO DO:  When UseOldInlining is removed, copy the ILT code elsewhere.
-        float site_invoke_ratio = prof_factor;
-        // Note:  ilt is for the root of this parse, not the present call site.
-        ilt = new InlineTree(this, jvms->method(), jvms->caller(), site_invoke_ratio, MaxInlineLevel);
-      }
+      InlineTree* ilt = InlineTree::find_subtree_from_root(this->ilt(), jvms->caller(), jvms->method());
       WarmCallInfo scratch_ci;
-      if (!UseOldInlining)
-        scratch_ci.init(jvms, callee, profile, prof_factor);
       bool should_delay = false;
       WarmCallInfo* ci = ilt->ok_to_inline(callee, jvms, profile, &scratch_ci, should_delay);
       assert(ci != &scratch_ci, "do not let this pointer escape");
diff --git a/hotspot/src/share/vm/opto/escape.cpp b/hotspot/src/share/vm/opto/escape.cpp
index 50afded..028aa24 100644
--- a/hotspot/src/share/vm/opto/escape.cpp
+++ b/hotspot/src/share/vm/opto/escape.cpp
@@ -1579,9 +1579,20 @@
         jobj->set_scalar_replaceable(false);
         return;
       }
+      // 2. An object is not scalar replaceable if the field into which it is
+      // stored has multiple bases one of which is null.
+      if (field->base_count() > 1) {
+        for (BaseIterator i(field); i.has_next(); i.next()) {
+          PointsToNode* base = i.get();
+          if (base == null_obj) {
+            jobj->set_scalar_replaceable(false);
+            return;
+          }
+        }
+      }
     }
     assert(use->is_Field() || use->is_LocalVar(), "sanity");
-    // 2. An object is not scalar replaceable if it is merged with other objects.
+    // 3. An object is not scalar replaceable if it is merged with other objects.
     for (EdgeIterator j(use); j.has_next(); j.next()) {
       PointsToNode* ptn = j.get();
       if (ptn->is_JavaObject() && ptn != jobj) {
@@ -1600,13 +1611,13 @@
     FieldNode* field = j.get()->as_Field();
     int offset = field->as_Field()->offset();
 
-    // 3. An object is not scalar replaceable if it has a field with unknown
+    // 4. An object is not scalar replaceable if it has a field with unknown
     // offset (array's element is accessed in loop).
     if (offset == Type::OffsetBot) {
       jobj->set_scalar_replaceable(false);
       return;
     }
-    // 4. Currently an object is not scalar replaceable if a LoadStore node
+    // 5. Currently an object is not scalar replaceable if a LoadStore node
     // access its field since the field value is unknown after it.
     //
     Node* n = field->ideal_node();
@@ -1617,7 +1628,7 @@
       }
     }
 
-    // 5. Or the address may point to more then one object. This may produce
+    // 6. Or the address may point to more then one object. This may produce
     // the false positive result (set not scalar replaceable)
     // since the flow-insensitive escape analysis can't separate
     // the case when stores overwrite the field's value from the case
diff --git a/hotspot/src/share/vm/opto/graphKit.cpp b/hotspot/src/share/vm/opto/graphKit.cpp
index c30cdc1..e7ec989 100644
--- a/hotspot/src/share/vm/opto/graphKit.cpp
+++ b/hotspot/src/share/vm/opto/graphKit.cpp
@@ -420,7 +420,7 @@
       }
       const Type* srctype = _gvn.type(src);
       if (phi->type() != srctype) {
-        const Type* dsttype = phi->type()->meet(srctype);
+        const Type* dsttype = phi->type()->meet_speculative(srctype);
         if (phi->type() != dsttype) {
           phi->set_type(dsttype);
           _gvn.set_type(phi, dsttype);
@@ -1223,7 +1223,7 @@
         // See if mixing in the NULL pointer changes type.
         // If so, then the NULL pointer was not allowed in the original
         // type.  In other words, "value" was not-null.
-        if (t->meet(TypePtr::NULL_PTR) != t) {
+        if (t->meet(TypePtr::NULL_PTR) != t->remove_speculative()) {
           // same as: if (!TypePtr::NULL_PTR->higher_equal(t)) ...
           explicit_null_checks_elided++;
           return value;           // Elided null check quickly!
@@ -1356,7 +1356,7 @@
 // Cast obj to not-null on this path
 Node* GraphKit::cast_not_null(Node* obj, bool do_replace_in_map) {
   const Type *t = _gvn.type(obj);
-  const Type *t_not_null = t->join(TypePtr::NOTNULL);
+  const Type *t_not_null = t->join_speculative(TypePtr::NOTNULL);
   // Object is already not-null?
   if( t == t_not_null ) return obj;
 
@@ -3009,7 +3009,7 @@
       if (failure_control != NULL) // failure is now impossible
         (*failure_control) = top();
       // adjust the type of the phi to the exact klass:
-      phi->raise_bottom_type(_gvn.type(cast_obj)->meet(TypePtr::NULL_PTR));
+      phi->raise_bottom_type(_gvn.type(cast_obj)->meet_speculative(TypePtr::NULL_PTR));
     }
   }
 
diff --git a/hotspot/src/share/vm/opto/library_call.cpp b/hotspot/src/share/vm/opto/library_call.cpp
index df6c29f..564aa7c 100644
--- a/hotspot/src/share/vm/opto/library_call.cpp
+++ b/hotspot/src/share/vm/opto/library_call.cpp
@@ -304,6 +304,7 @@
   bool inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id);
   Node* inline_cipherBlockChaining_AESCrypt_predicate(bool decrypting);
   Node* get_key_start_from_aescrypt_object(Node* aescrypt_object);
+  Node* get_original_key_start_from_aescrypt_object(Node* aescrypt_object);
   bool inline_encodeISOArray();
   bool inline_updateCRC32();
   bool inline_updateBytesCRC32();
@@ -5936,10 +5937,22 @@
   Node* k_start = get_key_start_from_aescrypt_object(aescrypt_object);
   if (k_start == NULL) return false;
 
-  // Call the stub.
-  make_runtime_call(RC_LEAF|RC_NO_FP, OptoRuntime::aescrypt_block_Type(),
-                    stubAddr, stubName, TypePtr::BOTTOM,
-                    src_start, dest_start, k_start);
+  if (Matcher::pass_original_key_for_aes()) {
+    // on SPARC we need to pass the original key since key expansion needs to happen in intrinsics due to
+    // compatibility issues between Java key expansion and SPARC crypto instructions
+    Node* original_k_start = get_original_key_start_from_aescrypt_object(aescrypt_object);
+    if (original_k_start == NULL) return false;
+
+    // Call the stub.
+    make_runtime_call(RC_LEAF|RC_NO_FP, OptoRuntime::aescrypt_block_Type(),
+                      stubAddr, stubName, TypePtr::BOTTOM,
+                      src_start, dest_start, k_start, original_k_start);
+  } else {
+    // Call the stub.
+    make_runtime_call(RC_LEAF|RC_NO_FP, OptoRuntime::aescrypt_block_Type(),
+                      stubAddr, stubName, TypePtr::BOTTOM,
+                      src_start, dest_start, k_start);
+  }
 
   return true;
 }
@@ -6017,14 +6030,29 @@
   if (objRvec == NULL) return false;
   Node* r_start = array_element_address(objRvec, intcon(0), T_BYTE);
 
-  // Call the stub, passing src_start, dest_start, k_start, r_start and src_len
-  make_runtime_call(RC_LEAF|RC_NO_FP,
-                    OptoRuntime::cipherBlockChaining_aescrypt_Type(),
-                    stubAddr, stubName, TypePtr::BOTTOM,
-                    src_start, dest_start, k_start, r_start, len);
+  Node* cbcCrypt;
+  if (Matcher::pass_original_key_for_aes()) {
+    // on SPARC we need to pass the original key since key expansion needs to happen in intrinsics due to
+    // compatibility issues between Java key expansion and SPARC crypto instructions
+    Node* original_k_start = get_original_key_start_from_aescrypt_object(aescrypt_object);
+    if (original_k_start == NULL) return false;
 
-  // return is void so no result needs to be pushed
+    // Call the stub, passing src_start, dest_start, k_start, r_start, src_len and original_k_start
+    cbcCrypt = make_runtime_call(RC_LEAF|RC_NO_FP,
+                                 OptoRuntime::cipherBlockChaining_aescrypt_Type(),
+                                 stubAddr, stubName, TypePtr::BOTTOM,
+                                 src_start, dest_start, k_start, r_start, len, original_k_start);
+  } else {
+    // Call the stub, passing src_start, dest_start, k_start, r_start and src_len
+    cbcCrypt = make_runtime_call(RC_LEAF|RC_NO_FP,
+                                 OptoRuntime::cipherBlockChaining_aescrypt_Type(),
+                                 stubAddr, stubName, TypePtr::BOTTOM,
+                                 src_start, dest_start, k_start, r_start, len);
+  }
 
+  // return cipher length (int)
+  Node* retvalue = _gvn.transform(new (C) ProjNode(cbcCrypt, TypeFunc::Parms));
+  set_result(retvalue);
   return true;
 }
 
@@ -6039,6 +6067,17 @@
   return k_start;
 }
 
+//------------------------------get_original_key_start_from_aescrypt_object-----------------------
+Node * LibraryCallKit::get_original_key_start_from_aescrypt_object(Node *aescrypt_object) {
+  Node* objAESCryptKey = load_field_from_object(aescrypt_object, "lastKey", "[B", /*is_exact*/ false);
+  assert (objAESCryptKey != NULL, "wrong version of com.sun.crypto.provider.AESCrypt");
+  if (objAESCryptKey == NULL) return (Node *) NULL;
+
+  // now have the array, need to get the start address of the lastKey array
+  Node* original_k_start = array_element_address(objAESCryptKey, intcon(0), T_BYTE);
+  return original_k_start;
+}
+
 //----------------------------inline_cipherBlockChaining_AESCrypt_predicate----------------------------
 // Return node representing slow path of predicate check.
 // the pseudo code we want to emulate with this predicate is:
diff --git a/hotspot/src/share/vm/opto/loopopts.cpp b/hotspot/src/share/vm/opto/loopopts.cpp
index ba19f74..ac97d3e 100644
--- a/hotspot/src/share/vm/opto/loopopts.cpp
+++ b/hotspot/src/share/vm/opto/loopopts.cpp
@@ -1115,8 +1115,8 @@
     Node *n2 = phi->in(i)->in(1)->in(2);
     phi1->set_req( i, n1 );
     phi2->set_req( i, n2 );
-    phi1->set_type( phi1->type()->meet(n1->bottom_type()) );
-    phi2->set_type( phi2->type()->meet(n2->bottom_type()) );
+    phi1->set_type( phi1->type()->meet_speculative(n1->bottom_type()));
+    phi2->set_type( phi2->type()->meet_speculative(n2->bottom_type()));
   }
   // See if these Phis have been made before.
   // Register with optimizer
@@ -1189,8 +1189,8 @@
     }
     phi1->set_req( j, n1 );
     phi2->set_req( j, n2 );
-    phi1->set_type( phi1->type()->meet(n1->bottom_type()) );
-    phi2->set_type( phi2->type()->meet(n2->bottom_type()) );
+    phi1->set_type(phi1->type()->meet_speculative(n1->bottom_type()));
+    phi2->set_type(phi2->type()->meet_speculative(n2->bottom_type()));
   }
 
   // See if these Phis have been made before.
diff --git a/hotspot/src/share/vm/opto/matcher.hpp b/hotspot/src/share/vm/opto/matcher.hpp
index f840d0c..c299717 100644
--- a/hotspot/src/share/vm/opto/matcher.hpp
+++ b/hotspot/src/share/vm/opto/matcher.hpp
@@ -286,6 +286,9 @@
   // CPU supports misaligned vectors store/load.
   static const bool misaligned_vectors_ok();
 
+  // Should original key array reference be passed to AES stubs
+  static const bool pass_original_key_for_aes();
+
   // Used to determine a "low complexity" 64-bit constant.  (Zero is simple.)
   // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI).
   // Depends on the details of 64-bit constant generation on the CPU.
diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp
index 14d347b..9e712dc 100644
--- a/hotspot/src/share/vm/opto/memnode.cpp
+++ b/hotspot/src/share/vm/opto/memnode.cpp
@@ -657,7 +657,7 @@
       // disregarding "null"-ness.
       // (We make an exception for TypeRawPtr::BOTTOM, which is a bit bucket.)
       const TypePtr* tp_notnull = tp->join(TypePtr::NOTNULL)->is_ptr();
-      assert(cross_check->meet(tp_notnull) == cross_check,
+      assert(cross_check->meet(tp_notnull) == cross_check->remove_speculative(),
              "real address must not escape from expected memory type");
     }
     #endif
@@ -1681,7 +1681,7 @@
       // t might actually be lower than _type, if _type is a unique
       // concrete subclass of abstract class t.
       if (off_beyond_header) {  // is the offset beyond the header?
-        const Type* jt = t->join(_type);
+        const Type* jt = t->join_speculative(_type);
         // In any case, do not allow the join, per se, to empty out the type.
         if (jt->empty() && !t->empty()) {
           // This can happen if a interface-typed array narrows to a class type.
diff --git a/hotspot/src/share/vm/opto/multnode.cpp b/hotspot/src/share/vm/opto/multnode.cpp
index 106a008..d9e04a2 100644
--- a/hotspot/src/share/vm/opto/multnode.cpp
+++ b/hotspot/src/share/vm/opto/multnode.cpp
@@ -94,7 +94,7 @@
   if ((_con == TypeFunc::Parms) &&
       n->is_CallStaticJava() && n->as_CallStaticJava()->is_boxing_method()) {
     // The result of autoboxing is always non-null on normal path.
-    t = t->join(TypePtr::NOTNULL);
+    t = t->join_speculative(TypePtr::NOTNULL);
   }
   return t;
 }
diff --git a/hotspot/src/share/vm/opto/node.cpp b/hotspot/src/share/vm/opto/node.cpp
index 06e74b6..d3ee58a 100644
--- a/hotspot/src/share/vm/opto/node.cpp
+++ b/hotspot/src/share/vm/opto/node.cpp
@@ -995,13 +995,13 @@
   if (is_Type()) {
     TypeNode *n = this->as_Type();
     if (VerifyAliases) {
-      assert(new_type->higher_equal(n->type()), "new type must refine old type");
+      assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
     }
     n->set_type(new_type);
   } else if (is_Load()) {
     LoadNode *n = this->as_Load();
     if (VerifyAliases) {
-      assert(new_type->higher_equal(n->type()), "new type must refine old type");
+      assert(new_type->higher_equal_speculative(n->type()), "new type must refine old type");
     }
     n->set_type(new_type);
   }
diff --git a/hotspot/src/share/vm/opto/output.cpp b/hotspot/src/share/vm/opto/output.cpp
index f362669..9ddb263 100644
--- a/hotspot/src/share/vm/opto/output.cpp
+++ b/hotspot/src/share/vm/opto/output.cpp
@@ -344,6 +344,11 @@
   uint*      jmp_offset = NEW_RESOURCE_ARRAY(uint,nblocks);
   uint*      jmp_size   = NEW_RESOURCE_ARRAY(uint,nblocks);
   int*       jmp_nidx   = NEW_RESOURCE_ARRAY(int ,nblocks);
+
+  // Collect worst case block paddings
+  int* block_worst_case_pad = NEW_RESOURCE_ARRAY(int, nblocks);
+  memset(block_worst_case_pad, 0, nblocks * sizeof(int));
+
   DEBUG_ONLY( uint *jmp_target = NEW_RESOURCE_ARRAY(uint,nblocks); )
   DEBUG_ONLY( uint *jmp_rule = NEW_RESOURCE_ARRAY(uint,nblocks); )
 
@@ -460,6 +465,7 @@
           last_avoid_back_to_back_adr += max_loop_pad;
         }
         blk_size += max_loop_pad;
+        block_worst_case_pad[i + 1] = max_loop_pad;
       }
     }
 
@@ -499,9 +505,16 @@
         if (bnum > i) { // adjust following block's offset
           offset -= adjust_block_start;
         }
+
+        // This block can be a loop header, account for the padding
+        // in the previous block.
+        int block_padding = block_worst_case_pad[i];
+        assert(i == 0 || block_padding == 0 || br_offs >= block_padding, "Should have at least a padding on top");
         // In the following code a nop could be inserted before
         // the branch which will increase the backward distance.
-        bool needs_padding = ((uint)br_offs == last_may_be_short_branch_adr);
+        bool needs_padding = ((uint)(br_offs - block_padding) == last_may_be_short_branch_adr);
+        assert(!needs_padding || jmp_offset[i] == 0, "padding only branches at the beginning of block");
+
         if (needs_padding && offset <= 0)
           offset -= nop_size;
 
diff --git a/hotspot/src/share/vm/opto/parse.hpp b/hotspot/src/share/vm/opto/parse.hpp
index 1e367d4..6da027e 100644
--- a/hotspot/src/share/vm/opto/parse.hpp
+++ b/hotspot/src/share/vm/opto/parse.hpp
@@ -141,6 +141,13 @@
   GrowableArray<InlineTree*> subtrees() { return _subtrees; }
 
   void print_value_on(outputStream* st) const PRODUCT_RETURN;
+
+  bool        _forced_inline;     // Inlining was forced by CompilerOracle or ciReplay
+  bool        forced_inline()     const { return _forced_inline; }
+  // Count number of nodes in this subtree
+  int         count() const;
+  // Dump inlining replay data to the stream.
+  void dump_replay_data(outputStream* out);
 };
 
 
diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp
index de7188f..747c78e 100644
--- a/hotspot/src/share/vm/opto/parse1.cpp
+++ b/hotspot/src/share/vm/opto/parse1.cpp
@@ -1649,7 +1649,7 @@
           assert(bt1 != Type::BOTTOM, "should not be building conflict phis");
           map()->set_req(j, _gvn.transform_no_reclaim(phi));
           debug_only(const Type* bt2 = phi->bottom_type());
-          assert(bt2->higher_equal(bt1), "must be consistent with type-flow");
+          assert(bt2->higher_equal_speculative(bt1), "must be consistent with type-flow");
           record_for_igvn(phi);
         }
       }
@@ -2022,7 +2022,7 @@
           !tp->klass()->is_interface()) {
         // sharpen the type eagerly; this eases certain assert checking
         if (tp->higher_equal(TypeInstPtr::NOTNULL))
-          tr = tr->join(TypeInstPtr::NOTNULL)->is_instptr();
+          tr = tr->join_speculative(TypeInstPtr::NOTNULL)->is_instptr();
         value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr));
       }
     }
diff --git a/hotspot/src/share/vm/opto/parse2.cpp b/hotspot/src/share/vm/opto/parse2.cpp
index 7574621..5435399 100644
--- a/hotspot/src/share/vm/opto/parse2.cpp
+++ b/hotspot/src/share/vm/opto/parse2.cpp
@@ -88,7 +88,7 @@
       if (toop->klass()->as_instance_klass()->unique_concrete_subklass()) {
         // If we load from "AbstractClass[]" we must see "ConcreteSubClass".
         const Type* subklass = Type::get_const_type(toop->klass());
-        elemtype = subklass->join(el);
+        elemtype = subklass->join_speculative(el);
       }
     }
   }
@@ -1278,7 +1278,7 @@
        //   Bool(CmpP(LoadKlass(obj._klass), ConP(Foo.klass)), [eq])
        // or the narrowOop equivalent.
        const Type* obj_type = _gvn.type(obj);
-       const TypeOopPtr* tboth = obj_type->join(con_type)->isa_oopptr();
+       const TypeOopPtr* tboth = obj_type->join_speculative(con_type)->isa_oopptr();
        if (tboth != NULL && tboth->klass_is_exact() && tboth != obj_type &&
            tboth->higher_equal(obj_type)) {
           // obj has to be of the exact type Foo if the CmpP succeeds.
@@ -1288,7 +1288,7 @@
               (jvms->is_loc(obj_in_map) || jvms->is_stk(obj_in_map))) {
             TypeNode* ccast = new (C) CheckCastPPNode(control(), obj, tboth);
             const Type* tcc = ccast->as_Type()->type();
-            assert(tcc != obj_type && tcc->higher_equal(obj_type), "must improve");
+            assert(tcc != obj_type && tcc->higher_equal_speculative(obj_type), "must improve");
             // Delay transform() call to allow recovery of pre-cast value
             // at the control merge.
             _gvn.set_type_bottom(ccast);
@@ -1318,7 +1318,7 @@
   switch (btest) {
   case BoolTest::eq:                    // Constant test?
     {
-      const Type* tboth = tcon->join(tval);
+      const Type* tboth = tcon->join_speculative(tval);
       if (tboth == tval)  break;        // Nothing to gain.
       if (tcon->isa_int()) {
         ccast = new (C) CastIINode(val, tboth);
@@ -1352,7 +1352,7 @@
 
   if (ccast != NULL) {
     const Type* tcc = ccast->as_Type()->type();
-    assert(tcc != tval && tcc->higher_equal(tval), "must improve");
+    assert(tcc != tval && tcc->higher_equal_speculative(tval), "must improve");
     // Delay transform() call to allow recovery of pre-cast value
     // at the control merge.
     ccast->set_req(0, control());
diff --git a/hotspot/src/share/vm/opto/parse3.cpp b/hotspot/src/share/vm/opto/parse3.cpp
index 8c545f3..a72fb7e 100644
--- a/hotspot/src/share/vm/opto/parse3.cpp
+++ b/hotspot/src/share/vm/opto/parse3.cpp
@@ -337,7 +337,7 @@
     //   should_be_constant = (oop not scavengable || ScavengeRootsInCode >= 2)
     // An oop is not scavengable if it is in the perm gen.
     if (stable_type != NULL && con_type != NULL && con_type->isa_oopptr())
-      con_type = con_type->join(stable_type);
+      con_type = con_type->join_speculative(stable_type);
     break;
 
   case T_ILLEGAL:
diff --git a/hotspot/src/share/vm/opto/phaseX.cpp b/hotspot/src/share/vm/opto/phaseX.cpp
index 3e6ab4e..fd08b06 100644
--- a/hotspot/src/share/vm/opto/phaseX.cpp
+++ b/hotspot/src/share/vm/opto/phaseX.cpp
@@ -323,6 +323,23 @@
   }
 }
 
+
+void NodeHash::check_no_speculative_types() {
+#ifdef ASSERT
+  uint max = size();
+  Node *sentinel_node = sentinel();
+  for (uint i = 0; i < max; ++i) {
+    Node *n = at(i);
+    if(n != NULL && n != sentinel_node && n->is_Type()) {
+      TypeNode* tn = n->as_Type();
+      const Type* t = tn->type();
+      const Type* t_no_spec = t->remove_speculative();
+      assert(t == t_no_spec, "dead node in hash table or missed node during speculative cleanup");
+    }
+  }
+#endif
+}
+
 #ifndef PRODUCT
 //------------------------------dump-------------------------------------------
 // Dump statistics for the hash table
@@ -1392,11 +1409,11 @@
   assert(UseTypeSpeculation, "speculation is off");
   for (uint i = 0; i < _types.Size(); i++)  {
     const Type* t = _types.fast_lookup(i);
-    if (t != NULL && t->isa_oopptr()) {
-      const TypeOopPtr* to = t->is_oopptr();
-      _types.map(i, to->remove_speculative());
+    if (t != NULL) {
+      _types.map(i, t->remove_speculative());
     }
   }
+  _table.check_no_speculative_types();
 }
 
 //=============================================================================
diff --git a/hotspot/src/share/vm/opto/phaseX.hpp b/hotspot/src/share/vm/opto/phaseX.hpp
index d03d47d..fcdd47e 100644
--- a/hotspot/src/share/vm/opto/phaseX.hpp
+++ b/hotspot/src/share/vm/opto/phaseX.hpp
@@ -92,7 +92,8 @@
   }
 
   void   remove_useless_nodes(VectorSet &useful); // replace with sentinel
-  void replace_with(NodeHash* nh);
+  void   replace_with(NodeHash* nh);
+  void   check_no_speculative_types(); // Check no speculative part for type nodes in table
 
   Node  *sentinel() { return _sentinel; }
 
@@ -501,6 +502,9 @@
                                         Deoptimization::DeoptReason reason);
 
   void remove_speculative_types();
+  void check_no_speculative_types() {
+    _table.check_no_speculative_types();
+  }
 
 #ifndef PRODUCT
 protected:
diff --git a/hotspot/src/share/vm/opto/runtime.cpp b/hotspot/src/share/vm/opto/runtime.cpp
index 6e09cb7..3ec8e7b 100644
--- a/hotspot/src/share/vm/opto/runtime.cpp
+++ b/hotspot/src/share/vm/opto/runtime.cpp
@@ -814,12 +814,18 @@
 const TypeFunc* OptoRuntime::aescrypt_block_Type() {
   // create input type (domain)
   int num_args      = 3;
+  if (Matcher::pass_original_key_for_aes()) {
+    num_args = 4;
+  }
   int argcnt = num_args;
   const Type** fields = TypeTuple::fields(argcnt);
   int argp = TypeFunc::Parms;
   fields[argp++] = TypePtr::NOTNULL;    // src
   fields[argp++] = TypePtr::NOTNULL;    // dest
   fields[argp++] = TypePtr::NOTNULL;    // k array
+  if (Matcher::pass_original_key_for_aes()) {
+    fields[argp++] = TypePtr::NOTNULL;    // original k array
+  }
   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 
@@ -856,6 +862,9 @@
 const TypeFunc* OptoRuntime::cipherBlockChaining_aescrypt_Type() {
   // create input type (domain)
   int num_args      = 5;
+  if (Matcher::pass_original_key_for_aes()) {
+    num_args = 6;
+  }
   int argcnt = num_args;
   const Type** fields = TypeTuple::fields(argcnt);
   int argp = TypeFunc::Parms;
@@ -864,13 +873,16 @@
   fields[argp++] = TypePtr::NOTNULL;    // k array
   fields[argp++] = TypePtr::NOTNULL;    // r array
   fields[argp++] = TypeInt::INT;        // src len
+  if (Matcher::pass_original_key_for_aes()) {
+    fields[argp++] = TypePtr::NOTNULL;    // original k array
+  }
   assert(argp == TypeFunc::Parms+argcnt, "correct decoding");
   const TypeTuple* domain = TypeTuple::make(TypeFunc::Parms+argcnt, fields);
 
-  // no result type needed
+  // returning cipher len (int)
   fields = TypeTuple::fields(1);
-  fields[TypeFunc::Parms+0] = NULL; // void
-  const TypeTuple* range = TypeTuple::make(TypeFunc::Parms, fields);
+  fields[TypeFunc::Parms+0] = TypeInt::INT;
+  const TypeTuple* range = TypeTuple::make(TypeFunc::Parms+1, fields);
   return TypeFunc::make(domain, range);
 }
 
diff --git a/hotspot/src/share/vm/opto/type.cpp b/hotspot/src/share/vm/opto/type.cpp
index 3f62819..181e69a 100644
--- a/hotspot/src/share/vm/opto/type.cpp
+++ b/hotspot/src/share/vm/opto/type.cpp
@@ -236,6 +236,13 @@
   return !t1->eq(t2);           // Return ZERO if equal
 }
 
+const Type* Type::maybe_remove_speculative(bool include_speculative) const {
+  if (!include_speculative) {
+    return remove_speculative();
+  }
+  return this;
+}
+
 //------------------------------hash-------------------------------------------
 int Type::uhash( const Type *const t ) {
   return t->hash();
@@ -628,41 +635,44 @@
 //------------------------------meet-------------------------------------------
 // Compute the MEET of two types.  NOT virtual.  It enforces that meet is
 // commutative and the lattice is symmetric.
-const Type *Type::meet( const Type *t ) const {
+const Type *Type::meet_helper(const Type *t, bool include_speculative) const {
   if (isa_narrowoop() && t->isa_narrowoop()) {
-    const Type* result = make_ptr()->meet(t->make_ptr());
+    const Type* result = make_ptr()->meet_helper(t->make_ptr(), include_speculative);
     return result->make_narrowoop();
   }
   if (isa_narrowklass() && t->isa_narrowklass()) {
-    const Type* result = make_ptr()->meet(t->make_ptr());
+    const Type* result = make_ptr()->meet_helper(t->make_ptr(), include_speculative);
     return result->make_narrowklass();
   }
 
-  const Type *mt = xmeet(t);
+  const Type *this_t = maybe_remove_speculative(include_speculative);
+  t = t->maybe_remove_speculative(include_speculative);
+
+  const Type *mt = this_t->xmeet(t);
   if (isa_narrowoop() || t->isa_narrowoop()) return mt;
   if (isa_narrowklass() || t->isa_narrowklass()) return mt;
 #ifdef ASSERT
-  assert( mt == t->xmeet(this), "meet not commutative" );
+  assert(mt == t->xmeet(this_t), "meet not commutative");
   const Type* dual_join = mt->_dual;
   const Type *t2t    = dual_join->xmeet(t->_dual);
-  const Type *t2this = dual_join->xmeet(   _dual);
+  const Type *t2this = dual_join->xmeet(this_t->_dual);
 
   // Interface meet Oop is Not Symmetric:
   // Interface:AnyNull meet Oop:AnyNull == Interface:AnyNull
   // Interface:NotNull meet Oop:NotNull == java/lang/Object:NotNull
 
-  if( !interface_vs_oop(t) && (t2t != t->_dual || t2this != _dual) ) {
+  if( !interface_vs_oop(t) && (t2t != t->_dual || t2this != this_t->_dual) ) {
     tty->print_cr("=== Meet Not Symmetric ===");
-    tty->print("t   =                   ");         t->dump(); tty->cr();
-    tty->print("this=                   ");            dump(); tty->cr();
-    tty->print("mt=(t meet this)=       ");        mt->dump(); tty->cr();
+    tty->print("t   =                   ");              t->dump(); tty->cr();
+    tty->print("this=                   ");         this_t->dump(); tty->cr();
+    tty->print("mt=(t meet this)=       ");             mt->dump(); tty->cr();
 
-    tty->print("t_dual=                 ");  t->_dual->dump(); tty->cr();
-    tty->print("this_dual=              ");     _dual->dump(); tty->cr();
-    tty->print("mt_dual=                "); mt->_dual->dump(); tty->cr();
+    tty->print("t_dual=                 ");       t->_dual->dump(); tty->cr();
+    tty->print("this_dual=              ");  this_t->_dual->dump(); tty->cr();
+    tty->print("mt_dual=                ");      mt->_dual->dump(); tty->cr();
 
-    tty->print("mt_dual meet t_dual=    "); t2t      ->dump(); tty->cr();
-    tty->print("mt_dual meet this_dual= "); t2this   ->dump(); tty->cr();
+    tty->print("mt_dual meet t_dual=    "); t2t           ->dump(); tty->cr();
+    tty->print("mt_dual meet this_dual= "); t2this        ->dump(); tty->cr();
 
     fatal("meet not symmetric" );
   }
@@ -754,8 +764,8 @@
 }
 
 //-----------------------------filter------------------------------------------
-const Type *Type::filter( const Type *kills ) const {
-  const Type* ft = join(kills);
+const Type *Type::filter_helper(const Type *kills, bool include_speculative) const {
+  const Type* ft = join_helper(kills, include_speculative);
   if (ft->empty())
     return Type::TOP;           // Canonical empty value
   return ft;
@@ -1309,8 +1319,8 @@
 }
 
 //-----------------------------filter------------------------------------------
-const Type *TypeInt::filter( const Type *kills ) const {
-  const TypeInt* ft = join(kills)->isa_int();
+const Type *TypeInt::filter_helper(const Type *kills, bool include_speculative) const {
+  const TypeInt* ft = join_helper(kills, include_speculative)->isa_int();
   if (ft == NULL || ft->empty())
     return Type::TOP;           // Canonical empty value
   if (ft->_widen < this->_widen) {
@@ -1570,8 +1580,8 @@
 }
 
 //-----------------------------filter------------------------------------------
-const Type *TypeLong::filter( const Type *kills ) const {
-  const TypeLong* ft = join(kills)->isa_long();
+const Type *TypeLong::filter_helper(const Type *kills, bool include_speculative) const {
+  const TypeLong* ft = join_helper(kills, include_speculative)->isa_long();
   if (ft == NULL || ft->empty())
     return Type::TOP;           // Canonical empty value
   if (ft->_widen < this->_widen) {
@@ -1726,7 +1736,7 @@
     total_fields++;
     field_array = fields(total_fields);
     // Use get_const_type here because it respects UseUniqueSubclasses:
-    field_array[pos++] = get_const_type(recv)->join(TypePtr::NOTNULL);
+    field_array[pos++] = get_const_type(recv)->join_speculative(TypePtr::NOTNULL);
   } else {
     field_array = fields(total_fields);
   }
@@ -1916,7 +1926,7 @@
 
   case Array: {                 // Meeting 2 arrays?
     const TypeAry *a = t->is_ary();
-    return TypeAry::make(_elem->meet(a->_elem),
+    return TypeAry::make(_elem->meet_speculative(a->_elem),
                          _size->xmeet(a->_size)->is_int(),
                          _stable & a->_stable);
   }
@@ -1949,6 +1959,13 @@
   return (intptr_t)_elem + (intptr_t)_size + (_stable ? 43 : 0);
 }
 
+/**
+ * Return same type without a speculative part in the element
+ */
+const Type* TypeAry::remove_speculative() const {
+  return make(_elem->remove_speculative(), _size, _stable);
+}
+
 //----------------------interface_vs_oop---------------------------------------
 #ifdef ASSERT
 bool TypeAry::interface_vs_oop(const Type *t) const {
@@ -2560,14 +2577,14 @@
     return res;
   }
 
-  if (res->isa_oopptr() != NULL) {
+  const TypeOopPtr* res_oopptr = res->is_oopptr();
+  if (res_oopptr->speculative() != NULL) {
     // type->speculative() == NULL means that speculation is no better
     // than type, i.e. type->speculative() == type. So there are 2
     // ways to represent the fact that we have no useful speculative
     // data and we should use a single one to be able to test for
     // equality between types. Check whether type->speculative() ==
     // type and set speculative to NULL if it is the case.
-    const TypeOopPtr* res_oopptr = res->is_oopptr();
     if (res_oopptr->remove_speculative() == res_oopptr->speculative()) {
       return res_oopptr->remove_speculative();
     }
@@ -2633,7 +2650,7 @@
   case OopPtr: {                 // Meeting to other OopPtrs
     const TypeOopPtr *tp = t->is_oopptr();
     int instance_id = meet_instance_id(tp->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tp);
+    const TypeOopPtr* speculative = xmeet_speculative(tp);
     return make(meet_ptr(tp->ptr()), meet_offset(tp->offset()), instance_id, speculative);
   }
 
@@ -2787,9 +2804,9 @@
 
 //-----------------------------filter------------------------------------------
 // Do not allow interface-vs.-noninterface joins to collapse to top.
-const Type *TypeOopPtr::filter(const Type *kills) const {
+const Type *TypeOopPtr::filter_helper(const Type *kills, bool include_speculative) const {
 
-  const Type* ft = join(kills);
+  const Type* ft = join_helper(kills, include_speculative);
   const TypeInstPtr* ftip = ft->isa_instptr();
   const TypeInstPtr* ktip = kills->isa_instptr();
 
@@ -2901,7 +2918,10 @@
 /**
  * Return same type without a speculative part
  */
-const TypeOopPtr* TypeOopPtr::remove_speculative() const {
+const Type* TypeOopPtr::remove_speculative() const {
+  if (_speculative == NULL) {
+    return this;
+  }
   return make(_ptr, _offset, _instance_id, NULL);
 }
 
@@ -2927,7 +2947,7 @@
  *
  * @param other  type to meet with
  */
-const TypeOopPtr* TypeOopPtr::meet_speculative(const TypeOopPtr* other) const {
+const TypeOopPtr* TypeOopPtr::xmeet_speculative(const TypeOopPtr* other) const {
   bool this_has_spec = (_speculative != NULL);
   bool other_has_spec = (other->speculative() != NULL);
 
@@ -2952,7 +2972,7 @@
     other_spec = other;
   }
 
-  return this_spec->meet(other_spec)->is_oopptr();
+  return this_spec->meet_speculative(other_spec)->is_oopptr();
 }
 
 /**
@@ -3111,7 +3131,7 @@
     int off = meet_offset(tinst->offset());
     PTR ptr = meet_ptr(tinst->ptr());
     int instance_id = meet_instance_id(tinst->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tinst);
+    const TypeOopPtr* speculative = xmeet_speculative(tinst);
 
     const TypeInstPtr *loaded    = is_loaded() ? this  : tinst;
     const TypeInstPtr *unloaded  = is_loaded() ? tinst : this;
@@ -3188,7 +3208,7 @@
     int offset = meet_offset(tp->offset());
     PTR ptr = meet_ptr(tp->ptr());
     int instance_id = meet_instance_id(tp->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tp);
+    const TypeOopPtr* speculative = xmeet_speculative(tp);
     switch (ptr) {
     case TopPTR:
     case AnyNull:                // Fall 'down' to dual of object klass
@@ -3238,14 +3258,14 @@
     case TopPTR:
     case AnyNull: {
       int instance_id = meet_instance_id(InstanceTop);
-      const TypeOopPtr* speculative = meet_speculative(tp);
+      const TypeOopPtr* speculative = xmeet_speculative(tp);
       return make(ptr, klass(), klass_is_exact(),
                   (ptr == Constant ? const_oop() : NULL), offset, instance_id, speculative);
     }
     case NotNull:
     case BotPTR: {
       int instance_id = meet_instance_id(tp->instance_id());
-      const TypeOopPtr* speculative = meet_speculative(tp);
+      const TypeOopPtr* speculative = xmeet_speculative(tp);
       return TypeOopPtr::make(ptr, offset, instance_id, speculative);
     }
     default: typerr(t);
@@ -3297,7 +3317,7 @@
     int off = meet_offset( tinst->offset() );
     PTR ptr = meet_ptr( tinst->ptr() );
     int instance_id = meet_instance_id(tinst->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tinst);
+    const TypeOopPtr* speculative = xmeet_speculative(tinst);
 
     // Check for easy case; klasses are equal (and perhaps not loaded!)
     // If we have constants, then we created oops so classes are loaded
@@ -3546,7 +3566,10 @@
   return make(_ptr, klass(), klass_is_exact(), const_oop(), xadd_offset(offset), _instance_id, add_offset_speculative(offset));
 }
 
-const TypeOopPtr *TypeInstPtr::remove_speculative() const {
+const Type *TypeInstPtr::remove_speculative() const {
+  if (_speculative == NULL) {
+    return this;
+  }
   return make(_ptr, klass(), klass_is_exact(), const_oop(), _offset, _instance_id, NULL);
 }
 
@@ -3748,14 +3771,14 @@
     case TopPTR:
     case AnyNull: {
       int instance_id = meet_instance_id(InstanceTop);
-      const TypeOopPtr* speculative = meet_speculative(tp);
+      const TypeOopPtr* speculative = xmeet_speculative(tp);
       return make(ptr, (ptr == Constant ? const_oop() : NULL),
                   _ary, _klass, _klass_is_exact, offset, instance_id, speculative);
     }
     case BotPTR:
     case NotNull: {
       int instance_id = meet_instance_id(tp->instance_id());
-      const TypeOopPtr* speculative = meet_speculative(tp);
+      const TypeOopPtr* speculative = xmeet_speculative(tp);
       return TypeOopPtr::make(ptr, offset, instance_id, speculative);
     }
     default: ShouldNotReachHere();
@@ -3793,10 +3816,10 @@
   case AryPtr: {                // Meeting 2 references?
     const TypeAryPtr *tap = t->is_aryptr();
     int off = meet_offset(tap->offset());
-    const TypeAry *tary = _ary->meet(tap->_ary)->is_ary();
+    const TypeAry *tary = _ary->meet_speculative(tap->_ary)->is_ary();
     PTR ptr = meet_ptr(tap->ptr());
     int instance_id = meet_instance_id(tap->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tap);
+    const TypeOopPtr* speculative = xmeet_speculative(tap);
     ciKlass* lazy_klass = NULL;
     if (tary->_elem->isa_int()) {
       // Integral array element types have irrelevant lattice relations.
@@ -3812,17 +3835,17 @@
         tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable);
       }
     } else // Non integral arrays.
-    // Must fall to bottom if exact klasses in upper lattice
-    // are not equal or super klass is exact.
-    if ( above_centerline(ptr) && klass() != tap->klass() &&
-         // meet with top[] and bottom[] are processed further down:
-         tap ->_klass != NULL  && this->_klass != NULL   &&
-         // both are exact and not equal:
-        ((tap ->_klass_is_exact && this->_klass_is_exact) ||
-         // 'tap'  is exact and super or unrelated:
-         (tap ->_klass_is_exact && !tap->klass()->is_subtype_of(klass())) ||
-         // 'this' is exact and super or unrelated:
-         (this->_klass_is_exact && !klass()->is_subtype_of(tap->klass())))) {
+      // Must fall to bottom if exact klasses in upper lattice
+      // are not equal or super klass is exact.
+      if ((above_centerline(ptr) || ptr == Constant) && klass() != tap->klass() &&
+          // meet with top[] and bottom[] are processed further down:
+          tap->_klass != NULL  && this->_klass != NULL   &&
+          // both are exact and not equal:
+          ((tap->_klass_is_exact && this->_klass_is_exact) ||
+           // 'tap'  is exact and super or unrelated:
+           (tap->_klass_is_exact && !tap->klass()->is_subtype_of(klass())) ||
+           // 'this' is exact and super or unrelated:
+           (this->_klass_is_exact && !klass()->is_subtype_of(tap->klass())))) {
       tary = TypeAry::make(Type::BOTTOM, tary->_size, tary->_stable);
       return make(NotNull, NULL, tary, lazy_klass, false, off, InstanceBot);
     }
@@ -3876,7 +3899,7 @@
     int offset = meet_offset(tp->offset());
     PTR ptr = meet_ptr(tp->ptr());
     int instance_id = meet_instance_id(tp->instance_id());
-    const TypeOopPtr* speculative = meet_speculative(tp);
+    const TypeOopPtr* speculative = xmeet_speculative(tp);
     switch (ptr) {
     case TopPTR:
     case AnyNull:                // Fall 'down' to dual of object klass
@@ -3990,8 +4013,8 @@
   return make(_ptr, _const_oop, _ary, _klass, _klass_is_exact, xadd_offset(offset), _instance_id, add_offset_speculative(offset));
 }
 
-const TypeOopPtr *TypeAryPtr::remove_speculative() const {
-  return make(_ptr, _const_oop, _ary, _klass, _klass_is_exact, _offset, _instance_id, NULL);
+const Type *TypeAryPtr::remove_speculative() const {
+  return make(_ptr, _const_oop, _ary->remove_speculative()->is_ary(), _klass, _klass_is_exact, _offset, _instance_id, NULL);
 }
 
 //=============================================================================
@@ -4031,9 +4054,9 @@
 }
 
 
-const Type *TypeNarrowPtr::filter( const Type *kills ) const {
+const Type *TypeNarrowPtr::filter_helper(const Type *kills, bool include_speculative) const {
   if (isa_same_narrowptr(kills)) {
-    const Type* ft =_ptrtype->filter(is_same_narrowptr(kills)->_ptrtype);
+    const Type* ft =_ptrtype->filter_helper(is_same_narrowptr(kills)->_ptrtype, include_speculative);
     if (ft->empty())
       return Type::TOP;           // Canonical empty value
     if (ft->isa_ptr()) {
@@ -4041,7 +4064,7 @@
     }
     return ft;
   } else if (kills->isa_ptr()) {
-    const Type* ft = _ptrtype->join(kills);
+    const Type* ft = _ptrtype->join_helper(kills, include_speculative);
     if (ft->empty())
       return Type::TOP;           // Canonical empty value
     return ft;
@@ -4171,8 +4194,8 @@
 
 //-----------------------------filter------------------------------------------
 // Do not allow interface-vs.-noninterface joins to collapse to top.
-const Type *TypeMetadataPtr::filter( const Type *kills ) const {
-  const TypeMetadataPtr* ft = join(kills)->isa_metadataptr();
+const Type *TypeMetadataPtr::filter_helper(const Type *kills, bool include_speculative) const {
+  const TypeMetadataPtr* ft = join_helper(kills, include_speculative)->isa_metadataptr();
   if (ft == NULL || ft->empty())
     return Type::TOP;           // Canonical empty value
   return ft;
@@ -4374,10 +4397,10 @@
 }
 
 // Do not allow interface-vs.-noninterface joins to collapse to top.
-const Type *TypeKlassPtr::filter(const Type *kills) const {
+const Type *TypeKlassPtr::filter_helper(const Type *kills, bool include_speculative) const {
   // logic here mirrors the one from TypeOopPtr::filter. See comments
   // there.
-  const Type* ft = join(kills);
+  const Type* ft = join_helper(kills, include_speculative);
   const TypeKlassPtr* ftkp = ft->isa_klassptr();
   const TypeKlassPtr* ktkp = kills->isa_klassptr();
 
diff --git a/hotspot/src/share/vm/opto/type.hpp b/hotspot/src/share/vm/opto/type.hpp
index 9810edf..747c29c 100644
--- a/hotspot/src/share/vm/opto/type.hpp
+++ b/hotspot/src/share/vm/opto/type.hpp
@@ -164,6 +164,8 @@
   virtual bool interface_vs_oop_helper(const Type *t) const;
 #endif
 
+  const Type *meet_helper(const Type *t, bool include_speculative) const;
+
 protected:
   // Each class of type is also identified by its base.
   const TYPES _base;            // Enum of Types type
@@ -171,6 +173,10 @@
   Type( TYPES t ) : _dual(NULL),  _base(t) {} // Simple types
   // ~Type();                   // Use fast deallocation
   const Type *hashcons();       // Hash-cons the type
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
+  const Type *join_helper(const Type *t, bool include_speculative) const {
+    return dual()->meet_helper(t->dual(), include_speculative)->dual();
+  }
 
 public:
 
@@ -202,10 +208,24 @@
   // Test for equivalence of types
   static int cmp( const Type *const t1, const Type *const t2 );
   // Test for higher or equal in lattice
-  int higher_equal( const Type *t ) const { return !cmp(meet(t),t); }
+  // Variant that drops the speculative part of the types
+  int higher_equal(const Type *t) const {
+    return !cmp(meet(t),t->remove_speculative());
+  }
+  // Variant that keeps the speculative part of the types
+  int higher_equal_speculative(const Type *t) const {
+    return !cmp(meet_speculative(t),t);
+  }
 
   // MEET operation; lower in lattice.
-  const Type *meet( const Type *t ) const;
+  // Variant that drops the speculative part of the types
+  const Type *meet(const Type *t) const {
+    return meet_helper(t, false);
+  }
+  // Variant that keeps the speculative part of the types
+  const Type *meet_speculative(const Type *t) const {
+    return meet_helper(t, true);
+  }
   // WIDEN: 'widens' for Ints and other range types
   virtual const Type *widen( const Type *old, const Type* limit ) const { return this; }
   // NARROW: complement for widen, used by pessimistic phases
@@ -221,13 +241,26 @@
 
   // JOIN operation; higher in lattice.  Done by finding the dual of the
   // meet of the dual of the 2 inputs.
-  const Type *join( const Type *t ) const {
-    return dual()->meet(t->dual())->dual(); }
+  // Variant that drops the speculative part of the types
+  const Type *join(const Type *t) const {
+    return join_helper(t, false);
+  }
+  // Variant that keeps the speculative part of the types
+  const Type *join_speculative(const Type *t) const {
+    return join_helper(t, true);
+  }
 
   // Modified version of JOIN adapted to the needs Node::Value.
   // Normalizes all empty values to TOP.  Does not kill _widen bits.
   // Currently, it also works around limitations involving interface types.
-  virtual const Type *filter( const Type *kills ) const;
+  // Variant that drops the speculative part of the types
+  const Type *filter(const Type *kills) const {
+    return filter_helper(kills, false);
+  }
+  // Variant that keeps the speculative part of the types
+  const Type *filter_speculative(const Type *kills) const {
+    return filter_helper(kills, true);
+  }
 
 #ifdef ASSERT
   // One type is interface, the other is oop
@@ -383,6 +416,8 @@
 
   // Speculative type. See TypeInstPtr
   virtual ciKlass* speculative_type() const { return NULL; }
+  const Type* maybe_remove_speculative(bool include_speculative) const;
+  virtual const Type* remove_speculative() const { return this; }
 
 private:
   // support arrays
@@ -450,12 +485,14 @@
 // upper bound, inclusive.
 class TypeInt : public Type {
   TypeInt( jint lo, jint hi, int w );
+protected:
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
+
 public:
   virtual bool eq( const Type *t ) const;
   virtual int  hash() const;             // Type specific hashing
   virtual bool singleton(void) const;    // TRUE if type is a singleton
   virtual bool empty(void) const;        // TRUE if type is vacuous
-public:
   const jint _lo, _hi;          // Lower bound, upper bound
   const short _widen;           // Limit on times we widen this sucker
 
@@ -475,7 +512,6 @@
   virtual const Type *widen( const Type *t, const Type* limit_type ) const;
   virtual const Type *narrow( const Type *t ) const;
   // Do not kill _widen bits.
-  virtual const Type *filter( const Type *kills ) const;
   // Convenience common pre-built types.
   static const TypeInt *MINUS_1;
   static const TypeInt *ZERO;
@@ -506,6 +542,9 @@
 // an upper bound, inclusive.
 class TypeLong : public Type {
   TypeLong( jlong lo, jlong hi, int w );
+protected:
+  // Do not kill _widen bits.
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
 public:
   virtual bool eq( const Type *t ) const;
   virtual int  hash() const;             // Type specific hashing
@@ -530,8 +569,6 @@
   virtual const Type *xdual() const;    // Compute dual right now.
   virtual const Type *widen( const Type *t, const Type* limit_type ) const;
   virtual const Type *narrow( const Type *t ) const;
-  // Do not kill _widen bits.
-  virtual const Type *filter( const Type *kills ) const;
   // Convenience common pre-built types.
   static const TypeLong *MINUS_1;
   static const TypeLong *ZERO;
@@ -622,6 +659,7 @@
   virtual const Type *xmeet( const Type *t ) const;
   virtual const Type *xdual() const;    // Compute dual right now.
   bool ary_must_be_exact() const;  // true if arrays of such are never generic
+  virtual const Type* remove_speculative() const;
 #ifdef ASSERT
   // One type is interface, the other is oop
   virtual bool interface_vs_oop(const Type *t) const;
@@ -832,7 +870,7 @@
 
   // utility methods to work on the speculative part of the type
   const TypeOopPtr* dual_speculative() const;
-  const TypeOopPtr* meet_speculative(const TypeOopPtr* other) const;
+  const TypeOopPtr* xmeet_speculative(const TypeOopPtr* other) const;
   bool eq_speculative(const TypeOopPtr* other) const;
   int hash_speculative() const;
   const TypeOopPtr* add_offset_speculative(intptr_t offset) const;
@@ -840,6 +878,9 @@
   void dump_speculative(outputStream *st) const;
 #endif
 
+  // Do not allow interface-vs.-noninterface joins to collapse to top.
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
+
 public:
   // Creates a type given a klass. Correctly handles multi-dimensional arrays
   // Respects UseUniqueSubclasses.
@@ -895,16 +936,13 @@
 
   virtual const TypePtr *add_offset( intptr_t offset ) const;
   // Return same type without a speculative part
-  virtual const TypeOopPtr* remove_speculative() const;
+  virtual const Type* remove_speculative() const;
 
   virtual const Type *xmeet(const Type *t) const;
   virtual const Type *xdual() const;    // Compute dual right now.
   // the core of the computation of the meet for TypeOopPtr and for its subclasses
   virtual const Type *xmeet_helper(const Type *t) const;
 
-  // Do not allow interface-vs.-noninterface joins to collapse to top.
-  virtual const Type *filter( const Type *kills ) const;
-
   // Convenience common pre-built type.
   static const TypeOopPtr *BOTTOM;
 #ifndef PRODUCT
@@ -981,7 +1019,7 @@
 
   virtual const TypePtr *add_offset( intptr_t offset ) const;
   // Return same type without a speculative part
-  virtual const TypeOopPtr* remove_speculative() const;
+  virtual const Type* remove_speculative() const;
 
   // the core of the computation of the meet of 2 types
   virtual const Type *xmeet_helper(const Type *t) const;
@@ -1059,7 +1097,7 @@
   virtual bool empty(void) const;        // TRUE if type is vacuous
   virtual const TypePtr *add_offset( intptr_t offset ) const;
   // Return same type without a speculative part
-  virtual const TypeOopPtr* remove_speculative() const;
+  virtual const Type* remove_speculative() const;
 
   // the core of the computation of the meet of 2 types
   virtual const Type *xmeet_helper(const Type *t) const;
@@ -1100,6 +1138,8 @@
 class TypeMetadataPtr : public TypePtr {
 protected:
   TypeMetadataPtr(PTR ptr, ciMetadata* metadata, int offset);
+  // Do not allow interface-vs.-noninterface joins to collapse to top.
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
 public:
   virtual bool eq( const Type *t ) const;
   virtual int  hash() const;             // Type specific hashing
@@ -1125,9 +1165,6 @@
 
   virtual intptr_t get_con() const;
 
-  // Do not allow interface-vs.-noninterface joins to collapse to top.
-  virtual const Type *filter( const Type *kills ) const;
-
   // Convenience common pre-built types.
   static const TypeMetadataPtr *BOTTOM;
 
@@ -1141,6 +1178,8 @@
 class TypeKlassPtr : public TypePtr {
   TypeKlassPtr( PTR ptr, ciKlass* klass, int offset );
 
+protected:
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
  public:
   virtual bool eq( const Type *t ) const;
   virtual int hash() const;             // Type specific hashing
@@ -1202,9 +1241,6 @@
 
   virtual intptr_t get_con() const;
 
-  // Do not allow interface-vs.-noninterface joins to collapse to top.
-  virtual const Type *filter( const Type *kills ) const;
-
   // Convenience common pre-built types.
   static const TypeKlassPtr* OBJECT; // Not-null object klass or below
   static const TypeKlassPtr* OBJECT_OR_NULL; // Maybe-null version of same
@@ -1228,6 +1264,8 @@
   virtual const TypeNarrowPtr *is_same_narrowptr(const Type *t) const = 0;
   virtual const TypeNarrowPtr *make_same_narrowptr(const TypePtr *t) const = 0;
   virtual const TypeNarrowPtr *make_hash_same_narrowptr(const TypePtr *t) const = 0;
+  // Do not allow interface-vs.-noninterface joins to collapse to top.
+  virtual const Type *filter_helper(const Type *kills, bool include_speculative) const;
 public:
   virtual bool eq( const Type *t ) const;
   virtual int  hash() const;             // Type specific hashing
@@ -1238,9 +1276,6 @@
 
   virtual intptr_t get_con() const;
 
-  // Do not allow interface-vs.-noninterface joins to collapse to top.
-  virtual const Type *filter( const Type *kills ) const;
-
   virtual bool empty(void) const;        // TRUE if type is vacuous
 
   // returns the equivalent ptr type for this compressed pointer
@@ -1291,6 +1326,10 @@
   static const TypeNarrowOop *BOTTOM;
   static const TypeNarrowOop *NULL_PTR;
 
+  virtual const Type* remove_speculative() const {
+    return make(_ptrtype->remove_speculative()->is_ptr());
+  }
+
 #ifndef PRODUCT
   virtual void dump2( Dict &d, uint depth, outputStream *st ) const;
 #endif
diff --git a/hotspot/src/share/vm/prims/jni.cpp b/hotspot/src/share/vm/prims/jni.cpp
index ab24446..3d8943f 100644
--- a/hotspot/src/share/vm/prims/jni.cpp
+++ b/hotspot/src/share/vm/prims/jni.cpp
@@ -1356,9 +1356,13 @@
       // interface call
       KlassHandle h_holder(THREAD, holder);
 
-      int itbl_index = m->itable_index();
-      Klass* k = h_recv->klass();
-      selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK);
+      if (call_type == JNI_VIRTUAL) {
+        int itbl_index = m->itable_index();
+        Klass* k = h_recv->klass();
+        selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK);
+      } else {
+        selected_method = m;
+      }
     }
   }
 
@@ -5062,6 +5066,7 @@
 void TestMetachunk_test();
 void TestVirtualSpaceNode_test();
 #if INCLUDE_ALL_GCS
+void TestOldFreeSpaceCalculation_test();
 void TestG1BiasedArray_test();
 #endif
 
@@ -5085,6 +5090,7 @@
     run_unit_test(VMStructs::test());
 #endif
 #if INCLUDE_ALL_GCS
+    run_unit_test(TestOldFreeSpaceCalculation_test());
     run_unit_test(TestG1BiasedArray_test());
     run_unit_test(HeapRegionRemSet::test_prt());
 #endif
diff --git a/hotspot/src/share/vm/prims/jvm.cpp b/hotspot/src/share/vm/prims/jvm.cpp
index a757e19..947da5f 100644
--- a/hotspot/src/share/vm/prims/jvm.cpp
+++ b/hotspot/src/share/vm/prims/jvm.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -518,6 +518,12 @@
   JavaThreadInObjectWaitState jtiows(thread, ms != 0);
   if (JvmtiExport::should_post_monitor_wait()) {
     JvmtiExport::post_monitor_wait((JavaThread *)THREAD, (oop)obj(), ms);
+
+    // The current thread already owns the monitor and it has not yet
+    // been added to the wait queue so the current thread cannot be
+    // made the successor. This means that the JVMTI_EVENT_MONITOR_WAIT
+    // event handler cannot accidentally consume an unpark() meant for
+    // the ParkEvent associated with this ObjectMonitor.
   }
   ObjectSynchronizer::wait(obj, ms, CHECK);
 JVM_END
diff --git a/hotspot/src/share/vm/prims/jvmtiCodeBlobEvents.cpp b/hotspot/src/share/vm/prims/jvmtiCodeBlobEvents.cpp
index c46afdc..18d8786 100644
--- a/hotspot/src/share/vm/prims/jvmtiCodeBlobEvents.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiCodeBlobEvents.cpp
@@ -26,6 +26,7 @@
 #include "code/codeBlob.hpp"
 #include "code/codeCache.hpp"
 #include "code/scopeDesc.hpp"
+#include "code/vtableStubs.hpp"
 #include "memory/resourceArea.hpp"
 #include "oops/oop.inline.hpp"
 #include "prims/jvmtiCodeBlobEvents.hpp"
@@ -63,6 +64,7 @@
   // used during a collection
   static GrowableArray<JvmtiCodeBlobDesc*>* _global_code_blobs;
   static void do_blob(CodeBlob* cb);
+  static void do_vtable_stub(VtableStub* vs);
  public:
   CodeBlobCollector() {
     _code_blobs = NULL;
@@ -119,6 +121,10 @@
   if (cb->is_nmethod()) {
     return;
   }
+  // exclude VtableStubs, which are processed separately
+  if (cb->is_buffer_blob() && strcmp(cb->name(), "vtable chunks") == 0) {
+    return;
+  }
 
   // check if this starting address has been seen already - the
   // assumption is that stubs are inserted into the list before the
@@ -136,6 +142,13 @@
   _global_code_blobs->append(scb);
 }
 
+// called for each VtableStub in VtableStubs
+
+void CodeBlobCollector::do_vtable_stub(VtableStub* vs) {
+    JvmtiCodeBlobDesc* scb = new JvmtiCodeBlobDesc(vs->is_vtable_stub() ? "vtable stub" : "itable stub",
+                                                   vs->code_begin(), vs->code_end());
+    _global_code_blobs->append(scb);
+}
 
 // collects a list of CodeBlobs in the CodeCache.
 //
@@ -166,6 +179,10 @@
     _global_code_blobs->append(new JvmtiCodeBlobDesc(desc->name(), desc->begin(), desc->end()));
   }
 
+  // Vtable stubs are not described with StubCodeDesc,
+  // process them separately
+  VtableStubs::vtable_stub_do(do_vtable_stub);
+
   // next iterate over all the non-nmethod code blobs and add them to
   // the list - as noted above this will filter out duplicates and
   // enclosing blobs.
diff --git a/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp b/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp
index 0f9135f..ab3c5f4 100644
--- a/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiEnvThreadState.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -272,7 +272,7 @@
     // There can be a race condition between a VM_Operation reaching a safepoint
     // and the target thread exiting from Java execution.
     // We must recheck the last Java frame still exists.
-    if (_thread->has_last_Java_frame()) {
+    if (!_thread->is_exiting() && _thread->has_last_Java_frame()) {
       javaVFrame* vf = _thread->last_java_vframe(&rm);
       assert(vf != NULL, "must have last java frame");
       Method* method = vf->method();
diff --git a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
index 4a57b20..1c3bbbf 100644
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
@@ -147,6 +147,9 @@
     _scratch_classes[i] = NULL;
   }
 
+  // Disable any dependent concurrent compilations
+  SystemDictionary::notice_modification();
+
   // Set flag indicating that some invariants are no longer true.
   // See jvmtiExport.hpp for detailed explanation.
   JvmtiExport::set_has_redefined_a_class();
diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
index 5a8ea0d..02e2c82 100644
--- a/hotspot/src/share/vm/runtime/arguments.cpp
+++ b/hotspot/src/share/vm/runtime/arguments.cpp
@@ -290,6 +290,7 @@
   { "UsePermISM",                    JDK_Version::jdk(8), JDK_Version::jdk(9) },
   { "UseMPSS",                       JDK_Version::jdk(8), JDK_Version::jdk(9) },
   { "UseStringCache",                JDK_Version::jdk(8), JDK_Version::jdk(9) },
+  { "UseOldInlining",                JDK_Version::jdk(9), JDK_Version::jdk(10) },
 #ifdef PRODUCT
   { "DesiredMethodLimit",
                            JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) },
@@ -878,7 +879,7 @@
     arg_len = equal_sign - argname;
   }
 
-  Flag* found_flag = Flag::find_flag((const char*)argname, arg_len, true);
+  Flag* found_flag = Flag::find_flag((const char*)argname, arg_len, true, true);
   if (found_flag != NULL) {
     char locked_message_buf[BUFLEN];
     found_flag->get_locked_message(locked_message_buf, BUFLEN);
@@ -1569,6 +1570,16 @@
     vm_exit(1);
   }
 
+  if (UseAdaptiveSizePolicy) {
+    // We don't want to limit adaptive heap sizing's freedom to adjust the heap
+    // unless the user actually sets these flags.
+    if (FLAG_IS_DEFAULT(MinHeapFreeRatio)) {
+      FLAG_SET_DEFAULT(MinHeapFreeRatio, 0);
+    }
+    if (FLAG_IS_DEFAULT(MaxHeapFreeRatio)) {
+      FLAG_SET_DEFAULT(MaxHeapFreeRatio, 100);
+    }
+  }
 
   // If InitialSurvivorRatio or MinSurvivorRatio were not specified, but the
   // SurvivorRatio has been set, reset their default values to SurvivorRatio +
@@ -1844,7 +1855,7 @@
 }
 
 bool Arguments::verify_percentage(uintx value, const char* name) {
-  if (value <= 100) {
+  if (is_percentage(value)) {
     return true;
   }
   jio_fprintf(defaultStream::error_stream(),
@@ -1932,6 +1943,34 @@
   return count_p < 2 && count_t < 2;
 }
 
+bool Arguments::verify_MinHeapFreeRatio(FormatBuffer<80>& err_msg, uintx min_heap_free_ratio) {
+  if (!is_percentage(min_heap_free_ratio)) {
+    err_msg.print("MinHeapFreeRatio must have a value between 0 and 100");
+    return false;
+  }
+  if (min_heap_free_ratio > MaxHeapFreeRatio) {
+    err_msg.print("MinHeapFreeRatio (" UINTX_FORMAT ") must be less than or "
+                  "equal to MaxHeapFreeRatio (" UINTX_FORMAT ")", min_heap_free_ratio,
+                  MaxHeapFreeRatio);
+    return false;
+  }
+  return true;
+}
+
+bool Arguments::verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_heap_free_ratio) {
+  if (!is_percentage(max_heap_free_ratio)) {
+    err_msg.print("MaxHeapFreeRatio must have a value between 0 and 100");
+    return false;
+  }
+  if (max_heap_free_ratio < MinHeapFreeRatio) {
+    err_msg.print("MaxHeapFreeRatio (" UINTX_FORMAT ") must be greater than or "
+                  "equal to MinHeapFreeRatio (" UINTX_FORMAT ")", max_heap_free_ratio,
+                  MinHeapFreeRatio);
+    return false;
+  }
+  return true;
+}
+
 // Check consistency of GC selection
 bool Arguments::check_gc_consistency() {
   check_gclog_consistency();
@@ -2037,8 +2076,6 @@
   status = status && verify_interval(AdaptiveSizePolicyWeight, 0, 100,
                               "AdaptiveSizePolicyWeight");
   status = status && verify_percentage(ThresholdTolerance, "ThresholdTolerance");
-  status = status && verify_percentage(MinHeapFreeRatio, "MinHeapFreeRatio");
-  status = status && verify_percentage(MaxHeapFreeRatio, "MaxHeapFreeRatio");
 
   // Divide by bucket size to prevent a large size from causing rollover when
   // calculating amount of memory needed to be allocated for the String table.
@@ -2048,15 +2085,19 @@
   status = status && verify_interval(SymbolTableSize, minimumSymbolTableSize,
     (max_uintx / SymbolTable::bucket_size()), "SymbolTable size");
 
-  if (MinHeapFreeRatio > MaxHeapFreeRatio) {
-    jio_fprintf(defaultStream::error_stream(),
-                "MinHeapFreeRatio (" UINTX_FORMAT ") must be less than or "
-                "equal to MaxHeapFreeRatio (" UINTX_FORMAT ")\n",
-                MinHeapFreeRatio, MaxHeapFreeRatio);
-    status = false;
+  {
+    // Using "else if" below to avoid printing two error messages if min > max.
+    // This will also prevent us from reporting both min>100 and max>100 at the
+    // same time, but that is less annoying than printing two identical errors IMHO.
+    FormatBuffer<80> err_msg("");
+    if (!verify_MinHeapFreeRatio(err_msg, MinHeapFreeRatio)) {
+      jio_fprintf(defaultStream::error_stream(), "%s\n", err_msg.buffer());
+      status = false;
+    } else if (!verify_MaxHeapFreeRatio(err_msg, MaxHeapFreeRatio)) {
+      jio_fprintf(defaultStream::error_stream(), "%s\n", err_msg.buffer());
+      status = false;
+    }
   }
-  // Keeping the heap 100% free is hard ;-) so limit it to 99%.
-  MinHeapFreeRatio = MIN2(MinHeapFreeRatio, (uintx) 99);
 
   // Min/MaxMetaspaceFreeRatio
   status = status && verify_percentage(MinMetaspaceFreeRatio, "MinMetaspaceFreeRatio");
@@ -2689,7 +2730,7 @@
     } else if (match_option(option, "-Xmaxf", &tail)) {
       char* err;
       int maxf = (int)(strtod(tail, &err) * 100);
-      if (*err != '\0' || maxf < 0 || maxf > 100) {
+      if (*err != '\0' || *tail == '\0' || maxf < 0 || maxf > 100) {
         jio_fprintf(defaultStream::error_stream(),
                     "Bad max heap free percentage size: %s\n",
                     option->optionString);
@@ -2701,7 +2742,7 @@
     } else if (match_option(option, "-Xminf", &tail)) {
       char* err;
       int minf = (int)(strtod(tail, &err) * 100);
-      if (*err != '\0' || minf < 0 || minf > 100) {
+      if (*err != '\0' || *tail == '\0' || minf < 0 || minf > 100) {
         jio_fprintf(defaultStream::error_stream(),
                     "Bad min heap free percentage size: %s\n",
                     option->optionString);
@@ -3646,9 +3687,9 @@
   // Set per-collector flags
   if (UseParallelGC || UseParallelOldGC) {
     set_parallel_gc_flags();
-  } else if (UseConcMarkSweepGC) { // should be done before ParNew check below
+  } else if (UseConcMarkSweepGC) { // Should be done before ParNew check below
     set_cms_and_parnew_gc_flags();
-  } else if (UseParNewGC) {  // skipped if CMS is set above
+  } else if (UseParNewGC) {  // Skipped if CMS is set above
     set_parnew_gc_flags();
   } else if (UseG1GC) {
     set_g1_gc_flags();
@@ -3662,6 +3703,10 @@
               " using -XX:ParallelGCThreads=N");
     }
   }
+  if (MinHeapFreeRatio == 100) {
+    // Keeping the heap 100% free is hard ;-) so limit it to 99%.
+    FLAG_SET_ERGO(uintx, MinHeapFreeRatio, 99);
+  }
 #else // INCLUDE_ALL_GCS
   assert(verify_serial_gc_flags(), "SerialGC unset");
 #endif // INCLUDE_ALL_GCS
@@ -3727,10 +3772,6 @@
     // Doing the replace in parent maps helps speculation
     FLAG_SET_DEFAULT(ReplaceInParentMaps, true);
   }
-#ifndef X86
-  // Only on x86 for now
-  FLAG_SET_DEFAULT(TypeProfileLevel, 0);
-#endif
 #endif
 
   if (PrintAssembly && FLAG_IS_DEFAULT(DebugNonSafepoints)) {
diff --git a/hotspot/src/share/vm/runtime/arguments.hpp b/hotspot/src/share/vm/runtime/arguments.hpp
index d016e22..ec4b1f6 100644
--- a/hotspot/src/share/vm/runtime/arguments.hpp
+++ b/hotspot/src/share/vm/runtime/arguments.hpp
@@ -27,6 +27,7 @@
 
 #include "runtime/java.hpp"
 #include "runtime/perfData.hpp"
+#include "utilities/debug.hpp"
 #include "utilities/top.hpp"
 
 // Arguments parses the command line and recognizes options
@@ -370,11 +371,16 @@
   static jint parse_vm_init_args(const JavaVMInitArgs* args);
   static jint parse_each_vm_init_arg(const JavaVMInitArgs* args, SysClassPath* scp_p, bool* scp_assembly_required_p, Flag::Flags origin);
   static jint finalize_vm_init_args(SysClassPath* scp_p, bool scp_assembly_required);
-  static bool is_bad_option(const JavaVMOption* option, jboolean ignore,
-    const char* option_type);
+  static bool is_bad_option(const JavaVMOption* option, jboolean ignore, const char* option_type);
+
   static bool is_bad_option(const JavaVMOption* option, jboolean ignore) {
     return is_bad_option(option, ignore, NULL);
   }
+
+  static bool is_percentage(uintx val) {
+    return val <= 100;
+  }
+
   static bool verify_interval(uintx val, uintx min,
                               uintx max, const char* name);
   static bool verify_min_value(intx val, intx min, const char* name);
@@ -440,6 +446,15 @@
   static jint apply_ergo();
   // Adjusts the arguments after the OS have adjusted the arguments
   static jint adjust_after_os();
+
+  // Verifies that the given value will fit as a MinHeapFreeRatio. If not, an error
+  // message is returned in the provided buffer.
+  static bool verify_MinHeapFreeRatio(FormatBuffer<80>& err_msg, uintx min_heap_free_ratio);
+
+  // Verifies that the given value will fit as a MaxHeapFreeRatio. If not, an error
+  // message is returned in the provided buffer.
+  static bool verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_heap_free_ratio);
+
   // Check for consistency in the selection of the garbage collector.
   static bool check_gc_consistency();
   static void check_deprecated_gcs();
diff --git a/hotspot/src/share/vm/runtime/deoptimization.cpp b/hotspot/src/share/vm/runtime/deoptimization.cpp
index 0ba0244..8b6fc33 100644
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp
@@ -1224,9 +1224,19 @@
   load_class_by_index(constant_pool, index, THREAD);
   if (HAS_PENDING_EXCEPTION) {
     // Exception happened during classloading. We ignore the exception here, since it
-    // is going to be rethrown since the current activation is going to be deoptimzied and
+    // is going to be rethrown since the current activation is going to be deoptimized and
     // the interpreter will re-execute the bytecode.
     CLEAR_PENDING_EXCEPTION;
+    // Class loading called java code which may have caused a stack
+    // overflow. If the exception was thrown right before the return
+    // to the runtime the stack is no longer guarded. Reguard the
+    // stack otherwise if we return to the uncommon trap blob and the
+    // stack bang causes a stack overflow we crash.
+    assert(THREAD->is_Java_thread(), "only a java thread can be here");
+    JavaThread* thread = (JavaThread*)THREAD;
+    bool guard_pages_enabled = thread->stack_yellow_zone_enabled();
+    if (!guard_pages_enabled) guard_pages_enabled = thread->reguard_stack();
+    assert(guard_pages_enabled, "stack banging in uncommon trap blob may cause crash");
   }
 }
 
diff --git a/hotspot/src/share/vm/runtime/globals.cpp b/hotspot/src/share/vm/runtime/globals.cpp
index de6fbf7..74f7acd 100644
--- a/hotspot/src/share/vm/runtime/globals.cpp
+++ b/hotspot/src/share/vm/runtime/globals.cpp
@@ -31,6 +31,7 @@
 #include "utilities/ostream.hpp"
 #include "utilities/macros.hpp"
 #include "utilities/top.hpp"
+#include "trace/tracing.hpp"
 #if INCLUDE_ALL_GCS
 #include "gc_implementation/g1/g1_globals.hpp"
 #endif // INCLUDE_ALL_GCS
@@ -62,6 +63,14 @@
 MATERIALIZE_FLAGS_EXT
 
 
+static bool is_product_build() {
+#ifdef PRODUCT
+  return true;
+#else
+  return false;
+#endif
+}
+
 void Flag::check_writable() {
   if (is_constant_in_binary()) {
     fatal(err_msg("flag is constant: %s", _name));
@@ -235,6 +244,27 @@
 // Get custom message for this locked flag, or return NULL if
 // none is available.
 void Flag::get_locked_message(char* buf, int buflen) const {
+  buf[0] = '\0';
+  if (is_diagnostic() && !is_unlocked()) {
+    jio_snprintf(buf, buflen, "Error: VM option '%s' is diagnostic and must be enabled via -XX:+UnlockDiagnosticVMOptions.\n",
+                 _name);
+    return;
+  }
+  if (is_experimental() && !is_unlocked()) {
+    jio_snprintf(buf, buflen, "Error: VM option '%s' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.\n",
+                 _name);
+    return;
+  }
+  if (is_develop() && is_product_build()) {
+    jio_snprintf(buf, buflen, "Error: VM option '%s' is develop and is available only in debug version of VM.\n",
+                 _name);
+    return;
+  }
+  if (is_notproduct() && is_product_build()) {
+    jio_snprintf(buf, buflen, "Error: VM option '%s' is notproduct and is available only in debug version of VM.\n",
+                 _name);
+    return;
+  }
   get_locked_message_ext(buf, buflen);
 }
 
@@ -464,13 +494,13 @@
 }
 
 // Search the flag table for a named flag
-Flag* Flag::find_flag(const char* name, size_t length, bool allow_locked) {
+Flag* Flag::find_flag(const char* name, size_t length, bool allow_locked, bool return_flag) {
   for (Flag* current = &flagTable[0]; current->_name != NULL; current++) {
     if (str_equal(current->_name, name, length)) {
       // Found a matching entry.
       // Don't report notproduct and develop flags in product builds.
       if (current->is_constant_in_binary()) {
-        return NULL;
+        return (return_flag == true ? current : NULL);
       }
       // Report locked flags only if allowed.
       if (!(current->is_unlocked() || current->is_unlocker())) {
@@ -564,6 +594,17 @@
   return true;
 }
 
+template<class E, class T>
+static void trace_flag_changed(const char* name, const T old_value, const T new_value, const Flag::Flags origin)
+{
+  E e;
+  e.set_name(name);
+  e.set_old_value(old_value);
+  e.set_new_value(new_value);
+  e.set_origin(origin);
+  e.commit();
+}
+
 bool CommandLineFlags::boolAt(char* name, size_t len, bool* value) {
   Flag* result = Flag::find_flag(name, len);
   if (result == NULL) return false;
@@ -577,6 +618,7 @@
   if (result == NULL) return false;
   if (!result->is_bool()) return false;
   bool old_value = result->get_bool();
+  trace_flag_changed<EventBooleanFlagChanged, bool>(name, old_value, *value, origin);
   result->set_bool(*value);
   *value = old_value;
   result->set_origin(origin);
@@ -586,6 +628,7 @@
 void CommandLineFlagsEx::boolAtPut(CommandLineFlagWithType flag, bool value, Flag::Flags origin) {
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_bool(), "wrong flag type");
+  trace_flag_changed<EventBooleanFlagChanged, bool>(faddr->_name, faddr->get_bool(), value, origin);
   faddr->set_bool(value);
   faddr->set_origin(origin);
 }
@@ -603,6 +646,7 @@
   if (result == NULL) return false;
   if (!result->is_intx()) return false;
   intx old_value = result->get_intx();
+  trace_flag_changed<EventLongFlagChanged, s8>(name, old_value, *value, origin);
   result->set_intx(*value);
   *value = old_value;
   result->set_origin(origin);
@@ -612,6 +656,7 @@
 void CommandLineFlagsEx::intxAtPut(CommandLineFlagWithType flag, intx value, Flag::Flags origin) {
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_intx(), "wrong flag type");
+  trace_flag_changed<EventLongFlagChanged, s8>(faddr->_name, faddr->get_intx(), value, origin);
   faddr->set_intx(value);
   faddr->set_origin(origin);
 }
@@ -629,6 +674,7 @@
   if (result == NULL) return false;
   if (!result->is_uintx()) return false;
   uintx old_value = result->get_uintx();
+  trace_flag_changed<EventUnsignedLongFlagChanged, u8>(name, old_value, *value, origin);
   result->set_uintx(*value);
   *value = old_value;
   result->set_origin(origin);
@@ -638,6 +684,7 @@
 void CommandLineFlagsEx::uintxAtPut(CommandLineFlagWithType flag, uintx value, Flag::Flags origin) {
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_uintx(), "wrong flag type");
+  trace_flag_changed<EventUnsignedLongFlagChanged, u8>(faddr->_name, faddr->get_uintx(), value, origin);
   faddr->set_uintx(value);
   faddr->set_origin(origin);
 }
@@ -655,6 +702,7 @@
   if (result == NULL) return false;
   if (!result->is_uint64_t()) return false;
   uint64_t old_value = result->get_uint64_t();
+  trace_flag_changed<EventUnsignedLongFlagChanged, u8>(name, old_value, *value, origin);
   result->set_uint64_t(*value);
   *value = old_value;
   result->set_origin(origin);
@@ -664,6 +712,7 @@
 void CommandLineFlagsEx::uint64_tAtPut(CommandLineFlagWithType flag, uint64_t value, Flag::Flags origin) {
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_uint64_t(), "wrong flag type");
+  trace_flag_changed<EventUnsignedLongFlagChanged, u8>(faddr->_name, faddr->get_uint64_t(), value, origin);
   faddr->set_uint64_t(value);
   faddr->set_origin(origin);
 }
@@ -681,6 +730,7 @@
   if (result == NULL) return false;
   if (!result->is_double()) return false;
   double old_value = result->get_double();
+  trace_flag_changed<EventDoubleFlagChanged, double>(name, old_value, *value, origin);
   result->set_double(*value);
   *value = old_value;
   result->set_origin(origin);
@@ -690,6 +740,7 @@
 void CommandLineFlagsEx::doubleAtPut(CommandLineFlagWithType flag, double value, Flag::Flags origin) {
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_double(), "wrong flag type");
+  trace_flag_changed<EventDoubleFlagChanged, double>(faddr->_name, faddr->get_double(), value, origin);
   faddr->set_double(value);
   faddr->set_origin(origin);
 }
@@ -709,6 +760,7 @@
   if (result == NULL) return false;
   if (!result->is_ccstr()) return false;
   ccstr old_value = result->get_ccstr();
+  trace_flag_changed<EventStringFlagChanged, const char*>(name, old_value, *value, origin);
   char* new_value = NULL;
   if (*value != NULL) {
     new_value = NEW_C_HEAP_ARRAY(char, strlen(*value)+1, mtInternal);
@@ -731,6 +783,7 @@
   Flag* faddr = address_of_flag(flag);
   guarantee(faddr != NULL && faddr->is_ccstr(), "wrong flag type");
   ccstr old_value = faddr->get_ccstr();
+  trace_flag_changed<EventStringFlagChanged, const char*>(faddr->_name, old_value, value, origin);
   char* new_value = NEW_C_HEAP_ARRAY(char, strlen(value)+1, mtInternal);
   strcpy(new_value, value);
   faddr->set_ccstr(new_value);
diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp
index 4967ead..c99a2b7 100644
--- a/hotspot/src/share/vm/runtime/globals.hpp
+++ b/hotspot/src/share/vm/runtime/globals.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -241,7 +241,7 @@
   // number of flags
   static size_t numFlags;
 
-  static Flag* find_flag(const char* name, size_t length, bool allow_locked = false);
+  static Flag* find_flag(const char* name, size_t length, bool allow_locked = false, bool return_flag = false);
   static Flag* fuzzy_match(const char* name, size_t length, bool allow_locked = false);
 
   void check_writable();
@@ -1258,6 +1258,9 @@
   develop(bool, TraceJNICalls, false,                                       \
           "Trace JNI calls")                                                \
                                                                             \
+  develop(bool, StressRewriter, false,                                      \
+          "Stress linktime bytecode rewriting")                             \
+                                                                            \
   notproduct(bool, TraceJVMCalls, false,                                    \
           "Trace JVM calls")                                                \
                                                                             \
@@ -2531,6 +2534,9 @@
   develop(bool, PrintMethodFlushing, false,                                 \
           "Print the nmethods being flushed")                               \
                                                                             \
+  diagnostic(bool, PrintMethodFlushingStatistics, false,                    \
+          "print statistics about method flushing")                         \
+                                                                            \
   develop(bool, UseRelocIndex, false,                                       \
           "Use an index to speed random access to relocations")             \
                                                                             \
@@ -3130,15 +3136,15 @@
           "Maximum size of class area in Metaspace when compressed "        \
           "class pointers are used")                                        \
                                                                             \
-  product(uintx, MinHeapFreeRatio,    40,                                   \
+  manageable(uintx, MinHeapFreeRatio, 40,                                   \
           "The minimum percentage of heap free after GC to avoid expansion."\
-          " For most GCs this applies to the old generation. In G1 it"      \
-          " applies to the whole heap. Not supported by ParallelGC.")       \
+          " For most GCs this applies to the old generation. In G1 and"     \
+          " ParallelGC it applies to the whole heap.")                      \
                                                                             \
-  product(uintx, MaxHeapFreeRatio,    70,                                   \
+  manageable(uintx, MaxHeapFreeRatio, 70,                                   \
           "The maximum percentage of heap free after GC to avoid shrinking."\
-          " For most GCs this applies to the old generation. In G1 it"      \
-          " applies to the whole heap. Not supported by ParallelGC.")       \
+          " For most GCs this applies to the old generation. In G1 and"     \
+          " ParallelGC it applies to the whole heap.")                      \
                                                                             \
   product(intx, SoftRefLRUPolicyMSPerMB, 1000,                              \
           "Number of milliseconds per MB of free space in the heap")        \
@@ -3306,21 +3312,21 @@
   develop(intx, CIStart, 0,                                                 \
           "The id of the first compilation to permit")                      \
                                                                             \
-  develop(intx, CIStop,    -1,                                              \
+  develop(intx, CIStop, max_jint,                                           \
           "The id of the last compilation to permit")                       \
                                                                             \
-  develop(intx, CIStartOSR,     0,                                          \
+  develop(intx, CIStartOSR, 0,                                              \
           "The id of the first osr compilation to permit "                  \
           "(CICountOSR must be on)")                                        \
                                                                             \
-  develop(intx, CIStopOSR,    -1,                                           \
+  develop(intx, CIStopOSR, max_jint,                                        \
           "The id of the last osr compilation to permit "                   \
           "(CICountOSR must be on)")                                        \
                                                                             \
-  develop(intx, CIBreakAtOSR,    -1,                                        \
+  develop(intx, CIBreakAtOSR, -1,                                           \
           "The id of osr compilation to break at")                          \
                                                                             \
-  develop(intx, CIBreakAt,    -1,                                           \
+  develop(intx, CIBreakAt, -1,                                              \
           "The id of compilation to break at")                              \
                                                                             \
   product(ccstrlist, CompileOnly, "",                                       \
@@ -3339,6 +3345,10 @@
           "File containing compilation replay information"                  \
           "[default: ./replay_pid%p.log] (%p replaced with pid)")           \
                                                                             \
+   product(ccstr, InlineDataFile, NULL,                                     \
+          "File containing inlining replay information"                     \
+          "[default: ./inline_pid%p.log] (%p replaced with pid)")           \
+                                                                            \
   develop(intx, ReplaySuppressInitializers, 2,                              \
           "Control handling of class initialization during replay: "        \
           "0 - don't do anything special; "                                 \
diff --git a/hotspot/src/share/vm/runtime/java.cpp b/hotspot/src/share/vm/runtime/java.cpp
index a356157..f5fde74 100644
--- a/hotspot/src/share/vm/runtime/java.cpp
+++ b/hotspot/src/share/vm/runtime/java.cpp
@@ -52,6 +52,7 @@
 #include "runtime/memprofiler.hpp"
 #include "runtime/sharedRuntime.hpp"
 #include "runtime/statSampler.hpp"
+#include "runtime/sweeper.hpp"
 #include "runtime/task.hpp"
 #include "runtime/thread.inline.hpp"
 #include "runtime/timer.hpp"
@@ -217,9 +218,7 @@
 
 
 // General statistics printing (profiling ...)
-
 void print_statistics() {
-
 #ifdef ASSERT
 
   if (CountRuntimeCalls) {
@@ -315,6 +314,10 @@
     CodeCache::print();
   }
 
+  if (PrintMethodFlushingStatistics) {
+    NMethodSweeper::print();
+  }
+
   if (PrintCodeCache2) {
     MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
     CodeCache::print_internals();
@@ -382,6 +385,10 @@
     CodeCache::print();
   }
 
+  if (PrintMethodFlushingStatistics) {
+    NMethodSweeper::print();
+  }
+
 #ifdef COMPILER2
   if (PrintPreciseBiasedLockingStatistics) {
     OptoRuntime::print_named_counters();
diff --git a/hotspot/src/share/vm/runtime/objectMonitor.cpp b/hotspot/src/share/vm/runtime/objectMonitor.cpp
index 5238875..4fcbf5d 100644
--- a/hotspot/src/share/vm/runtime/objectMonitor.cpp
+++ b/hotspot/src/share/vm/runtime/objectMonitor.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -382,6 +382,12 @@
     DTRACE_MONITOR_PROBE(contended__enter, this, object(), jt);
     if (JvmtiExport::should_post_monitor_contended_enter()) {
       JvmtiExport::post_monitor_contended_enter(jt, this);
+
+      // The current thread does not yet own the monitor and does not
+      // yet appear on any queues that would get it made the successor.
+      // This means that the JVMTI_EVENT_MONITOR_CONTENDED_ENTER event
+      // handler cannot accidentally consume an unpark() meant for the
+      // ParkEvent associated with this ObjectMonitor.
     }
 
     OSThreadContendState osts(Self->osthread());
@@ -439,6 +445,12 @@
   DTRACE_MONITOR_PROBE(contended__entered, this, object(), jt);
   if (JvmtiExport::should_post_monitor_contended_entered()) {
     JvmtiExport::post_monitor_contended_entered(jt, this);
+
+    // The current thread already owns the monitor and is not going to
+    // call park() for the remainder of the monitor enter protocol. So
+    // it doesn't matter if the JVMTI_EVENT_MONITOR_CONTENDED_ENTERED
+    // event handler consumed an unpark() issued by the thread that
+    // just exited the monitor.
   }
 
   if (event.should_commit()) {
@@ -1456,6 +1468,14 @@
         // Note: 'false' parameter is passed here because the
         // wait was not timed out due to thread interrupt.
         JvmtiExport::post_monitor_waited(jt, this, false);
+
+        // In this short circuit of the monitor wait protocol, the
+        // current thread never drops ownership of the monitor and
+        // never gets added to the wait queue so the current thread
+        // cannot be made the successor. This means that the
+        // JVMTI_EVENT_MONITOR_WAITED event handler cannot accidentally
+        // consume an unpark() meant for the ParkEvent associated with
+        // this ObjectMonitor.
      }
      if (event.should_commit()) {
        post_monitor_wait_event(&event, 0, millis, false);
@@ -1499,21 +1519,6 @@
    exit (true, Self) ;                    // exit the monitor
    guarantee (_owner != Self, "invariant") ;
 
-   // As soon as the ObjectMonitor's ownership is dropped in the exit()
-   // call above, another thread can enter() the ObjectMonitor, do the
-   // notify(), and exit() the ObjectMonitor. If the other thread's
-   // exit() call chooses this thread as the successor and the unpark()
-   // call happens to occur while this thread is posting a
-   // MONITOR_CONTENDED_EXIT event, then we run the risk of the event
-   // handler using RawMonitors and consuming the unpark().
-   //
-   // To avoid the problem, we re-post the event. This does no harm
-   // even if the original unpark() was not consumed because we are the
-   // chosen successor for this monitor.
-   if (node._notified != 0 && _succ == Self) {
-      node._event->unpark();
-   }
-
    // The thread is on the WaitSet list - now park() it.
    // On MP systems it's conceivable that a brief spin before we park
    // could be profitable.
@@ -1597,6 +1602,33 @@
        JvmtiExport::post_monitor_waited(jt, this, ret == OS_TIMEOUT);
      }
 
+     // Without the fix for 8028280, it is possible for the above call:
+     //
+     //   Thread::SpinAcquire (&_WaitSetLock, "WaitSet - unlink") ;
+     //
+     // to consume the unpark() that was done when the successor was set.
+     // The solution for this very rare possibility is to redo the unpark()
+     // outside of the JvmtiExport::should_post_monitor_waited() check.
+     //
+     if (node._notified != 0 && _succ == Self) {
+       // In this part of the monitor wait-notify-reenter protocol it
+       // is possible (and normal) for another thread to do a fastpath
+       // monitor enter-exit while this thread is still trying to get
+       // to the reenter portion of the protocol.
+       //
+       // The ObjectMonitor was notified and the current thread is
+       // the successor which also means that an unpark() has already
+       // been done. The JVMTI_EVENT_MONITOR_WAITED event handler can
+       // consume the unpark() that was done when the successor was
+       // set because the same ParkEvent is shared between Java
+       // monitors and JVM/TI RawMonitors (for now).
+       //
+       // We redo the unpark() to ensure forward progress, i.e., we
+       // don't want all pending threads hanging (parked) with none
+       // entering the unlocked monitor.
+       node._event->unpark();
+     }
+
      if (event.should_commit()) {
        post_monitor_wait_event(&event, node._notifier_tid, millis, ret == OS_TIMEOUT);
      }
diff --git a/hotspot/src/share/vm/runtime/os.cpp b/hotspot/src/share/vm/runtime/os.cpp
index c489b07..332ec29 100644
--- a/hotspot/src/share/vm/runtime/os.cpp
+++ b/hotspot/src/share/vm/runtime/os.cpp
@@ -1081,7 +1081,6 @@
 
   }
 
-#ifndef PRODUCT
   // Check if in metaspace.
   if (ClassLoaderDataGraph::contains((address)addr)) {
     // Use addr->print() from the debugger instead (not here)
@@ -1089,7 +1088,6 @@
                  " is pointing into metadata", addr);
     return;
   }
-#endif
 
   // Try an OS specific find
   if (os::find(addr, st)) {
diff --git a/hotspot/src/share/vm/runtime/perfMemory.cpp b/hotspot/src/share/vm/runtime/perfMemory.cpp
index 0685cbd..cf52165 100644
--- a/hotspot/src/share/vm/runtime/perfMemory.cpp
+++ b/hotspot/src/share/vm/runtime/perfMemory.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -155,7 +155,7 @@
 
 void PerfMemory::destroy() {
 
-  assert(_prologue != NULL, "prologue pointer must be initialized");
+  if (_prologue == NULL) return;
 
   if (_start != NULL && _prologue->overflow != 0) {
 
diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.cpp b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
index a993c4d..fc89af6 100644
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp
@@ -494,6 +494,13 @@
     assert(!nm->is_native_method(), "no exception handler");
     assert(nm->header_begin() != nm->exception_begin(), "no exception handler");
     if (nm->is_deopt_pc(return_address)) {
+      // If we come here because of a stack overflow, the stack may be
+      // unguarded. Reguard the stack otherwise if we return to the
+      // deopt blob and the stack bang causes a stack overflow we
+      // crash.
+      bool guard_pages_enabled = thread->stack_yellow_zone_enabled();
+      if (!guard_pages_enabled) guard_pages_enabled = thread->reguard_stack();
+      assert(guard_pages_enabled, "stack banging in deopt blob may cause crash");
       return SharedRuntime::deopt_blob()->unpack_with_exception();
     } else {
       return nm->exception_begin();
@@ -2400,7 +2407,7 @@
   ResourceMark rm;
 
   NOT_PRODUCT(int insts_size);
-  AdapterBlob* B = NULL;
+  AdapterBlob* new_adapter = NULL;
   AdapterHandlerEntry* entry = NULL;
   AdapterFingerPrint* fingerprint = NULL;
   {
@@ -2432,7 +2439,8 @@
 
 #ifdef ASSERT
     AdapterHandlerEntry* shared_entry = NULL;
-    if (VerifyAdapterSharing && entry != NULL) {
+    // Start adapter sharing verification only after the VM is booted.
+    if (VerifyAdapterSharing && (entry != NULL)) {
       shared_entry = entry;
       entry = NULL;
     }
@@ -2448,41 +2456,44 @@
     // Make a C heap allocated version of the fingerprint to store in the adapter
     fingerprint = new AdapterFingerPrint(total_args_passed, sig_bt);
 
-    // Create I2C & C2I handlers
+    // StubRoutines::code2() is initialized after this function can be called. As a result,
+    // VerifyAdapterCalls and VerifyAdapterSharing can fail if we re-use code that generated
+    // prior to StubRoutines::code2() being set. Checks refer to checks generated in an I2C
+    // stub that ensure that an I2C stub is called from an interpreter frame.
+    bool contains_all_checks = StubRoutines::code2() != NULL;
 
+    // Create I2C & C2I handlers
     BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache
     if (buf != NULL) {
       CodeBuffer buffer(buf);
       short buffer_locs[20];
       buffer.insts()->initialize_shared_locs((relocInfo*)buffer_locs,
                                              sizeof(buffer_locs)/sizeof(relocInfo));
-      MacroAssembler _masm(&buffer);
 
+      MacroAssembler _masm(&buffer);
       entry = SharedRuntime::generate_i2c2i_adapters(&_masm,
                                                      total_args_passed,
                                                      comp_args_on_stack,
                                                      sig_bt,
                                                      regs,
                                                      fingerprint);
-
 #ifdef ASSERT
       if (VerifyAdapterSharing) {
         if (shared_entry != NULL) {
-          assert(shared_entry->compare_code(buf->code_begin(), buffer.insts_size(), total_args_passed, sig_bt),
-                 "code must match");
+          assert(shared_entry->compare_code(buf->code_begin(), buffer.insts_size()), "code must match");
           // Release the one just created and return the original
           _adapters->free_entry(entry);
           return shared_entry;
         } else  {
-          entry->save_code(buf->code_begin(), buffer.insts_size(), total_args_passed, sig_bt);
+          entry->save_code(buf->code_begin(), buffer.insts_size());
         }
       }
 #endif
 
-      B = AdapterBlob::create(&buffer);
+      new_adapter = AdapterBlob::create(&buffer);
       NOT_PRODUCT(insts_size = buffer.insts_size());
     }
-    if (B == NULL) {
+    if (new_adapter == NULL) {
       // CodeCache is full, disable compilation
       // Ought to log this but compile log is only per compile thread
       // and we're some non descript Java thread.
@@ -2490,7 +2501,7 @@
       CompileBroker::handle_full_code_cache();
       return NULL; // Out of CodeCache space
     }
-    entry->relocate(B->content_begin());
+    entry->relocate(new_adapter->content_begin());
 #ifndef PRODUCT
     // debugging suppport
     if (PrintAdapterHandlers || PrintStubCode) {
@@ -2509,22 +2520,25 @@
       }
     }
 #endif
-
-    _adapters->add(entry);
+    // Add the entry only if the entry contains all required checks (see sharedRuntime_xxx.cpp)
+    // The checks are inserted only if -XX:+VerifyAdapterCalls is specified.
+    if (contains_all_checks || !VerifyAdapterCalls) {
+      _adapters->add(entry);
+    }
   }
   // Outside of the lock
-  if (B != NULL) {
+  if (new_adapter != NULL) {
     char blob_id[256];
     jio_snprintf(blob_id,
                  sizeof(blob_id),
                  "%s(%s)@" PTR_FORMAT,
-                 B->name(),
+                 new_adapter->name(),
                  fingerprint->as_string(),
-                 B->content_begin());
-    Forte::register_stub(blob_id, B->content_begin(), B->content_end());
+                 new_adapter->content_begin());
+    Forte::register_stub(blob_id, new_adapter->content_begin(),new_adapter->content_end());
 
     if (JvmtiExport::should_post_dynamic_code_generated()) {
-      JvmtiExport::post_dynamic_code_generated(blob_id, B->content_begin(), B->content_end());
+      JvmtiExport::post_dynamic_code_generated(blob_id, new_adapter->content_begin(), new_adapter->content_end());
     }
   }
   return entry;
@@ -2556,7 +2570,6 @@
   delete _fingerprint;
 #ifdef ASSERT
   if (_saved_code) FREE_C_HEAP_ARRAY(unsigned char, _saved_code, mtCode);
-  if (_saved_sig)  FREE_C_HEAP_ARRAY(Basictype, _saved_sig, mtCode);
 #endif
 }
 
@@ -2565,35 +2578,30 @@
 // Capture the code before relocation so that it can be compared
 // against other versions.  If the code is captured after relocation
 // then relative instructions won't be equivalent.
-void AdapterHandlerEntry::save_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) {
+void AdapterHandlerEntry::save_code(unsigned char* buffer, int length) {
   _saved_code = NEW_C_HEAP_ARRAY(unsigned char, length, mtCode);
-  _code_length = length;
+  _saved_code_length = length;
   memcpy(_saved_code, buffer, length);
-  _total_args_passed = total_args_passed;
-  _saved_sig = NEW_C_HEAP_ARRAY(BasicType, _total_args_passed, mtCode);
-  memcpy(_saved_sig, sig_bt, _total_args_passed * sizeof(BasicType));
 }
 
 
-bool AdapterHandlerEntry::compare_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) {
-  if (length != _code_length) {
+bool AdapterHandlerEntry::compare_code(unsigned char* buffer, int length) {
+  if (length != _saved_code_length) {
     return false;
   }
-  for (int i = 0; i < length; i++) {
-    if (buffer[i] != _saved_code[i]) {
-      return false;
-    }
-  }
-  return true;
+
+  return (memcmp(buffer, _saved_code, length) == 0) ? true : false;
 }
 #endif
 
 
-// Create a native wrapper for this native method.  The wrapper converts the
-// java compiled calling convention to the native convention, handlizes
-// arguments, and transitions to native.  On return from the native we transition
-// back to java blocking if a safepoint is in progress.
-nmethod *AdapterHandlerLibrary::create_native_wrapper(methodHandle method, int compile_id) {
+/**
+ * Create a native wrapper for this native method.  The wrapper converts the
+ * Java-compiled calling convention to the native convention, handles
+ * arguments, and transitions to native.  On return from the native we transition
+ * back to java blocking if a safepoint is in progress.
+ */
+void AdapterHandlerLibrary::create_native_wrapper(methodHandle method) {
   ResourceMark rm;
   nmethod* nm = NULL;
 
@@ -2602,16 +2610,19 @@
          method->has_native_function(), "must have something valid to call!");
 
   {
-    // perform the work while holding the lock, but perform any printing outside the lock
+    // Perform the work while holding the lock, but perform any printing outside the lock
     MutexLocker mu(AdapterHandlerLibrary_lock);
     // See if somebody beat us to it
     nm = method->code();
-    if (nm) {
-      return nm;
+    if (nm != NULL) {
+      return;
     }
 
-    ResourceMark rm;
+    const int compile_id = CompileBroker::assign_compile_id(method, CompileBroker::standard_entry_bci);
+    assert(compile_id > 0, "Must generate native wrapper");
 
+
+    ResourceMark rm;
     BufferBlob*  buf = buffer_blob(); // the temporary code buffer in CodeCache
     if (buf != NULL) {
       CodeBuffer buffer(buf);
@@ -2643,16 +2654,14 @@
       int comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, is_outgoing);
 
       // Generate the compiled-to-native wrapper code
-      nm = SharedRuntime::generate_native_wrapper(&_masm,
-                                                  method,
-                                                  compile_id,
-                                                  sig_bt,
-                                                  regs,
-                                                  ret_type);
-    }
-  }
+      nm = SharedRuntime::generate_native_wrapper(&_masm, method, compile_id, sig_bt, regs, ret_type);
 
-  // Must unlock before calling set_code
+      if (nm != NULL) {
+        method->set_code(method, nm);
+      }
+    }
+  } // Unlock AdapterHandlerLibrary_lock
+
 
   // Install the generated code.
   if (nm != NULL) {
@@ -2660,13 +2669,11 @@
       ttyLocker ttyl;
       CompileTask::print_compilation(tty, nm, method->is_static() ? "(static)" : "");
     }
-    method->set_code(method, nm);
     nm->post_compiled_method_load_event();
   } else {
     // CodeCache is full, disable compilation
     CompileBroker::handle_full_code_cache();
   }
-  return nm;
 }
 
 JRT_ENTRY_NO_ASYNC(void, SharedRuntime::block_for_jni_critical(JavaThread* thread))
diff --git a/hotspot/src/share/vm/runtime/sharedRuntime.hpp b/hotspot/src/share/vm/runtime/sharedRuntime.hpp
index ddf339e..6fc9424 100644
--- a/hotspot/src/share/vm/runtime/sharedRuntime.hpp
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.hpp
@@ -612,9 +612,7 @@
   // Captures code and signature used to generate this adapter when
   // verifing adapter equivalence.
   unsigned char* _saved_code;
-  int            _code_length;
-  BasicType*     _saved_sig;
-  int            _total_args_passed;
+  int            _saved_code_length;
 #endif
 
   void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
@@ -624,9 +622,7 @@
     _c2i_unverified_entry = c2i_unverified_entry;
 #ifdef ASSERT
     _saved_code = NULL;
-    _code_length = 0;
-    _saved_sig = NULL;
-    _total_args_passed = 0;
+    _saved_code_length = 0;
 #endif
   }
 
@@ -639,7 +635,6 @@
   address get_i2c_entry()            const { return _i2c_entry; }
   address get_c2i_entry()            const { return _c2i_entry; }
   address get_c2i_unverified_entry() const { return _c2i_unverified_entry; }
-
   address base_address();
   void relocate(address new_base);
 
@@ -651,8 +646,8 @@
 
 #ifdef ASSERT
   // Used to verify that code generated for shared adapters is equivalent
-  void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
-  bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
+  void save_code   (unsigned char* code, int length);
+  bool compare_code(unsigned char* code, int length);
 #endif
 
   //virtual void print_on(outputStream* st) const;  DO NOT USE
@@ -671,7 +666,7 @@
 
   static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
                                         address i2c_entry, address c2i_entry, address c2i_unverified_entry);
-  static nmethod* create_native_wrapper(methodHandle method, int compile_id);
+  static void create_native_wrapper(methodHandle method);
   static AdapterHandlerEntry* get_adapter(methodHandle method);
 
 #ifdef HAVE_DTRACE_H
diff --git a/hotspot/src/share/vm/runtime/sweeper.cpp b/hotspot/src/share/vm/runtime/sweeper.cpp
index 9034428..d8d42be 100644
--- a/hotspot/src/share/vm/runtime/sweeper.cpp
+++ b/hotspot/src/share/vm/runtime/sweeper.cpp
@@ -129,6 +129,7 @@
 
 nmethod* NMethodSweeper::_current                      = NULL; // Current nmethod
 long     NMethodSweeper::_traversals                   = 0;    // Stack scan count, also sweep ID.
+long     NMethodSweeper::_total_nof_code_cache_sweeps  = 0;    // Total number of full sweeps of the code cache
 long     NMethodSweeper::_time_counter                 = 0;    // Virtual time used to periodically invoke sweeper
 long     NMethodSweeper::_last_sweep                   = 0;    // Value of _time_counter when the last sweep happened
 int      NMethodSweeper::_seen                         = 0;    // Nof. nmethod we have currently processed in current pass of CodeCache
@@ -143,13 +144,16 @@
                                                                //   1) alive       -> not_entrant
                                                                //   2) not_entrant -> zombie
                                                                //   3) zombie      -> marked_for_reclamation
+int    NMethodSweeper::_hotness_counter_reset_val       = 0;
 
-int   NMethodSweeper::_total_nof_methods_reclaimed     = 0;    // Accumulated nof methods flushed
-Tickspan NMethodSweeper::_total_time_sweeping;                 // Accumulated time sweeping
-Tickspan NMethodSweeper::_total_time_this_sweep;               // Total time this sweep
-Tickspan NMethodSweeper::_peak_sweep_time;                     // Peak time for a full sweep
-Tickspan NMethodSweeper::_peak_sweep_fraction_time;            // Peak time sweeping one fraction
-int   NMethodSweeper::_hotness_counter_reset_val       = 0;
+long   NMethodSweeper::_total_nof_methods_reclaimed     = 0;    // Accumulated nof methods flushed
+long   NMethodSweeper::_total_nof_c2_methods_reclaimed  = 0;    // Accumulated nof methods flushed
+size_t NMethodSweeper::_total_flushed_size              = 0;    // Total number of bytes flushed from the code cache
+Tickspan  NMethodSweeper::_total_time_sweeping;                 // Accumulated time sweeping
+Tickspan  NMethodSweeper::_total_time_this_sweep;               // Total time this sweep
+Tickspan  NMethodSweeper::_peak_sweep_time;                     // Peak time for a full sweep
+Tickspan  NMethodSweeper::_peak_sweep_fraction_time;            // Peak time sweeping one fraction
+
 
 
 class MarkActivationClosure: public CodeBlobClosure {
@@ -257,9 +261,14 @@
   // Large ReservedCodeCacheSize:   (e.g., 256M + code Cache is 90% full). The formula
   //                                              computes: (256 / 16) - 10 = 6.
   if (!_should_sweep) {
-    int time_since_last_sweep = _time_counter - _last_sweep;
-    double wait_until_next_sweep = (ReservedCodeCacheSize / (16 * M)) - time_since_last_sweep -
-                                CodeCache::reverse_free_ratio();
+    const int time_since_last_sweep = _time_counter - _last_sweep;
+    // ReservedCodeCacheSize has an 'unsigned' type. We need a 'signed' type for max_wait_time,
+    // since 'time_since_last_sweep' can be larger than 'max_wait_time'. If that happens using
+    // an unsigned type would cause an underflow (wait_until_next_sweep becomes a large positive
+    // value) that disables the intended periodic sweeps.
+    const int max_wait_time = ReservedCodeCacheSize / (16 * M);
+    double wait_until_next_sweep = max_wait_time - time_since_last_sweep - CodeCache::reverse_free_ratio();
+    assert(wait_until_next_sweep <= (double)max_wait_time, "Calculation of code cache sweeper interval is incorrect");
 
     if ((wait_until_next_sweep <= 0.0) || !CompileBroker::should_compile_new_jobs()) {
       _should_sweep = true;
@@ -287,6 +296,7 @@
 
     // We are done with sweeping the code cache once.
     if (_sweep_fractions_left == 0) {
+      _total_nof_code_cache_sweeps++;
       _last_sweep = _time_counter;
       // Reset flag; temporarily disables sweeper
       _should_sweep = false;
@@ -373,6 +383,7 @@
   _total_time_sweeping  += sweep_time;
   _total_time_this_sweep += sweep_time;
   _peak_sweep_fraction_time = MAX2(sweep_time, _peak_sweep_fraction_time);
+  _total_flushed_size += freed_memory;
   _total_nof_methods_reclaimed += _flushed_count;
 
   EventSweepCodeCache event(UNTIMED);
@@ -504,6 +515,9 @@
         tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (marked for reclamation) being flushed", nm->compile_id(), nm);
       }
       freed_memory = nm->total_size();
+      if (nm->is_compiled_by_c2()) {
+        _total_nof_c2_methods_reclaimed++;
+      }
       release_nmethod(nm);
       _flushed_count++;
     } else {
@@ -542,6 +556,9 @@
       SWEEP(nm);
       // No inline caches will ever point to osr methods, so we can just remove it
       freed_memory = nm->total_size();
+      if (nm->is_compiled_by_c2()) {
+        _total_nof_c2_methods_reclaimed++;
+      }
       release_nmethod(nm);
       _flushed_count++;
     } else {
@@ -629,3 +646,13 @@
     xtty->end_elem();
   }
 }
+
+void NMethodSweeper::print() {
+  ttyLocker ttyl;
+  tty->print_cr("Code cache sweeper statistics:");
+  tty->print_cr("  Total sweep time:                %1.0lfms", (double)_total_time_sweeping.value()/1000000);
+  tty->print_cr("  Total number of full sweeps:     %ld", _total_nof_code_cache_sweeps);
+  tty->print_cr("  Total number of flushed methods: %ld(%ld C2 methods)", _total_nof_methods_reclaimed,
+                                                    _total_nof_c2_methods_reclaimed);
+  tty->print_cr("  Total size of flushed methods:   " SIZE_FORMAT "kB", _total_flushed_size/K);
+}
diff --git a/hotspot/src/share/vm/runtime/sweeper.hpp b/hotspot/src/share/vm/runtime/sweeper.hpp
index 9b11264..abee1ec 100644
--- a/hotspot/src/share/vm/runtime/sweeper.hpp
+++ b/hotspot/src/share/vm/runtime/sweeper.hpp
@@ -54,28 +54,33 @@
 //     is full.
 
 class NMethodSweeper : public AllStatic {
-  static long      _traversals;                   // Stack scan count, also sweep ID.
-  static long      _time_counter;                 // Virtual time used to periodically invoke sweeper
-  static long      _last_sweep;                   // Value of _time_counter when the last sweep happened
-  static nmethod*  _current;                      // Current nmethod
-  static int       _seen;                         // Nof. nmethod we have currently processed in current pass of CodeCache
-  static int       _flushed_count;                // Nof. nmethods flushed in current sweep
-  static int       _zombified_count;              // Nof. nmethods made zombie in current sweep
-  static int       _marked_for_reclamation_count; // Nof. nmethods marked for reclaim in current sweep
+  static long      _traversals;                     // Stack scan count, also sweep ID.
+  static long      _total_nof_code_cache_sweeps;    // Total number of full sweeps of the code cache
+  static long      _time_counter;                   // Virtual time used to periodically invoke sweeper
+  static long      _last_sweep;                     // Value of _time_counter when the last sweep happened
+  static nmethod*  _current;                        // Current nmethod
+  static int       _seen;                           // Nof. nmethod we have currently processed in current pass of CodeCache
+  static int       _flushed_count;                  // Nof. nmethods flushed in current sweep
+  static int       _zombified_count;                // Nof. nmethods made zombie in current sweep
+  static int       _marked_for_reclamation_count;   // Nof. nmethods marked for reclaim in current sweep
 
-  static volatile int  _sweep_fractions_left;     // Nof. invocations left until we are completed with this pass
-  static volatile int  _sweep_started;            // Flag to control conc sweeper
-  static volatile bool _should_sweep;             // Indicates if we should invoke the sweeper
-  static volatile int _bytes_changed;             // Counts the total nmethod size if the nmethod changed from:
-                                                  //   1) alive       -> not_entrant
-                                                  //   2) not_entrant -> zombie
-                                                  //   3) zombie      -> marked_for_reclamation
+  static volatile int  _sweep_fractions_left;       // Nof. invocations left until we are completed with this pass
+  static volatile int  _sweep_started;              // Flag to control conc sweeper
+  static volatile bool _should_sweep;               // Indicates if we should invoke the sweeper
+  static volatile int  _bytes_changed;              // Counts the total nmethod size if the nmethod changed from:
+                                                    //   1) alive       -> not_entrant
+                                                    //   2) not_entrant -> zombie
+                                                    //   3) zombie      -> marked_for_reclamation
   // Stat counters
-  static int       _total_nof_methods_reclaimed;  // Accumulated nof methods flushed
-  static Tickspan  _total_time_sweeping;          // Accumulated time sweeping
-  static Tickspan  _total_time_this_sweep;        // Total time this sweep
-  static Tickspan  _peak_sweep_time;              // Peak time for a full sweep
-  static Tickspan  _peak_sweep_fraction_time;     // Peak time sweeping one fraction
+  static long      _total_nof_methods_reclaimed;    // Accumulated nof methods flushed
+  static long      _total_nof_c2_methods_reclaimed; // Accumulated nof C2-compiled methods flushed
+  static size_t    _total_flushed_size;             // Total size of flushed methods
+  static int       _hotness_counter_reset_val;
+
+  static Tickspan  _total_time_sweeping;            // Accumulated time sweeping
+  static Tickspan  _total_time_this_sweep;          // Total time this sweep
+  static Tickspan  _peak_sweep_time;                // Peak time for a full sweep
+  static Tickspan  _peak_sweep_fraction_time;       // Peak time sweeping one fraction
 
   static int  process_nmethod(nmethod *nm);
   static void release_nmethod(nmethod* nm);
@@ -83,8 +88,6 @@
   static bool sweep_in_progress();
   static void sweep_code_cache();
 
-  static int _hotness_counter_reset_val;
-
  public:
   static long traversal_count()              { return _traversals; }
   static int  total_nof_methods_reclaimed()  { return _total_nof_methods_reclaimed; }
@@ -105,10 +108,10 @@
   static void mark_active_nmethods();      // Invoked at the end of each safepoint
   static void possibly_sweep();            // Compiler threads call this to sweep
 
-  static int sort_nmethods_by_hotness(nmethod** nm1, nmethod** nm2);
   static int hotness_counter_reset_val();
   static void report_state_change(nmethod* nm);
   static void possibly_enable_sweeper();
+  static void print();   // Printing/debugging
 };
 
 #endif // SHARE_VM_RUNTIME_SWEEPER_HPP
diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp
index 0897c25..c1191a0 100644
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp
@@ -242,7 +242,7 @@
 typedef Hashtable<Klass*, mtClass>            KlassHashtable;
 typedef HashtableEntry<Klass*, mtClass>       KlassHashtableEntry;
 typedef TwoOopHashtable<Symbol*, mtClass>     SymbolTwoOopHashtable;
-typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary;
+typedef BinaryTreeDictionary<Metablock, FreeList<Metablock> > MetablockTreeDictionary;
 
 //--------------------------------------------------------------------------------
 // VM_STRUCTS
diff --git a/hotspot/src/share/vm/services/attachListener.cpp b/hotspot/src/share/vm/services/attachListener.cpp
index 51fdb6f..6ab6c8f 100644
--- a/hotspot/src/share/vm/services/attachListener.cpp
+++ b/hotspot/src/share/vm/services/attachListener.cpp
@@ -282,6 +282,20 @@
       return JNI_ERR;
     }
   }
+
+  if (strncmp(name, "MaxHeapFreeRatio", 17) == 0) {
+    FormatBuffer<80> err_msg("");
+    if (!Arguments::verify_MaxHeapFreeRatio(err_msg, value)) {
+      out->print_cr(err_msg.buffer());
+      return JNI_ERR;
+    }
+  } else if (strncmp(name, "MinHeapFreeRatio", 17) == 0) {
+    FormatBuffer<80> err_msg("");
+    if (!Arguments::verify_MinHeapFreeRatio(err_msg, value)) {
+      out->print_cr(err_msg.buffer());
+      return JNI_ERR;
+    }
+  }
   bool res = CommandLineFlags::uintxAtPut((char*)name, &value, Flag::ATTACH_ON_DEMAND);
   if (! res) {
     out->print_cr("setting flag %s failed", name);
diff --git a/hotspot/src/share/vm/services/management.cpp b/hotspot/src/share/vm/services/management.cpp
index 9585960..7d39a2e 100644
--- a/hotspot/src/share/vm/services/management.cpp
+++ b/hotspot/src/share/vm/services/management.cpp
@@ -1830,6 +1830,18 @@
     succeed = CommandLineFlags::intxAtPut(name, &ivalue, Flag::MANAGEMENT);
   } else if (flag->is_uintx()) {
     uintx uvalue = (uintx)new_value.j;
+
+    if (strncmp(name, "MaxHeapFreeRatio", 17) == 0) {
+      FormatBuffer<80> err_msg("");
+      if (!Arguments::verify_MaxHeapFreeRatio(err_msg, uvalue)) {
+        THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer());
+      }
+    } else if (strncmp(name, "MinHeapFreeRatio", 17) == 0) {
+      FormatBuffer<80> err_msg("");
+      if (!Arguments::verify_MinHeapFreeRatio(err_msg, uvalue)) {
+        THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), err_msg.buffer());
+      }
+    }
     succeed = CommandLineFlags::uintxAtPut(name, &uvalue, Flag::MANAGEMENT);
   } else if (flag->is_uint64_t()) {
     uint64_t uvalue = (uint64_t)new_value.j;
diff --git a/hotspot/src/share/vm/trace/trace.xml b/hotspot/src/share/vm/trace/trace.xml
index 218207b..75efeea 100644
--- a/hotspot/src/share/vm/trace/trace.xml
+++ b/hotspot/src/share/vm/trace/trace.xml
@@ -122,6 +122,46 @@
       <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/>
     </event>
 
+    <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed"
+          is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="LONG" field="old_value" label="Old Value" />
+      <value type="LONG" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
+    <event id="UnsignedLongFlagChanged" path="vm/flag/ulong_changed" label="Unsigned Long Flag Changed"
+          is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="ULONG" field="old_value" label="Old Value" />
+      <value type="ULONG" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
+    <event id="DoubleFlagChanged" path="vm/flag/double_changed" label="Double Flag Changed"
+         is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="DOUBLE" field="old_value" label="Old Value" />
+      <value type="DOUBLE" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
+    <event id="BooleanFlagChanged" path="vm/flag/boolean_changed" label="Boolean Flag Changed"
+         is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="BOOLEAN" field="old_value" label="Old Value" />
+      <value type="BOOLEAN" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
+    <event id="StringFlagChanged" path="vm/flag/string_changed" label="String Flag Changed"
+         is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="UTF8" field="old_value" label="Old Value" />
+      <value type="UTF8" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
     <struct id="VirtualSpace">
       <value type="ADDRESS" field="start" label="Start Address" description="Start address of the virtual space" />
       <value type="ADDRESS" field="committedEnd" label="Committed End Address" description="End address of the committed memory for the virtual space" />
diff --git a/hotspot/src/share/vm/trace/tracetypes.xml b/hotspot/src/share/vm/trace/tracetypes.xml
index ab9a95b..9305d2f 100644
--- a/hotspot/src/share/vm/trace/tracetypes.xml
+++ b/hotspot/src/share/vm/trace/tracetypes.xml
@@ -85,12 +85,6 @@
       <value type="UTF8" field="name" label="Name"/>
     </content_type>
 
-    <content_type id="StackTrace" hr_name="Stacktrace"
-                  type="U8" builtin_type="STACKTRACE">
-      <value type="BOOLEAN" field="truncated" label="Truncated"/>
-      <structarray type="StackFrame" field="frames" label="Stack frames"/>
-    </content_type>
-
     <content_type id="Class" hr_name="Java class"
                   type="U8" builtin_type="CLASS">
       <value type="CLASS" field="loaderClass" label="ClassLoader"/>
@@ -116,17 +110,6 @@
       <value type="UTF8" field="name" label="Name"/>
     </content_type>
 
-    <content_type id="FrameType" hr_name="Frame type"
-                  type="U1" jvm_type="FRAMETYPE">
-      <value type="UTF8" field="desc" label="Description"/>
-    </content_type>
-
-    <struct_type id="StackFrame">
-      <value type="METHOD" field="method" label="Java Method"/>
-      <value type="INTEGER" field="line" label="Line number"/>
-      <value type="FRAMETYPE" field="type" label="Frame type"/>
-    </struct_type>
-
     <content_type id="GCName" hr_name="GC Name"
                   type="U1" jvm_type="GCNAME">
       <value type="UTF8" field="name" label="name" />
@@ -167,6 +150,11 @@
       <value type="UTF8" field="phase" label="phase" />
     </content_type>
 
+    <content_type id="FlagValueOrigin" hr_name="Flag Value Origin"
+                  type="U1" jvm_type="FLAGVALUEORIGIN">
+      <value type="UTF8" field="origin" label="origin" />
+    </content_type>
+
   </content_types>
 
 
@@ -351,6 +339,10 @@
     <!-- VMOPERATIONTYPE -->
     <primary_type symbol="VMOPERATIONTYPE" datatype="U2" contenttype="VMOPERATIONTYPE"
                   type="u2" sizeop="sizeof(u2)" />
+                  
+    <!-- FLAGVALUEORIGIN -->
+    <primary_type symbol="FLAGVALUEORIGIN" datatype="U1"
+                  contenttype="FLAGVALUEORIGIN" type="u1" sizeop="sizeof(u1)" />
 
   </primary_types>
 </types>
diff --git a/hotspot/src/share/vm/utilities/array.hpp b/hotspot/src/share/vm/utilities/array.hpp
index 9f8e45f..0fbcd94 100644
--- a/hotspot/src/share/vm/utilities/array.hpp
+++ b/hotspot/src/share/vm/utilities/array.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -58,7 +58,7 @@
 
   void initialize(size_t esize, int length) {
     assert(length >= 0, "illegal length");
-    assert(_data == NULL, "must be new object");
+    assert(StressRewriter || _data == NULL, "must be new object");
     _length  = length;
     _data    = resource_allocate_bytes(esize * length);
     DEBUG_ONLY(init_nesting();)
diff --git a/hotspot/src/share/vm/utilities/bitMap.cpp b/hotspot/src/share/vm/utilities/bitMap.cpp
index b676048..8431395 100644
--- a/hotspot/src/share/vm/utilities/bitMap.cpp
+++ b/hotspot/src/share/vm/utilities/bitMap.cpp
@@ -107,7 +107,7 @@
     while (true) {
       intptr_t res = Atomic::cmpxchg_ptr(nw, pw, w);
       if (res == w) break;
-      w  = *pw;
+      w  = res;
       nw = value ? (w | ~mr) : (w & mr);
     }
   }
diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp
index bbf9839..4b0953a 100644
--- a/hotspot/src/share/vm/utilities/vmError.cpp
+++ b/hotspot/src/share/vm/utilities/vmError.cpp
@@ -1040,7 +1040,7 @@
     OnError = NULL;
   }
 
-  static bool skip_replay = false;
+  static bool skip_replay = ReplayCompiles; // Do not overwrite file during replay
   if (DumpReplayDataOnError && _thread && _thread->is_Compiler_thread() && !skip_replay) {
     skip_replay = true;
     ciEnv* env = ciEnv::current();
diff --git a/hotspot/test/compiler/6826736/Test.java b/hotspot/test/compiler/6826736/Test.java
index 63299dd..e1e1e8d2 100644
--- a/hotspot/test/compiler/6826736/Test.java
+++ b/hotspot/test/compiler/6826736/Test.java
@@ -27,7 +27,7 @@
  * @bug 6826736
  * @summary CMS: core dump with -XX:+UseCompressedOops
  *
- * @run main/othervm/timeout=600 -XX:+IgnoreUnrecognizedVMOptions -Xbatch -XX:+ScavengeALot -XX:+UseCompressedOops -XX:HeapBaseMinAddress=32g -XX:CompileThreshold=100 -XX:CompileOnly=Test.test -XX:-BlockLayoutRotateLoops -XX:LoopUnrollLimit=0 Test
+ * @run main/othervm/timeout=600 -XX:+IgnoreUnrecognizedVMOptions -Xbatch -XX:+ScavengeALot -XX:+UseCompressedOops -XX:HeapBaseMinAddress=32g -XX:CompileThreshold=100 -XX:CompileOnly=Test.test -XX:-BlockLayoutRotateLoops -XX:LoopUnrollLimit=0 -Xmx256m -XX:ParallelGCThreads=4 Test
  */
 
 public class Test {
diff --git a/hotspot/test/compiler/7184394/TestAESMain.java b/hotspot/test/compiler/7184394/TestAESMain.java
index 48baf57..ff9e12b 100644
--- a/hotspot/test/compiler/7184394/TestAESMain.java
+++ b/hotspot/test/compiler/7184394/TestAESMain.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014 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
@@ -39,20 +39,32 @@
     System.out.println(iters + " iterations");
     TestAESEncode etest = new TestAESEncode();
     etest.prepare();
+    // warm-up for 20K iterations
+    System.out.println("Starting encryption warm-up");
+    for (int i=0; i<20000; i++) {
+      etest.run();
+    }
+    System.out.println("Finished encryption warm-up");
     long start = System.nanoTime();
     for (int i=0; i<iters; i++) {
       etest.run();
     }
     long end = System.nanoTime();
-    System.out.println("TestAESEncode runtime was " + (double)((end - start)/1000000000.0) + " ms");
+    System.out.println("TestAESEncode runtime was " + (double)((end - start)/1000000.0) + " ms");
 
     TestAESDecode dtest = new TestAESDecode();
     dtest.prepare();
+    // warm-up for 20K iterations
+    System.out.println("Starting decryption warm-up");
+    for (int i=0; i<20000; i++) {
+      dtest.run();
+    }
+    System.out.println("Finished decryption warm-up");
     start = System.nanoTime();
     for (int i=0; i<iters; i++) {
       dtest.run();
     }
     end = System.nanoTime();
-    System.out.println("TestAESDecode runtime was " + (double)((end - start)/1000000000.0) + " ms");
+    System.out.println("TestAESDecode runtime was " + (double)((end - start)/1000000.0) + " ms");
   }
 }
diff --git a/hotspot/test/compiler/debug/VerifyAdapterSharing.java b/hotspot/test/compiler/debug/VerifyAdapterSharing.java
new file mode 100644
index 0000000..1aac538
--- /dev/null
+++ b/hotspot/test/compiler/debug/VerifyAdapterSharing.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2013, 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 8030783
+ * @summary Regression test for 8026478
+ * @library /testlibrary
+ *
+ */
+import com.oracle.java.testlibrary.*;
+
+public class VerifyAdapterSharing {
+  public static void main(String[] args) throws Exception {
+    ProcessBuilder pb;
+    OutputAnalyzer out;
+
+    pb = ProcessTools.createJavaProcessBuilder("-Xcomp", "-XX:+IgnoreUnrecognizedVMOptions",
+                                               "-XX:+VerifyAdapterSharing", "-version");
+    out = new OutputAnalyzer(pb.start());
+    out.shouldHaveExitValue(0);
+  }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java
new file mode 100644
index 0000000..c55f847
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build AddExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics AddExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics AddExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class AddExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Add).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java
new file mode 100644
index 0000000..4823f07
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build AddExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics AddExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics AddExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class AddExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Add).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java
new file mode 100644
index 0000000..0b97ab8
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build DecrementExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics DecrementExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics DecrementExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class DecrementExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Decrement).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java
new file mode 100644
index 0000000..f2429aa
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build DecrementExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics DecrementExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics DecrementExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class DecrementExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Decrement).test();
+    }
+}
\ No newline at end of file
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java
new file mode 100644
index 0000000..714f4e2
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build IncrementExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics IncrementExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics IncrementExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class IncrementExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Increment).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java
new file mode 100644
index 0000000..19511c4
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build IncrementExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics IncrementExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics IncrementExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class IncrementExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Increment).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java
new file mode 100644
index 0000000..cecd6ce
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2013, 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.oracle.java.testlibrary.Platform;
+
+import java.io.FileOutputStream;
+import java.lang.reflect.Executable;
+import java.util.Properties;
+
+public abstract class IntrinsicBase extends CompilerWhiteBoxTest {
+    protected String javaVmName;
+    protected String useMathExactIntrinsics;
+
+    protected IntrinsicBase(TestCase testCase) {
+        super(testCase);
+        javaVmName = System.getProperty("java.vm.name");
+        useMathExactIntrinsics = getVMOption("UseMathExactIntrinsics");
+    }
+
+    @Override
+    protected void test() throws Exception {
+        //java.lang.Math should be loaded to allow a compilation of the methods that use Math's method
+        System.out.println("class java.lang.Math should be loaded. Proof: " + Math.class);
+        printEnvironmentInfo();
+
+        int expectedIntrinsicCount = 0;
+
+        switch (MODE) {
+            case "compiled mode":
+            case "mixed mode":
+                if (isServerVM()) {
+                    if (TIERED_COMPILATION) {
+                        int max_level = TIERED_STOP_AT_LEVEL;
+                        expectedIntrinsicCount = (max_level == COMP_LEVEL_MAX) ? 1 : 0;
+                        for (int i = CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE; i <= max_level; ++i) {
+                            deoptimize();
+                            compileAtLevel(i);
+                        }
+                    } else {
+                        expectedIntrinsicCount = 1;
+                        deoptimize();
+                        compileAtLevel(CompilerWhiteBoxTest.COMP_LEVEL_MAX);
+                    }
+                } else {
+                    deoptimize();
+                    compileAtLevel(CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE);
+                }
+
+                if (!isIntrinsicSupported()) {
+                    expectedIntrinsicCount = 0;
+                }
+                break;
+            case "interpreted mode": //test is not applicable in this mode;
+                System.err.println("Warning: This test is not applicable in mode: " + MODE);
+                break;
+            default:
+                throw new RuntimeException("Test bug, unknown VM mode: " + MODE);
+        }
+
+        System.out.println("Expected intrinsic count is " + expectedIntrinsicCount + " name " + getIntrinsicId());
+
+        final FileOutputStream out = new FileOutputStream(getVMOption("LogFile") + ".verify.properties");
+        Properties expectedProps = new Properties();
+        expectedProps.setProperty("intrinsic.name", getIntrinsicId());
+        expectedProps.setProperty("intrinsic.expectedCount", String.valueOf(expectedIntrinsicCount));
+        expectedProps.store(out, null);
+
+        out.close();
+    }
+
+    protected void printEnvironmentInfo() {
+        System.out.println("java.vm.name=" + javaVmName);
+        System.out.println("os.arch=" + Platform.getOsArch());
+        System.out.println("java.vm.info=" + MODE);
+        System.out.println("useMathExactIntrinsics=" + useMathExactIntrinsics);
+    }
+
+    protected void compileAtLevel(int level) {
+        WHITE_BOX.enqueueMethodForCompilation(method, level);
+        waitBackgroundCompilation();
+        checkCompilation(method, level);
+    }
+
+    protected void checkCompilation(Executable executable, int level) {
+        if (!WHITE_BOX.isMethodCompiled(executable)) {
+            throw new RuntimeException("Test bug, expected compilation (level): " + level + ", but not compiled");
+        }
+        final int compilationLevel = WHITE_BOX.getMethodCompilationLevel(executable);
+        if (compilationLevel != level) {
+            if (!(TIERED_COMPILATION && level == COMP_LEVEL_FULL_PROFILE && compilationLevel == COMP_LEVEL_LIMITED_PROFILE)) { //possible case
+                throw new RuntimeException("Test bug, expected compilation (level): " + level + ", but level: " + compilationLevel);
+            }
+        }
+    }
+
+    protected abstract boolean isIntrinsicSupported();
+
+    protected abstract String getIntrinsicId();
+
+    protected boolean isServerVM() {
+        return javaVmName.toLowerCase().contains("server");
+    }
+
+    static class IntTest extends IntrinsicBase {
+        protected IntTest(MathIntrinsic.IntIntrinsic testCase) {
+            super(testCase);
+        }
+
+        @Override
+        protected boolean isIntrinsicSupported() {
+            return isServerVM() && Boolean.valueOf(useMathExactIntrinsics) && (Platform.isX86() || Platform.isX64());
+        }
+
+        @Override
+        protected String getIntrinsicId() {
+            return "_" + testCase.name().toLowerCase() + "ExactI";
+        }
+    }
+
+    static class LongTest extends IntrinsicBase {
+        protected LongTest(MathIntrinsic.LongIntrinsic testCase) {
+            super(testCase);
+        }
+
+        @Override
+        protected boolean isIntrinsicSupported() {
+            return isServerVM() && Boolean.valueOf(useMathExactIntrinsics) && Platform.isX64();
+        }
+
+        @Override
+        protected String getIntrinsicId() {
+            return "_" + testCase.name().toLowerCase() + "ExactL";
+        }
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/MathIntrinsic.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/MathIntrinsic.java
new file mode 100644
index 0000000..99039f9
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/MathIntrinsic.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2013, 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 java.lang.reflect.Executable;
+import java.util.concurrent.Callable;
+
+public class MathIntrinsic {
+
+    enum IntIntrinsic implements CompilerWhiteBoxTest.TestCase {
+        Add {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.addExact(int1, int2);
+            }
+        },
+        Subtract {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.subtractExact(int1, int2);
+            }
+        },
+        Multiply {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.multiplyExact(int1, int2);
+            }
+        },
+        Increment {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.incrementExact(int1);
+            }
+        },
+        Decrement {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.decrementExact(int1);
+            }
+        },
+        Negate {
+            @Override
+            Object execMathMethod() {
+                return intR = Math.negateExact(int1);
+            }
+        };
+        protected int int1;
+        protected int int2;
+        protected int intR;
+
+        abstract Object execMathMethod();
+
+        @Override
+        public Executable getExecutable() {
+            try {
+                return getClass().getDeclaredMethod("execMathMethod");
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException("Test bug, no such method: " + e);
+            }
+        }
+
+        @Override
+        public Callable<Integer> getCallable() {
+            return null;
+        }
+
+        @Override
+        public boolean isOsr() {
+            return false;
+        }
+
+    }
+
+    enum LongIntrinsic implements CompilerWhiteBoxTest.TestCase {
+        Add {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.addExact(long1, long2);
+            }
+        },
+        Subtract {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.subtractExact(long1, long2);
+            }
+        },
+        Multiply {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.multiplyExact(long1, long2);
+            }
+        },
+        Increment {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.incrementExact(long1);
+            }
+        },
+        Decrement {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.decrementExact(long1);
+            }
+        },
+        Negate {
+            @Override
+            Object execMathMethod() {
+                return longR = Math.negateExact(long1);
+            }
+        };
+        protected long long1;
+        protected long long2;
+        protected long longR;
+
+        abstract Object execMathMethod();
+
+        @Override
+        public Executable getExecutable() {
+            try {
+                return getClass().getDeclaredMethod("execMathMethod");
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException("Test bug, no such method: " + e);
+            }
+        }
+
+        @Override
+        public Callable<Integer> getCallable() {
+            return null;
+        }
+
+        @Override
+        public boolean isOsr() {
+            return false;
+        }
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java
new file mode 100644
index 0000000..bd43350
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build MultiplyExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics MultiplyExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics MultiplyExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class MultiplyExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Multiply).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java
new file mode 100644
index 0000000..7065110
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build MultiplyExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics MultiplyExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics MultiplyExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class MultiplyExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Multiply).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java
new file mode 100644
index 0000000..579c290
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build NegateExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics NegateExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics NegateExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class NegateExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Negate).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java
new file mode 100644
index 0000000..6f114f6
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build NegateExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics NegateExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics NegateExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class NegateExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Negate).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java
new file mode 100644
index 0000000..d1eaf39
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build SubtractExactIntTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics SubtractExactIntTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics SubtractExactIntTest
+ * @run main Verifier hs_neg.log hs.log
+
+ */
+
+public class SubtractExactIntTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.IntTest(MathIntrinsic.IntIntrinsic.Subtract).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java
new file mode 100644
index 0000000..fbe8eb1
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, 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
+ * @library /testlibrary /testlibrary/whitebox /compiler/whitebox
+ * @build SubtractExactLongTest
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs_neg.log -XX:-UseMathExactIntrinsics SubtractExactLongTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions
+ *                   -XX:+IgnoreUnrecognizedVMOptions -XX:+WhiteBoxAPI -XX:+LogCompilation
+ *                   -XX:CompileCommand=compileonly,MathIntrinsic*::execMathMethod
+ *                   -XX:LogFile=hs.log -XX:+UseMathExactIntrinsics SubtractExactLongTest
+ * @run main Verifier hs_neg.log hs.log
+ */
+
+public class SubtractExactLongTest {
+
+    public static void main(String[] args) throws Exception {
+        new IntrinsicBase.LongTest(MathIntrinsic.LongIntrinsic.Subtract).test();
+    }
+}
diff --git a/hotspot/test/compiler/intrinsics/mathexact/sanity/Verifier.java b/hotspot/test/compiler/intrinsics/mathexact/sanity/Verifier.java
new file mode 100644
index 0000000..7b26d64
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/Verifier.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2013, 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 java.io.BufferedReader;
+import java.io.FileReader;
+import java.util.Properties;
+
+public class Verifier {
+
+    public static void main(String[] args) throws Exception {
+        if (args.length == 0)
+            throw new RuntimeException("Test bug, nothing to verify");
+        for (String hsLogFile : args) {
+            verify(hsLogFile);
+        }
+    }
+
+    private static void verify(String hsLogFile) throws Exception {
+        System.out.println("Verifying " + hsLogFile);
+
+        final Properties expectedProperties = new Properties();
+        final FileReader reader = new FileReader(hsLogFile + ".verify.properties");
+        expectedProperties.load(reader);
+        reader.close();
+
+        int fullMatchCnt = 0;
+        int suspectCnt = 0;
+        final String intrinsicId = expectedProperties.getProperty("intrinsic.name");
+        final String prefix = "<intrinsic id='";
+        final String prefixWithId = prefix + intrinsicId + "'";
+        final int expectedCount = Integer.parseInt(expectedProperties.getProperty("intrinsic.expectedCount"));
+
+        BufferedReader r = new BufferedReader(new FileReader(hsLogFile));
+        String s;
+        while ((s = r.readLine()) != null) {
+            if (s.startsWith(prefix)) {
+                if (s.startsWith(prefixWithId)) {
+                    fullMatchCnt++;
+                } else {
+                    suspectCnt++;
+                    System.out.println("WARNING: Other intrinsic detected " + s);
+                }
+            }
+        }
+        r.close();
+
+        System.out.println("Intrinsic " + intrinsicId + " verification, expected: " + expectedCount + ", matched: " + fullMatchCnt + ", suspected: " + suspectCnt);
+        if (expectedCount != fullMatchCnt)
+            throw new RuntimeException("Unexpected count of intrinsic  " + prefixWithId + " expected:" + expectedCount + ", matched: " + fullMatchCnt + ", suspected: " + suspectCnt);
+    }
+}
diff --git a/hotspot/test/compiler/startup/SmallCodeCacheStartup.java b/hotspot/test/compiler/startup/SmallCodeCacheStartup.java
index 74b2b76..7a9a11a 100644
--- a/hotspot/test/compiler/startup/SmallCodeCacheStartup.java
+++ b/hotspot/test/compiler/startup/SmallCodeCacheStartup.java
@@ -37,7 +37,6 @@
 
     pb = ProcessTools.createJavaProcessBuilder("-XX:ReservedCodeCacheSize=3m", "-XX:CICompilerCount=64", "-version");
     out = new OutputAnalyzer(pb.start());
-    out.shouldContain("no space to run compiler");
     out.shouldHaveExitValue(0);
   }
 }
diff --git a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
index 28fd24d..715d32a 100644
--- a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
+++ b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
@@ -30,7 +30,7 @@
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
  * @run main/othervm -Xbootclasspath/a:. -XX:-TieredCompilation
  *                   -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- *                   -XX:CompileCommand=compileonly,TestCase$Helper::*
+ *                   -XX:CompileCommand=compileonly,SimpleTestCase$Helper::*
  *                   NonTieredLevelsTest
  * @summary Verify that only one level can be used
  * @author igor.ignatyev@oracle.com
@@ -59,9 +59,7 @@
                     + "TieredCompilation. Skip test.");
             return;
         }
-        for (TestCase test : TestCase.values()) {
-            new NonTieredLevelsTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(NonTieredLevelsTest::new, args);
     }
 
     private NonTieredLevelsTest(TestCase testCase) {
@@ -80,7 +78,7 @@
         checkLevel(AVAILABLE_COMP_LEVEL, compLevel);
         int bci = WHITE_BOX.getMethodEntryBci(method);
         deoptimize();
-        if (!testCase.isOsr) {
+        if (!testCase.isOsr()) {
             for (int level = 1; level <= COMP_LEVEL_MAX; ++level) {
                 if (IS_AVAILABLE_COMPLEVEL.test(level)) {
                     testAvailableLevel(level, bci);
@@ -94,3 +92,4 @@
         }
     }
 }
+
diff --git a/hotspot/test/compiler/tiered/TieredLevelsTest.java b/hotspot/test/compiler/tiered/TieredLevelsTest.java
index 9d3112a..675a394 100644
--- a/hotspot/test/compiler/tiered/TieredLevelsTest.java
+++ b/hotspot/test/compiler/tiered/TieredLevelsTest.java
@@ -28,7 +28,7 @@
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
  * @run main/othervm -Xbootclasspath/a:. -XX:+TieredCompilation
  *                   -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
- *                   -XX:CompileCommand=compileonly,TestCase$Helper::*
+ *                   -XX:CompileCommand=compileonly,SimpleTestCase$Helper::*
  *                   TieredLevelsTest
  * @summary Verify that all levels &lt; 'TieredStopAtLevel' can be used
  * @author igor.ignatyev@oracle.com
@@ -40,9 +40,7 @@
                     + "TieredCompilation. Skip test.");
             return;
         }
-        for (TestCase test : TestCase.values()) {
-            new TieredLevelsTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(TieredLevelsTest::new, args);
     }
 
     private TieredLevelsTest(TestCase testCase) {
diff --git a/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java
new file mode 100644
index 0000000..56b19b3
--- /dev/null
+++ b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2013, 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 8027571
+ * @summary meet of TopPTR exact array with constant array is not symmetric
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray
+ *
+ */
+
+public class TestMeetTopArrayExactConstantArray {
+
+    static class A {
+    }
+
+    static class B {
+    }
+
+    static class C extends A {
+    }
+
+    static class D extends C {
+    }
+
+    final static B[] b = new B[10];
+
+    static void m0(Object[] o) {
+        if (o.getClass() ==  Object[].class) {
+        }
+    }
+
+    static void m1(Object[] o, boolean cond) {
+        if (cond) {
+            o = b;
+        }
+        m0(o);
+    }
+
+    static void m2(Object[] o, boolean cond1, boolean cond2) {
+        if (cond1) {
+            m1(o, cond2);
+        }
+    }
+
+    static void m3(C[] o, boolean cond1, boolean cond2, boolean cond3) {
+        if (cond1) {
+            m2(o, cond2, cond3);
+        }
+    }
+
+    static public void main(String[] args) {
+        A[] a = new A[10];
+        D[] d = new D[10];
+        Object[] o = new Object[10];
+        for (int i = 0; i < 5000; i++) {
+            // record in profiling that the if in m0 succeeds
+            m0(o);
+            // record some profiling for m2 and m1
+            m2(a, true, (i%2) == 0);
+            // record some profiling for m3 and conflicting profile for m2
+            m3(d, true, false, (i%2) == 0);
+        }
+
+        // get m3 compiled. The if in m0 will be optimized because of argument profiling in m3
+        C[] c = new C[10];
+        for (int i = 0; i < 20000; i++) {
+            m3(c, true, false, (i%2) == 0);
+        }
+        // make m3 not entrant and the if in m0 fail
+        m3(c, true, true, false);
+        m3(c, true, true, false);
+        m3(c, true, true, false);
+        m3(c, true, true, false);
+
+        // make m3 recompile, this time with if the not optimized
+        // on entry to m3, argument o is of type C[], profiled C[]
+        // on entry to m1, argument o is of type C[], speculative C[] exact, profiled A[]. Speculative becomes AnyNull
+        // after the if in m1, speculative type of o becomes constant from final field b
+        // the true if branch in m0 does a join between the type of o of speculative type constant from final field b and exact klass Object[]
+        for (int i = 0; i < 20000; i++) {
+            m3(c, true, false, (i%2) == 0);
+        }
+
+        System.out.println("TEST PASSED");
+    }
+}
diff --git a/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java
new file mode 100644
index 0000000..9579dce
--- /dev/null
+++ b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2014, 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 8027422
+ * @summary type methods shouldn't always operate on speculative part
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestSpeculationFailedHigherEqual
+ *
+ */
+
+public class TestSpeculationFailedHigherEqual {
+
+    static class A {
+        void m() {}
+        int i;
+    }
+
+    static class C extends A {
+    }
+
+    static C c;
+
+    static A m1(A a, boolean cond) {
+        // speculative type for a is C not null
+        if (cond ) {
+            a = c;
+        }
+        // speculative type for a is C (may be null)
+        int i = a.i;
+        return a;
+    }
+
+    static public void main(String[] args) {
+        C c = new C();
+        TestSpeculationFailedHigherEqual.c = c;
+        for (int i = 0; i < 20000; i++) {
+            m1(c, i%2 == 0);
+        }
+
+        System.out.println("TEST PASSED");
+    }
+}
diff --git a/hotspot/test/compiler/types/TypeSpeculation.java b/hotspot/test/compiler/types/TypeSpeculation.java
index e47de92..0a9c8e9 100644
--- a/hotspot/test/compiler/types/TypeSpeculation.java
+++ b/hotspot/test/compiler/types/TypeSpeculation.java
@@ -25,7 +25,7 @@
  * @test
  * @bug 8024070
  * @summary Test that type speculation doesn't cause incorrect execution
- * @run main/othervm -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 TypeSpeculation
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation TypeSpeculation
  *
  */
 
@@ -398,6 +398,133 @@
         return true;
     }
 
+    // java/lang/Object:AnyNull:exact *,iid=top
+    // meets
+    // stable:bottom[int:max..0]:NotNull *
+    static void test10_4(Object o) {
+    }
+
+    static void test10_3(Object o, boolean b) {
+        if (b) {
+            test10_4(o);
+        }
+    }
+
+    static void test10_2(Object o, boolean b1, boolean b2) {
+        if (b1) {
+            test10_3(o, b2);
+        }
+    }
+
+    static void test10_1(B[] b, boolean b1, boolean b2) {
+        test10_2(b, b1, b2);
+    }
+
+    static boolean test10() {
+        Object o = new Object();
+        A[] a = new A[10];
+        B[] b = new B[10];
+        B[] c = new C[10];
+        for (int i = 0; i < 20000; i++) {
+            test10_1(b, false, false);
+            test10_1(c, false, false);
+            test10_2(a, true, false);
+            test10_3(o, true);
+        }
+        return true;
+    }
+
+    // stable:TypeSpeculation$B:TopPTR *,iid=top[int:max..0]:TopPTR *,iid=top
+    // meets
+    // java/lang/Object:AnyNull:exact *,iid=top
+    static void test11_3(Object o) {
+    }
+
+    static void test11_2(Object o, boolean b) {
+        if (b) {
+            test11_3(o);
+        }
+    }
+
+    static void test11_1(B[] b, boolean bb) {
+        test11_2(b, bb);
+    }
+
+    static boolean test11() {
+        Object o = new Object();
+        B[] b = new B[10];
+        B[] c = new C[10];
+        for (int i = 0; i < 20000; i++) {
+            test11_1(b, false);
+            test11_1(c, false);
+            test11_2(o, true);
+        }
+        return true;
+    }
+
+    // TypeSpeculation$I *
+    // meets
+    // java/lang/Object:AnyNull *,iid=top
+    static void test12_3(Object o) {
+    }
+
+    static void test12_2(Object o, boolean b) {
+        if (b) {
+            test12_3(o);
+        }
+    }
+
+    static void test12_1(I i, boolean b) {
+        test12_2(i, b);
+    }
+
+    static boolean test12() {
+        Object o = new Object();
+        B b = new B();
+        C c = new C();
+        for (int i = 0; i < 20000; i++) {
+            test12_1(b, false);
+            test12_1(c, false);
+            test12_2(o, true);
+        }
+        return true;
+    }
+
+    // stable:bottom[int:max..0]:NotNull *
+    // meets
+    // stable:TypeSpeculation$A:TopPTR *,iid=top[int:max..0]:AnyNull:exact *,iid=top
+    static Object test13_3(Object o, boolean b) {
+        Object oo;
+        if (b) {
+            oo = o;
+        } else {
+            oo = new A[10];
+        }
+        return oo;
+    }
+
+    static void test13_2(Object o, boolean b1, boolean b2) {
+        if (b1) {
+            test13_3(o, b2);
+        }
+    }
+
+    static void test13_1(B[] b, boolean b1, boolean b2) {
+        test13_2(b, b1, b2);
+    }
+
+    static boolean test13() {
+        A[] a = new A[10];
+        B[] b = new B[10];
+        B[] c = new C[10];
+        for (int i = 0; i < 20000; i++) {
+            test13_1(b, false, false);
+            test13_1(c, false, false);
+            test13_2(a, true, (i%2) == 0);
+        }
+        return true;
+    }
+
     static public void main(String[] args) {
         boolean success = true;
 
@@ -419,6 +546,14 @@
 
         success = test9() && success;
 
+        success = test10() && success;
+
+        success = test11() && success;
+
+        success = test12() && success;
+
+        success = test13() && success;
+
         if (success) {
             System.out.println("TEST PASSED");
         } else {
diff --git a/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java b/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java
new file mode 100644
index 0000000..4ad409b
--- /dev/null
+++ b/hotspot/test/compiler/uncommontrap/StackOverflowGuardPagesOff.java
@@ -0,0 +1,355 @@
+/*
+ * Copyright (c) 2014, 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 8029383
+ * @summary stack overflow if callee is marked for deoptimization causes crash
+ * @run main/othervm -XX:TieredStopAtLevel=1 -XX:-BackgroundCompilation -XX:CompileCommand=dontinline,StackOverflowGuardPagesOff::m1 -XX:CompileCommand=exclude,StackOverflowGuardPagesOff::m2 -Xss256K -XX:-UseOnStackReplacement StackOverflowGuardPagesOff
+ *
+ */
+
+// This test calls m2 recursively until a stack overflow. Then calls
+// m3 that calls m1. m1 triggers B's class loading, as a result m1 and
+// m3 needs to be deoptimized. Deoptimization of m1 causes a stack
+// overflow exception to be thrown which is propagated to m3 in the
+// deopt blob. If the guard pages are no enabled, the stack bang in
+// the deopt blob triggers a crash.
+public class StackOverflowGuardPagesOff {
+
+    static class A {
+        void m() {}
+    }
+
+    static class B extends A {
+        void m() {}
+    }
+
+    static void m1(boolean deopt, A a) {
+        long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12,
+        l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24,
+        l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36,
+        l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48,
+        l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60,
+        l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72,
+        l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84,
+        l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96,
+        l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107,
+        l108, l109, l110, l111, l112, l113, l114, l115, l116, l117,
+        l118, l119, l120, l121, l122, l123, l124, l125, l126, l127,
+        l128, l129, l130, l131, l132, l133, l134, l135, l136, l137,
+        l138, l139, l140, l141, l142, l143, l144, l145, l146, l147,
+        l148, l149, l150, l151, l152, l153, l154, l155, l156, l157,
+        l158, l159, l160, l161, l162, l163, l164, l165, l166, l167,
+        l168, l169, l170, l171, l172, l173, l174, l175, l176, l177,
+        l178, l179, l180, l181, l182, l183, l184, l185, l186, l187,
+        l188, l189, l190, l191, l192, l193, l194, l195, l196, l197,
+        l198, l199, l200, l201, l202, l203, l204, l205, l206, l207,
+        l208, l209, l210, l211, l212, l213, l214, l215, l216, l217,
+        l218, l219, l220, l221, l222, l223, l224, l225, l226, l227,
+        l228, l229, l230, l231, l232, l233, l234, l235, l236, l237,
+        l238, l239, l240, l241, l242, l243, l244, l245, l246, l247,
+        l248, l249, l250, l251, l252, l253, l254, l255, l256, l257,
+        l258, l259, l260, l261, l262, l263, l264, l265, l266, l267,
+        l268, l269, l270, l271, l272, l273, l274, l275, l276, l277,
+        l278, l279, l280, l281, l282, l283, l284, l285, l286, l287,
+        l288, l289, l290, l291, l292, l293, l294, l295, l296, l297,
+        l298, l299, l300, l301, l302, l303, l304, l305, l306, l307,
+        l308, l309, l310, l311, l312, l313, l314, l315, l316, l317,
+        l318, l319, l320, l321, l322, l323, l324, l325, l326, l327,
+        l328, l329, l330, l331, l332, l333, l334, l335, l336, l337,
+        l338, l339, l340, l341, l342, l343, l344, l345, l346, l347,
+        l348, l349, l350, l351, l352, l353, l354, l355, l356, l357,
+        l358, l359, l360, l361, l362, l363, l364, l365, l366, l367,
+        l368, l369, l370, l371, l372, l373, l374, l375, l376, l377,
+        l378, l379, l380, l381, l382, l383, l384, l385, l386, l387,
+        l388, l389, l390, l391, l392, l393, l394, l395, l396, l397,
+        l398, l399, l400, l401, l402, l403, l404, l405, l406, l407,
+        l408, l409, l410, l411, l412, l413, l414, l415, l416, l417,
+        l418, l419, l420, l421, l422, l423, l424, l425, l426, l427,
+        l428, l429, l430, l431, l432, l433, l434, l435, l436, l437,
+        l438, l439, l440, l441, l442, l443, l444, l445, l446, l447,
+        l448, l449, l450, l451, l452, l453, l454, l455, l456, l457,
+        l458, l459, l460, l461, l462, l463, l464, l465, l466, l467,
+        l468, l469, l470, l471, l472, l473, l474, l475, l476, l477,
+        l478, l479, l480, l481, l482, l483, l484, l485, l486, l487,
+        l488, l489, l490, l491, l492, l493, l494, l495, l496, l497,
+        l498, l499, l500, l501, l502, l503, l504, l505, l506, l507,
+        l508, l509, l510, l511;
+
+        long ll0, ll1, ll2, ll3, ll4, ll5, ll6, ll7, ll8, ll9, ll10, ll11, ll12,
+        ll13, ll14, ll15, ll16, ll17, ll18, ll19, ll20, ll21, ll22, ll23, ll24,
+        ll25, ll26, ll27, ll28, ll29, ll30, ll31, ll32, ll33, ll34, ll35, ll36,
+        ll37, ll38, ll39, ll40, ll41, ll42, ll43, ll44, ll45, ll46, ll47, ll48,
+        ll49, ll50, ll51, ll52, ll53, ll54, ll55, ll56, ll57, ll58, ll59, ll60,
+        ll61, ll62, ll63, ll64, ll65, ll66, ll67, ll68, ll69, ll70, ll71, ll72,
+        ll73, ll74, ll75, ll76, ll77, ll78, ll79, ll80, ll81, ll82, ll83, ll84,
+        ll85, ll86, ll87, ll88, ll89, ll90, ll91, ll92, ll93, ll94, ll95, ll96,
+        ll97, ll98, ll99, ll100, ll101, ll102, ll103, ll104, ll105, ll106, ll107,
+        ll108, ll109, ll110, ll111, ll112, ll113, ll114, ll115, ll116, ll117,
+        ll118, ll119, ll120, ll121, ll122, ll123, ll124, ll125, ll126, ll127,
+        ll128, ll129, ll130, ll131, ll132, ll133, ll134, ll135, ll136, ll137,
+        ll138, ll139, ll140, ll141, ll142, ll143, ll144, ll145, ll146, ll147,
+        ll148, ll149, ll150, ll151, ll152, ll153, ll154, ll155, ll156, ll157,
+        ll158, ll159, ll160, ll161, ll162, ll163, ll164, ll165, ll166, ll167,
+        ll168, ll169, ll170, ll171, ll172, ll173, ll174, ll175, ll176, ll177,
+        ll178, ll179, ll180, ll181, ll182, ll183, ll184, ll185, ll186, ll187,
+        ll188, ll189, ll190, ll191, ll192, ll193, ll194, ll195, ll196, ll197,
+        ll198, ll199, ll200, ll201, ll202, ll203, ll204, ll205, ll206, ll207,
+        ll208, ll209, ll210, ll211, ll212, ll213, ll214, ll215, ll216, ll217,
+        ll218, ll219, ll220, ll221, ll222, ll223, ll224, ll225, ll226, ll227,
+        ll228, ll229, ll230, ll231, ll232, ll233, ll234, ll235, ll236, ll237,
+        ll238, ll239, ll240, ll241, ll242, ll243, ll244, ll245, ll246, ll247,
+        ll248, ll249, ll250, ll251, ll252, ll253, ll254, ll255, ll256, ll257,
+        ll258, ll259, ll260, ll261, ll262, ll263, ll264, ll265, ll266, ll267,
+        ll268, ll269, ll270, ll271, ll272, ll273, ll274, ll275, ll276, ll277,
+        ll278, ll279, ll280, ll281, ll282, ll283, ll284, ll285, ll286, ll287,
+        ll288, ll289, ll290, ll291, ll292, ll293, ll294, ll295, ll296, ll297,
+        ll298, ll299, ll300, ll301, ll302, ll303, ll304, ll305, ll306, ll307,
+        ll308, ll309, ll310, ll311, ll312, ll313, ll314, ll315, ll316, ll317,
+        ll318, ll319, ll320, ll321, ll322, ll323, ll324, ll325, ll326, ll327,
+        ll328, ll329, ll330, ll331, ll332, ll333, ll334, ll335, ll336, ll337,
+        ll338, ll339, ll340, ll341, ll342, ll343, ll344, ll345, ll346, ll347,
+        ll348, ll349, ll350, ll351, ll352, ll353, ll354, ll355, ll356, ll357,
+        ll358, ll359, ll360, ll361, ll362, ll363, ll364, ll365, ll366, ll367,
+        ll368, ll369, ll370, ll371, ll372, ll373, ll374, ll375, ll376, ll377,
+        ll378, ll379, ll380, ll381, ll382, ll383, ll384, ll385, ll386, ll387,
+        ll388, ll389, ll390, ll391, ll392, ll393, ll394, ll395, ll396, ll397,
+        ll398, ll399, ll400, ll401, ll402, ll403, ll404, ll405, ll406, ll407,
+        ll408, ll409, ll410, ll411, ll412, ll413, ll414, ll415, ll416, ll417,
+        ll418, ll419, ll420, ll421, ll422, ll423, ll424, ll425, ll426, ll427,
+        ll428, ll429, ll430, ll431, ll432, ll433, ll434, ll435, ll436, ll437,
+        ll438, ll439, ll440, ll441, ll442, ll443, ll444, ll445, ll446, ll447,
+        ll448, ll449, ll450, ll451, ll452, ll453, ll454, ll455, ll456, ll457,
+        ll458, ll459, ll460, ll461, ll462, ll463, ll464, ll465, ll466, ll467,
+        ll468, ll469, ll470, ll471, ll472, ll473, ll474, ll475, ll476, ll477,
+        ll478, ll479, ll480, ll481, ll482, ll483, ll484, ll485, ll486, ll487,
+        ll488, ll489, ll490, ll491, ll492, ll493, ll494, ll495, ll496, ll497,
+        ll498, ll499, ll500, ll501, ll502, ll503, ll504, ll505, ll506, ll507,
+        ll508, ll509, ll510, ll511;
+
+        a.m();
+
+        if (deopt) {
+            do_load = true;
+            while (!load_done);
+        }
+    }
+
+    static void m2(boolean deopt, A a) {
+        long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12,
+        l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24,
+        l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36,
+        l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48,
+        l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60,
+        l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72,
+        l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84,
+        l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96,
+        l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107,
+        l108, l109, l110, l111, l112, l113, l114, l115, l116, l117,
+        l118, l119, l120, l121, l122, l123, l124, l125, l126, l127,
+        l128, l129, l130, l131, l132, l133, l134, l135, l136, l137,
+        l138, l139, l140, l141, l142, l143, l144, l145, l146, l147,
+        l148, l149, l150, l151, l152, l153, l154, l155, l156, l157,
+        l158, l159, l160, l161, l162, l163, l164, l165, l166, l167,
+        l168, l169, l170, l171, l172, l173, l174, l175, l176, l177,
+        l178, l179, l180, l181, l182, l183, l184, l185, l186, l187,
+        l188, l189, l190, l191, l192, l193, l194, l195, l196, l197,
+        l198, l199, l200, l201, l202, l203, l204, l205, l206, l207,
+        l208, l209, l210, l211, l212, l213, l214, l215, l216, l217,
+        l218, l219, l220, l221, l222, l223, l224, l225, l226, l227,
+        l228, l229, l230, l231, l232, l233, l234, l235, l236, l237,
+        l238, l239, l240, l241, l242, l243, l244, l245, l246, l247,
+        l248, l249, l250, l251, l252, l253, l254, l255, l256, l257,
+        l258, l259, l260, l261, l262, l263, l264, l265, l266, l267,
+        l268, l269, l270, l271, l272, l273, l274, l275, l276, l277,
+        l278, l279, l280, l281, l282, l283, l284, l285, l286, l287,
+        l288, l289, l290, l291, l292, l293, l294, l295, l296, l297,
+        l298, l299, l300, l301, l302, l303, l304, l305, l306, l307,
+        l308, l309, l310, l311, l312, l313, l314, l315, l316, l317,
+        l318, l319, l320, l321, l322, l323, l324, l325, l326, l327,
+        l328, l329, l330, l331, l332, l333, l334, l335, l336, l337,
+        l338, l339, l340, l341, l342, l343, l344, l345, l346, l347,
+        l348, l349, l350, l351, l352, l353, l354, l355, l356, l357,
+        l358, l359, l360, l361, l362, l363, l364, l365, l366, l367,
+        l368, l369, l370, l371, l372, l373, l374, l375, l376, l377,
+        l378, l379, l380, l381, l382, l383, l384, l385, l386, l387,
+        l388, l389, l390, l391, l392, l393, l394, l395, l396, l397,
+        l398, l399, l400, l401, l402, l403, l404, l405, l406, l407,
+        l408, l409, l410, l411, l412, l413, l414, l415, l416, l417,
+        l418, l419, l420, l421, l422, l423, l424, l425, l426, l427,
+        l428, l429, l430, l431, l432, l433, l434, l435, l436, l437,
+        l438, l439, l440, l441, l442, l443, l444, l445, l446, l447,
+        l448, l449, l450, l451, l452, l453, l454, l455, l456, l457,
+        l458, l459, l460, l461, l462, l463, l464, l465, l466, l467,
+        l468, l469, l470, l471, l472, l473, l474, l475, l476, l477,
+        l478, l479, l480, l481, l482, l483, l484, l485, l486, l487,
+        l488, l489, l490, l491, l492, l493, l494, l495, l496, l497,
+        l498, l499, l500, l501, l502, l503, l504, l505, l506, l507,
+        l508, l509, l510, l511;
+
+        try {
+            m2(deopt, a);
+        } catch (StackOverflowError e) {
+            m3(deopt, a);
+        }
+    }
+
+    static void m3(boolean deopt, A a) {
+        long l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12,
+        l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24,
+        l25, l26, l27, l28, l29, l30, l31, l32, l33, l34, l35, l36,
+        l37, l38, l39, l40, l41, l42, l43, l44, l45, l46, l47, l48,
+        l49, l50, l51, l52, l53, l54, l55, l56, l57, l58, l59, l60,
+        l61, l62, l63, l64, l65, l66, l67, l68, l69, l70, l71, l72,
+        l73, l74, l75, l76, l77, l78, l79, l80, l81, l82, l83, l84,
+        l85, l86, l87, l88, l89, l90, l91, l92, l93, l94, l95, l96,
+        l97, l98, l99, l100, l101, l102, l103, l104, l105, l106, l107,
+        l108, l109, l110, l111, l112, l113, l114, l115, l116, l117,
+        l118, l119, l120, l121, l122, l123, l124, l125, l126, l127,
+        l128, l129, l130, l131, l132, l133, l134, l135, l136, l137,
+        l138, l139, l140, l141, l142, l143, l144, l145, l146, l147,
+        l148, l149, l150, l151, l152, l153, l154, l155, l156, l157,
+        l158, l159, l160, l161, l162, l163, l164, l165, l166, l167,
+        l168, l169, l170, l171, l172, l173, l174, l175, l176, l177,
+        l178, l179, l180, l181, l182, l183, l184, l185, l186, l187,
+        l188, l189, l190, l191, l192, l193, l194, l195, l196, l197,
+        l198, l199, l200, l201, l202, l203, l204, l205, l206, l207,
+        l208, l209, l210, l211, l212, l213, l214, l215, l216, l217,
+        l218, l219, l220, l221, l222, l223, l224, l225, l226, l227,
+        l228, l229, l230, l231, l232, l233, l234, l235, l236, l237,
+        l238, l239, l240, l241, l242, l243, l244, l245, l246, l247,
+        l248, l249, l250, l251, l252, l253, l254, l255, l256, l257,
+        l258, l259, l260, l261, l262, l263, l264, l265, l266, l267,
+        l268, l269, l270, l271, l272, l273, l274, l275, l276, l277,
+        l278, l279, l280, l281, l282, l283, l284, l285, l286, l287,
+        l288, l289, l290, l291, l292, l293, l294, l295, l296, l297,
+        l298, l299, l300, l301, l302, l303, l304, l305, l306, l307,
+        l308, l309, l310, l311, l312, l313, l314, l315, l316, l317,
+        l318, l319, l320, l321, l322, l323, l324, l325, l326, l327,
+        l328, l329, l330, l331, l332, l333, l334, l335, l336, l337,
+        l338, l339, l340, l341, l342, l343, l344, l345, l346, l347,
+        l348, l349, l350, l351, l352, l353, l354, l355, l356, l357,
+        l358, l359, l360, l361, l362, l363, l364, l365, l366, l367,
+        l368, l369, l370, l371, l372, l373, l374, l375, l376, l377,
+        l378, l379, l380, l381, l382, l383, l384, l385, l386, l387,
+        l388, l389, l390, l391, l392, l393, l394, l395, l396, l397,
+        l398, l399, l400, l401, l402, l403, l404, l405, l406, l407,
+        l408, l409, l410, l411, l412, l413, l414, l415, l416, l417,
+        l418, l419, l420, l421, l422, l423, l424, l425, l426, l427,
+        l428, l429, l430, l431, l432, l433, l434, l435, l436, l437,
+        l438, l439, l440, l441, l442, l443, l444, l445, l446, l447,
+        l448, l449, l450, l451, l452, l453, l454, l455, l456, l457,
+        l458, l459, l460, l461, l462, l463, l464, l465, l466, l467,
+        l468, l469, l470, l471, l472, l473, l474, l475, l476, l477,
+        l478, l479, l480, l481, l482, l483, l484, l485, l486, l487,
+        l488, l489, l490, l491, l492, l493, l494, l495, l496, l497,
+        l498, l499, l500, l501, l502, l503, l504, l505, l506, l507,
+        l508, l509, l510, l511;
+
+        long ll0, ll1, ll2, ll3, ll4, ll5, ll6, ll7, ll8, ll9, ll10, ll11, ll12,
+        ll13, ll14, ll15, ll16, ll17, ll18, ll19, ll20, ll21, ll22, ll23, ll24,
+        ll25, ll26, ll27, ll28, ll29, ll30, ll31, ll32, ll33, ll34, ll35, ll36,
+        ll37, ll38, ll39, ll40, ll41, ll42, ll43, ll44, ll45, ll46, ll47, ll48,
+        ll49, ll50, ll51, ll52, ll53, ll54, ll55, ll56, ll57, ll58, ll59, ll60,
+        ll61, ll62, ll63, ll64, ll65, ll66, ll67, ll68, ll69, ll70, ll71, ll72,
+        ll73, ll74, ll75, ll76, ll77, ll78, ll79, ll80, ll81, ll82, ll83, ll84,
+        ll85, ll86, ll87, ll88, ll89, ll90, ll91, ll92, ll93, ll94, ll95, ll96,
+        ll97, ll98, ll99, ll100, ll101, ll102, ll103, ll104, ll105, ll106, ll107,
+        ll108, ll109, ll110, ll111, ll112, ll113, ll114, ll115, ll116, ll117,
+        ll118, ll119, ll120, ll121, ll122, ll123, ll124, ll125, ll126, ll127,
+        ll128, ll129, ll130, ll131, ll132, ll133, ll134, ll135, ll136, ll137,
+        ll138, ll139, ll140, ll141, ll142, ll143, ll144, ll145, ll146, ll147,
+        ll148, ll149, ll150, ll151, ll152, ll153, ll154, ll155, ll156, ll157,
+        ll158, ll159, ll160, ll161, ll162, ll163, ll164, ll165, ll166, ll167,
+        ll168, ll169, ll170, ll171, ll172, ll173, ll174, ll175, ll176, ll177,
+        ll178, ll179, ll180, ll181, ll182, ll183, ll184, ll185, ll186, ll187,
+        ll188, ll189, ll190, ll191, ll192, ll193, ll194, ll195, ll196, ll197,
+        ll198, ll199, ll200, ll201, ll202, ll203, ll204, ll205, ll206, ll207,
+        ll208, ll209, ll210, ll211, ll212, ll213, ll214, ll215, ll216, ll217,
+        ll218, ll219, ll220, ll221, ll222, ll223, ll224, ll225, ll226, ll227,
+        ll228, ll229, ll230, ll231, ll232, ll233, ll234, ll235, ll236, ll237,
+        ll238, ll239, ll240, ll241, ll242, ll243, ll244, ll245, ll246, ll247,
+        ll248, ll249, ll250, ll251, ll252, ll253, ll254, ll255, ll256, ll257,
+        ll258, ll259, ll260, ll261, ll262, ll263, ll264, ll265, ll266, ll267,
+        ll268, ll269, ll270, ll271, ll272, ll273, ll274, ll275, ll276, ll277,
+        ll278, ll279, ll280, ll281, ll282, ll283, ll284, ll285, ll286, ll287,
+        ll288, ll289, ll290, ll291, ll292, ll293, ll294, ll295, ll296, ll297,
+        ll298, ll299, ll300, ll301, ll302, ll303, ll304, ll305, ll306, ll307,
+        ll308, ll309, ll310, ll311, ll312, ll313, ll314, ll315, ll316, ll317,
+        ll318, ll319, ll320, ll321, ll322, ll323, ll324, ll325, ll326, ll327,
+        ll328, ll329, ll330, ll331, ll332, ll333, ll334, ll335, ll336, ll337,
+        ll338, ll339, ll340, ll341, ll342, ll343, ll344, ll345, ll346, ll347,
+        ll348, ll349, ll350, ll351, ll352, ll353, ll354, ll355, ll356, ll357,
+        ll358, ll359, ll360, ll361, ll362, ll363, ll364, ll365, ll366, ll367,
+        ll368, ll369, ll370, ll371, ll372, ll373, ll374, ll375, ll376, ll377,
+        ll378, ll379, ll380, ll381, ll382, ll383, ll384, ll385, ll386, ll387,
+        ll388, ll389, ll390, ll391, ll392, ll393, ll394, ll395, ll396, ll397,
+        ll398, ll399, ll400, ll401, ll402, ll403, ll404, ll405, ll406, ll407,
+        ll408, ll409, ll410, ll411, ll412, ll413, ll414, ll415, ll416, ll417,
+        ll418, ll419, ll420, ll421, ll422, ll423, ll424, ll425, ll426, ll427,
+        ll428, ll429, ll430, ll431, ll432, ll433, ll434, ll435, ll436, ll437,
+        ll438, ll439, ll440, ll441, ll442, ll443, ll444, ll445, ll446, ll447,
+        ll448, ll449, ll450, ll451, ll452, ll453, ll454, ll455, ll456, ll457,
+        ll458, ll459, ll460, ll461, ll462, ll463, ll464, ll465, ll466, ll467,
+        ll468, ll469, ll470, ll471, ll472, ll473, ll474, ll475, ll476, ll477,
+        ll478, ll479, ll480, ll481, ll482, ll483, ll484, ll485, ll486, ll487,
+        ll488, ll489, ll490, ll491, ll492, ll493, ll494, ll495, ll496, ll497,
+        ll498, ll499, ll500, ll501, ll502, ll503, ll504, ll505, ll506, ll507,
+        ll508, ll509, ll510, ll511;
+
+        a.m();
+
+        m1(deopt, a);
+    }
+
+    // Used for synchronization betwen main thread and thread
+    // responsible for class loading
+    static volatile boolean thread_started = false;
+    static volatile boolean do_load = false;
+    static volatile boolean load_done = false;
+
+    static public void main(String[] args) {
+        // This thread does the loading of B. If m1 does it, the class
+        // loading can cause stack overflows.
+        Thread thread = new Thread() {
+            public void run() {
+                thread_started = true;
+                while(!do_load);
+                new B();
+                load_done = true;
+            }
+        };
+        thread.start();
+        while(!thread_started);
+        // get m3 and m1 compiled
+        A a = new A();
+        for (int i = 0; i < 5000; i++) {
+            m3(false, a);
+            m1(false, a);
+        }
+        m2(true, a);
+
+        System.out.println("TEST PASSED");
+    }
+}
diff --git a/hotspot/test/compiler/whitebox/ClearMethodStateTest.java b/hotspot/test/compiler/whitebox/ClearMethodStateTest.java
index 3f66a5a..89fff68 100644
--- a/hotspot/test/compiler/whitebox/ClearMethodStateTest.java
+++ b/hotspot/test/compiler/whitebox/ClearMethodStateTest.java
@@ -21,25 +21,25 @@
  * questions.
  */
 
+import java.util.function.Function;
+
 /*
  * @test ClearMethodStateTest
  * @bug 8006683 8007288 8022832
  * @library /testlibrary /testlibrary/whitebox
  * @build ClearMethodStateTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* ClearMethodStateTest
+ * @run main/othervm -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* ClearMethodStateTest
  * @summary testing of WB::clearMethodState()
  * @author igor.ignatyev@oracle.com
  */
 public class ClearMethodStateTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new ClearMethodStateTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(ClearMethodStateTest::new, args);
     }
 
-    public ClearMethodStateTest(TestCase testCase) {
+    private ClearMethodStateTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
@@ -63,7 +63,7 @@
         deoptimize();
         checkNotCompiled();
 
-        if (testCase.isOsr) {
+        if (testCase.isOsr()) {
             // part test isn't applicable for OSR test case
             return;
         }
diff --git a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
index 5265947..e47231e 100644
--- a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
+++ b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
@@ -31,6 +31,7 @@
 import java.lang.reflect.Method;
 import java.util.Objects;
 import java.util.concurrent.Callable;
+import java.util.function.Function;
 
 /**
  * Abstract class for WhiteBox testing of JIT.
@@ -50,7 +51,7 @@
     protected static int COMP_LEVEL_FULL_PROFILE = 3;
     /** {@code CompLevel::CompLevel_full_optimization} -- C2 or Shark */
     protected static int COMP_LEVEL_FULL_OPTIMIZATION = 4;
-    /** Maximal value for CompLeveL */
+    /** Maximal value for CompLevel */
     protected static int COMP_LEVEL_MAX = COMP_LEVEL_FULL_OPTIMIZATION;
 
     /** Instance of WhiteBox */
@@ -75,8 +76,7 @@
     /** count of invocation to triger OSR compilation */
     protected static final long BACKEDGE_THRESHOLD;
     /** Value of {@code java.vm.info} (interpreted|mixed|comp mode) */
-    protected static final String MODE
-            = System.getProperty("java.vm.info");
+    protected static final String MODE = System.getProperty("java.vm.info");
 
     static {
         if (TIERED_COMPILATION) {
@@ -133,6 +133,20 @@
         return compLevel == COMP_LEVEL_FULL_OPTIMIZATION;
     }
 
+    protected static void main(
+            Function<TestCase, CompilerWhiteBoxTest> constructor,
+            String[] args) {
+        if (args.length == 0) {
+            for (TestCase test : SimpleTestCase.values()) {
+                constructor.apply(test).runTest();
+            }
+        } else {
+            for (String name : args) {
+                constructor.apply(SimpleTestCase.valueOf(name)).runTest();
+            }
+        }
+    }
+
     /** tested method */
     protected final Executable method;
     protected final TestCase testCase;
@@ -145,7 +159,7 @@
     protected CompilerWhiteBoxTest(TestCase testCase) {
         Objects.requireNonNull(testCase);
         System.out.println("TEST CASE:" + testCase.name());
-        method = testCase.executable;
+        method = testCase.getExecutable();
         this.testCase = testCase;
     }
 
@@ -204,7 +218,7 @@
         if (WHITE_BOX.getMethodCompilationLevel(method, true) != 0) {
             throw new RuntimeException(method + " osr_comp_level must be == 0");
         }
-   }
+    }
 
     /**
      * Checks, that {@linkplain #method} is compiled.
@@ -221,44 +235,46 @@
                     method, System.currentTimeMillis() - start);
             return;
         }
-        if (!WHITE_BOX.isMethodCompiled(method, testCase.isOsr)) {
+        if (!WHITE_BOX.isMethodCompiled(method, testCase.isOsr())) {
             throw new RuntimeException(method + " must be "
-                    + (testCase.isOsr ? "osr_" : "") + "compiled");
+                    + (testCase.isOsr() ? "osr_" : "") + "compiled");
         }
-        if (WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr) == 0) {
+        if (WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr())
+                == 0) {
             throw new RuntimeException(method
-                    + (testCase.isOsr ? " osr_" : " ")
+                    + (testCase.isOsr() ? " osr_" : " ")
                     + "comp_level must be != 0");
         }
     }
 
     protected final void deoptimize() {
-        WHITE_BOX.deoptimizeMethod(method, testCase.isOsr);
-        if (testCase.isOsr) {
+        WHITE_BOX.deoptimizeMethod(method, testCase.isOsr());
+        if (testCase.isOsr()) {
             WHITE_BOX.deoptimizeMethod(method, false);
         }
     }
 
     protected final int getCompLevel() {
-        return WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr);
+        return WHITE_BOX.getMethodCompilationLevel(method, testCase.isOsr());
     }
 
     protected final boolean isCompilable() {
         return WHITE_BOX.isMethodCompilable(method, COMP_LEVEL_ANY,
-                testCase.isOsr);
+                testCase.isOsr());
     }
 
     protected final boolean isCompilable(int compLevel) {
-        return WHITE_BOX.isMethodCompilable(method, compLevel, testCase.isOsr);
+        return WHITE_BOX
+                .isMethodCompilable(method, compLevel, testCase.isOsr());
     }
 
     protected final void makeNotCompilable() {
         WHITE_BOX.makeMethodNotCompilable(method, COMP_LEVEL_ANY,
-                testCase.isOsr);
+                testCase.isOsr());
     }
 
     protected final void makeNotCompilable(int compLevel) {
-        WHITE_BOX.makeMethodNotCompilable(method, compLevel, testCase.isOsr);
+        WHITE_BOX.makeMethodNotCompilable(method, compLevel, testCase.isOsr());
     }
 
     /**
@@ -298,7 +314,7 @@
                 WHITE_BOX.isMethodCompiled(method, true));
         System.out.printf("\tosr_comp_level:\t%d%n",
                 WHITE_BOX.getMethodCompilationLevel(method, true));
-         System.out.printf("\tin_queue:\t%b%n",
+        System.out.printf("\tin_queue:\t%b%n",
                 WHITE_BOX.isMethodQueuedForCompilation(method));
         System.out.printf("compile_queues_size:\t%d%n%n",
                 WHITE_BOX.getCompileQueuesSize());
@@ -311,13 +327,13 @@
 
     /**
      * Tries to trigger compilation of {@linkplain #method} by call
-     * {@linkplain #testCase.callable} enough times.
+     * {@linkplain TestCase#getCallable()} enough times.
      *
      * @return accumulated result
      * @see #compile(int)
      */
     protected final int compile() {
-        if (testCase.isOsr) {
+        if (testCase.isOsr()) {
             return compile(1);
         } else {
             return compile(THRESHOLD);
@@ -326,7 +342,7 @@
 
     /**
      * Tries to trigger compilation of {@linkplain #method} by call
-     * {@linkplain #testCase.callable} specified times.
+     * {@linkplain TestCase#getCallable()} specified times.
      *
      * @param count invocation count
      * @return accumulated result
@@ -336,7 +352,7 @@
         Integer tmp;
         for (int i = 0; i < count; ++i) {
             try {
-                tmp = testCase.callable.call();
+                tmp = testCase.getCallable().call();
             } catch (Exception e) {
                 tmp = null;
             }
@@ -347,19 +363,32 @@
         }
         return result;
     }
+
+    /**
+     * Utility interface provides tested method and object to invoke it.
+     */
+    public interface TestCase {
+        /** the name of test case */
+        String name();
+
+        /** tested method */
+        Executable getExecutable();
+
+        /** object to invoke {@linkplain #getExecutable()} */
+        Callable<Integer> getCallable();
+
+        /** flag for OSR test case */
+        boolean isOsr();
+    }
 }
 
-/**
- * Utility structure containing tested method and object to invoke it.
- */
-enum TestCase {
+enum SimpleTestCase implements CompilerWhiteBoxTest.TestCase {
     /** constructor test case */
     CONSTRUCTOR_TEST(Helper.CONSTRUCTOR, Helper.CONSTRUCTOR_CALLABLE, false),
     /** method test case */
     METOD_TEST(Helper.METHOD, Helper.METHOD_CALLABLE, false),
     /** static method test case */
     STATIC_TEST(Helper.STATIC, Helper.STATIC_CALLABLE, false),
-
     /** OSR constructor test case */
     OSR_CONSTRUCTOR_TEST(Helper.OSR_CONSTRUCTOR,
             Helper.OSR_CONSTRUCTOR_CALLABLE, true),
@@ -368,20 +397,32 @@
     /** OSR static method test case */
     OSR_STATIC_TEST(Helper.OSR_STATIC, Helper.OSR_STATIC_CALLABLE, true);
 
-    /** tested method */
-    final Executable executable;
-    /** object to invoke {@linkplain #executable} */
-    final Callable<Integer> callable;
-    /** flag for OSR test case */
-    final boolean isOsr;
+    private final Executable executable;
+    private final Callable<Integer> callable;
+    private final boolean isOsr;
 
-    private TestCase(Executable executable, Callable<Integer> callable,
+    private SimpleTestCase(Executable executable, Callable<Integer> callable,
             boolean isOsr) {
         this.executable = executable;
         this.callable = callable;
         this.isOsr = isOsr;
     }
 
+    @Override
+    public Executable getExecutable() {
+        return executable;
+    }
+
+    @Override
+    public Callable<Integer> getCallable() {
+        return callable;
+    }
+
+    @Override
+    public boolean isOsr() {
+        return isOsr;
+    }
+
     private static class Helper {
 
         private static final Callable<Integer> CONSTRUCTOR_CALLABLE
@@ -436,7 +477,6 @@
             }
         };
 
-
         private static final Constructor CONSTRUCTOR;
         private static final Constructor OSR_CONSTRUCTOR;
         private static final Method METHOD;
diff --git a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
index 61d8b59..350c99c 100644
--- a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
+++ b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
@@ -27,19 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build DeoptimizeAllTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* DeoptimizeAllTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* DeoptimizeAllTest
  * @summary testing of WB::deoptimizeAll()
  * @author igor.ignatyev@oracle.com
  */
 public class DeoptimizeAllTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new DeoptimizeAllTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(DeoptimizeAllTest::new, args);
     }
 
-    public DeoptimizeAllTest(TestCase testCase) {
+    private DeoptimizeAllTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
@@ -53,7 +51,7 @@
      */
     @Override
     protected void test() throws Exception {
-        if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith(
+        if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
                 "compiled ")) {
           System.err.printf("Warning: %s is not applicable in %s%n",
                 testCase.name(), CompilerWhiteBoxTest.MODE);
diff --git a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
index 8ac065b..565a5b9 100644
--- a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
+++ b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
@@ -27,19 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build DeoptimizeMethodTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* DeoptimizeMethodTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* DeoptimizeMethodTest
  * @summary testing of WB::deoptimizeMethod()
  * @author igor.ignatyev@oracle.com
  */
 public class DeoptimizeMethodTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new DeoptimizeMethodTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(DeoptimizeMethodTest::new, args);
     }
 
-    public DeoptimizeMethodTest(TestCase testCase) {
+    private DeoptimizeMethodTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
@@ -53,7 +51,7 @@
      */
     @Override
     protected void test() throws Exception {
-        if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith(
+        if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
                 "compiled ")) {
           System.err.printf("Warning: %s is not applicable in %s%n",
                 testCase.name(), CompilerWhiteBoxTest.MODE);
diff --git a/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java b/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java
index 6d14d92..d9139dd3 100644
--- a/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java
+++ b/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java
@@ -27,19 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build EnqueueMethodForCompilationTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm/timeout=600 -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* EnqueueMethodForCompilationTest
+ * @run main/othervm/timeout=600 -Xbootclasspath/a:. -Xmixed -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* EnqueueMethodForCompilationTest
  * @summary testing of WB::enqueueMethodForCompilation()
  * @author igor.ignatyev@oracle.com
  */
 public class EnqueueMethodForCompilationTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new EnqueueMethodForCompilationTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(EnqueueMethodForCompilationTest::new, args);
     }
 
-    public EnqueueMethodForCompilationTest(TestCase testCase) {
+    private EnqueueMethodForCompilationTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
diff --git a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
index a17fcb8..bd5916a 100644
--- a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
+++ b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
@@ -27,7 +27,7 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build IsMethodCompilableTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* IsMethodCompilableTest
+ * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest
  * @summary testing of WB::isMethodCompilable()
  * @author igor.ignatyev@oracle.com
  */
@@ -48,12 +48,10 @@
     }
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new IsMethodCompilableTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(IsMethodCompilableTest::new, args);
     }
 
-    public IsMethodCompilableTest(TestCase testCase) {
+    private IsMethodCompilableTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
@@ -68,7 +66,7 @@
      */
     @Override
     protected void test() throws Exception {
-        if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith(
+        if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
                 "compiled ")) {
           System.err.printf("Warning: %s is not applicable in %s%n",
                 testCase.name(), CompilerWhiteBoxTest.MODE);
@@ -89,7 +87,7 @@
         for (long i = 0L, n = PER_METHOD_RECOMPILATION_CUTOFF - 1; i < n; ++i) {
             compileAndDeoptimize();
         }
-        if (!testCase.isOsr && !isCompilable()) {
+        if (!testCase.isOsr() && !isCompilable()) {
             // in osr test case count of deopt maybe more than iterations
             throw new RuntimeException(method + " is not compilable after "
                     + (PER_METHOD_RECOMPILATION_CUTOFF - 1) + " iterations");
@@ -102,7 +100,7 @@
                 && isCompilable(); ++i) {
             compileAndDeoptimize();
         }
-        if (!testCase.isOsr && i != PER_METHOD_RECOMPILATION_CUTOFF) {
+        if (!testCase.isOsr() && i != PER_METHOD_RECOMPILATION_CUTOFF) {
             // in osr test case count of deopt maybe more than iterations
             throw new RuntimeException(method + " is not compilable after "
                     + i + " iterations, but must only after "
diff --git a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
index 6a1e361..cbd65da 100644
--- a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
+++ b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
@@ -27,26 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build MakeMethodNotCompilableTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* MakeMethodNotCompilableTest
+ * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* MakeMethodNotCompilableTest
  * @summary testing of WB::makeMethodNotCompilable()
  * @author igor.ignatyev@oracle.com
  */
 public class MakeMethodNotCompilableTest extends CompilerWhiteBoxTest {
     private int bci;
     public static void main(String[] args) throws Exception {
-        if (args.length == 0) {
-            for (TestCase test : TestCase.values()) {
-                new MakeMethodNotCompilableTest(test).runTest();
-            }
-        } else {
-            for (String name : args) {
-                new MakeMethodNotCompilableTest(
-                        TestCase.valueOf(name)).runTest();
-            }
-        }
+        CompilerWhiteBoxTest.main(MakeMethodNotCompilableTest::new, args);
     }
 
-    public MakeMethodNotCompilableTest(TestCase testCase) {
+    private MakeMethodNotCompilableTest(TestCase testCase) {
         super(testCase);
         // to prevent inlining of #method
         WHITE_BOX.testSetDontInlineMethod(method, true);
@@ -62,7 +53,7 @@
      */
     @Override
     protected void test() throws Exception {
-        if (testCase.isOsr && CompilerWhiteBoxTest.MODE.startsWith(
+        if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
                 "compiled ")) {
           System.err.printf("Warning: %s is not applicable in %s%n",
                 testCase.name(), CompilerWhiteBoxTest.MODE);
diff --git a/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java b/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java
index e2bff37..ae42d53 100644
--- a/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java
+++ b/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java
@@ -27,19 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build SetDontInlineMethodTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* SetDontInlineMethodTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* SetDontInlineMethodTest
  * @summary testing of WB::testSetDontInlineMethod()
  * @author igor.ignatyev@oracle.com
  */
 public class SetDontInlineMethodTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new SetDontInlineMethodTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(SetDontInlineMethodTest::new, args);
     }
 
-    public SetDontInlineMethodTest(TestCase testCase) {
+    private SetDontInlineMethodTest(TestCase testCase) {
         super(testCase);
     }
 
diff --git a/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java b/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java
index 5aa90c3..086d7c2 100644
--- a/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java
+++ b/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java
@@ -27,19 +27,17 @@
  * @library /testlibrary /testlibrary/whitebox
  * @build SetForceInlineMethodTest
  * @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,TestCase$Helper::* SetForceInlineMethodTest
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* SetForceInlineMethodTest
  * @summary testing of WB::testSetForceInlineMethod()
  * @author igor.ignatyev@oracle.com
  */
 public class SetForceInlineMethodTest extends CompilerWhiteBoxTest {
 
     public static void main(String[] args) throws Exception {
-        for (TestCase test : TestCase.values()) {
-            new SetForceInlineMethodTest(test).runTest();
-        }
+        CompilerWhiteBoxTest.main(SetForceInlineMethodTest::new, args);
     }
 
-    public SetForceInlineMethodTest(TestCase testCase) {
+    private SetForceInlineMethodTest(TestCase testCase) {
         super(testCase);
     }
 
diff --git a/hotspot/test/gc/TestVerifySilently.java b/hotspot/test/gc/TestVerifySilently.java
new file mode 100644
index 0000000..deefd48
--- /dev/null
+++ b/hotspot/test/gc/TestVerifySilently.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2014, 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 TestVerifySilently.java
+ * @key gc
+ * @bug 8032771
+ * @summary Test silent verification.
+ * @library /testlibrary
+ */
+
+import com.oracle.java.testlibrary.OutputAnalyzer;
+import com.oracle.java.testlibrary.ProcessTools;
+import java.util.ArrayList;
+import java.util.Collections;
+
+class RunSystemGC {
+  public static void main(String args[]) throws Exception {
+    System.gc();
+  }
+}
+
+
+public class TestVerifySilently {
+  private static String[] getTestJavaOpts() {
+    String testVmOptsStr = System.getProperty("test.java.opts");
+    if (!testVmOptsStr.isEmpty()) {
+      return testVmOptsStr.split(" ");
+    } else {
+      return new String[] {};
+    }
+  }
+
+  private static OutputAnalyzer runTest(boolean verifySilently) throws Exception {
+    ArrayList<String> vmOpts = new ArrayList();
+
+    Collections.addAll(vmOpts, getTestJavaOpts());
+    Collections.addAll(vmOpts, new String[] {"-XX:+UnlockDiagnosticVMOptions",
+                                             "-XX:+VerifyDuringStartup",
+                                             "-XX:+VerifyBeforeGC",
+                                             "-XX:+VerifyAfterGC",
+                                             "-XX:" + (verifySilently ? "+":"-") + "VerifySilently",
+                                             RunSystemGC.class.getName()});
+    ProcessBuilder pb =
+      ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+
+    System.out.println("Output:\n" + output.getOutput());
+    return output;
+  }
+
+
+  public static void main(String args[]) throws Exception {
+
+    OutputAnalyzer output;
+
+    output = runTest(false);
+    output.shouldContain("[Verifying");
+    output.shouldHaveExitValue(0);
+
+    output = runTest(true);
+    output.shouldNotContain("[Verifying");
+    output.shouldHaveExitValue(0);
+  }
+}
diff --git a/hotspot/test/gc/g1/TestStringSymbolTableStats.java b/hotspot/test/gc/g1/TestStringSymbolTableStats.java
new file mode 100644
index 0000000..f95aea8
--- /dev/null
+++ b/hotspot/test/gc/g1/TestStringSymbolTableStats.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2013, 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 TestStringSymbolTableStats.java
+ * @bug 8027476 8027455
+ * @summary Ensure that the G1TraceStringSymbolTableScrubbing prints the expected message.
+ * @key gc
+ * @library /testlibrary
+ */
+
+import com.oracle.java.testlibrary.ProcessTools;
+import com.oracle.java.testlibrary.OutputAnalyzer;
+
+public class TestStringSymbolTableStats {
+  public static void main(String[] args) throws Exception {
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
+                                                              "-XX:+UnlockExperimentalVMOptions",
+                                                              "-XX:+G1TraceStringSymbolTableScrubbing",
+                                                              SystemGCTest.class.getName());
+
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+
+    System.out.println("Output:\n" + output.getOutput());
+
+    output.shouldContain("Cleaned string and symbol table");
+    output.shouldHaveExitValue(0);
+  }
+
+  static class SystemGCTest {
+    public static void main(String [] args) {
+      System.out.println("Calling System.gc()");
+      System.gc();
+    }
+  }
+}
diff --git a/hotspot/test/runtime/7158988/FieldMonitor.java b/hotspot/test/runtime/7158988/FieldMonitor.java
index 5421f62..9b16fc3 100644
--- a/hotspot/test/runtime/7158988/FieldMonitor.java
+++ b/hotspot/test/runtime/7158988/FieldMonitor.java
@@ -34,10 +34,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -56,6 +52,7 @@
 import com.sun.jdi.event.EventSet;
 import com.sun.jdi.event.ModificationWatchpointEvent;
 import com.sun.jdi.event.VMDeathEvent;
+import com.sun.jdi.event.VMStartEvent;
 import com.sun.jdi.event.VMDisconnectEvent;
 import com.sun.jdi.request.ClassPrepareRequest;
 import com.sun.jdi.request.EventRequest;
@@ -71,24 +68,10 @@
   public static void main(String[] args)
       throws IOException, InterruptedException {
 
-    StringBuffer sb = new StringBuffer();
-
-    for (int i=0; i < args.length; i++) {
-        sb.append(' ');
-        sb.append(args[i]);
-    }
     //VirtualMachine vm = launchTarget(sb.toString());
     VirtualMachine vm = launchTarget(CLASS_NAME);
 
     System.out.println("Vm launched");
-    // set watch field on already loaded classes
-    List<ReferenceType> referenceTypes = vm
-        .classesByName(CLASS_NAME);
-    for (ReferenceType refType : referenceTypes) {
-      addFieldWatch(vm, refType);
-    }
-    // watch for loaded classes
-    addClassWatch(vm);
 
     // process events
     EventQueue eventQueue = vm.eventQueue();
@@ -104,13 +87,15 @@
     errThread.start();
     outThread.start();
 
-
-    vm.resume();
     boolean connected = true;
+    int watched = 0;
     while (connected) {
       EventSet eventSet = eventQueue.remove();
       for (Event event : eventSet) {
-        if (event instanceof VMDeathEvent
+        System.out.println("FieldMonitor-main receives: "+event);
+        if (event instanceof VMStartEvent) {
+          addClassWatch(vm);
+        } else if (event instanceof VMDeathEvent
             || event instanceof VMDisconnectEvent) {
           // exit
           connected = false;
@@ -122,17 +107,17 @@
               .referenceType();
           addFieldWatch(vm, refType);
         } else if (event instanceof ModificationWatchpointEvent) {
+          watched++;
           System.out.println("sleep for 500 ms");
           Thread.sleep(500);
-          System.out.println("resume...");
 
           ModificationWatchpointEvent modEvent = (ModificationWatchpointEvent) event;
           System.out.println("old="
               + modEvent.valueCurrent());
           System.out.println("new=" + modEvent.valueToBe());
-          System.out.println();
         }
       }
+      System.out.println("resume...");
       eventSet.resume();
     }
     // Shutdown begins when event thread terminates
@@ -142,6 +127,10 @@
     } catch (InterruptedException exc) {
         // we don't interrupt
     }
+
+    if (watched != 11) { // init + 10 modifications in TestPostFieldModification class
+        throw new Error("Expected to receive 11 times ModificationWatchpointEvent, but got "+watched);
+    }
   }
 
   /**
diff --git a/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java b/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java
index 1f18944..e5df0c9 100644
--- a/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java
+++ b/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -33,8 +33,7 @@
 
 public class CompilerConfigFileWarning {
     public static void main(String[] args) throws Exception {
-        String vmVersion = System.getProperty("java.vm.version");
-        if (vmVersion.toLowerCase().contains("debug") || vmVersion.toLowerCase().contains("jvmg")) {
+        if (Platform.isDebugBuild()) {
             System.out.println("Skip on debug builds since we'll always read the file there");
             return;
         }
diff --git a/hotspot/test/runtime/CommandLine/ConfigFileWarning.java b/hotspot/test/runtime/CommandLine/ConfigFileWarning.java
index 470808e..b81da59 100644
--- a/hotspot/test/runtime/CommandLine/ConfigFileWarning.java
+++ b/hotspot/test/runtime/CommandLine/ConfigFileWarning.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -33,8 +33,7 @@
 
 public class ConfigFileWarning {
     public static void main(String[] args) throws Exception {
-        String vmVersion = System.getProperty("java.vm.version");
-        if (vmVersion.toLowerCase().contains("debug") || vmVersion.toLowerCase().contains("jvmg")) {
+        if (Platform.isDebugBuild()) {
             System.out.println("Skip on debug builds since we'll always read the file there");
             return;
         }
diff --git a/hotspot/test/runtime/CommandLine/VMOptionWarning.java b/hotspot/test/runtime/CommandLine/VMOptionWarning.java
new file mode 100644
index 0000000..164cec0
--- /dev/null
+++ b/hotspot/test/runtime/CommandLine/VMOptionWarning.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2014, 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 8027314
+ * @summary Warn if diagnostic or experimental vm option is used and -XX:+UnlockDiagnosticVMOptions or -XX:+UnlockExperimentalVMOptions, respectively, isn't specified. Warn if develop or notproduct vm option is used with product version of VM.
+ * @library /testlibrary
+ */
+
+import com.oracle.java.testlibrary.*;
+
+public class VMOptionWarning {
+    public static void main(String[] args) throws Exception {
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+PredictedLoadedClassCount", "-version");
+        OutputAnalyzer output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Error: VM option 'PredictedLoadedClassCount' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.");
+
+        if (Platform.isDebugBuild()) {
+            System.out.println("Skip the rest of the tests on debug builds since diagnostic, develop, and notproduct options are available on debug builds.");
+            return;
+        }
+
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+PrintInlining", "-version");
+        output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Error: VM option 'PrintInlining' is diagnostic and must be enabled via -XX:+UnlockDiagnosticVMOptions.");
+
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceJNICalls", "-version");
+        output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Error: VM option 'TraceJNICalls' is develop and is available only in debug version of VM.");
+
+        pb = ProcessTools.createJavaProcessBuilder("-XX:+TraceJVMCalls", "-version");
+        output = new OutputAnalyzer(pb.start());
+        output.shouldContain("Error: VM option 'TraceJVMCalls' is notproduct and is available only in debug version of VM.");
+    }
+}
diff --git a/hotspot/test/runtime/NMT/CommandLineDetail.java b/hotspot/test/runtime/NMT/CommandLineDetail.java
index d993316ba..0151b48 100644
--- a/hotspot/test/runtime/NMT/CommandLineDetail.java
+++ b/hotspot/test/runtime/NMT/CommandLineDetail.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -24,7 +24,7 @@
  /*
  * @test
  * @key nmt
- * @summary Running with NMT detail should not result in an error or warning
+ * @summary Running with NMT detail should not result in an error
  * @library /testlibrary
  */
 
@@ -39,7 +39,6 @@
       "-version");
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
     output.shouldNotContain("error");
-    output.shouldNotContain("warning");
     output.shouldHaveExitValue(0);
   }
 }
diff --git a/hotspot/test/runtime/NMT/CommandLineSummary.java b/hotspot/test/runtime/NMT/CommandLineSummary.java
index b8415d1..9680c34 100644
--- a/hotspot/test/runtime/NMT/CommandLineSummary.java
+++ b/hotspot/test/runtime/NMT/CommandLineSummary.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -24,7 +24,7 @@
  /*
  * @test
  * @key nmt
- * @summary Running with NMT summary should not result in an error or warning
+ * @summary Running with NMT summary should not result in an error
  * @library /testlibrary
  */
 
@@ -39,7 +39,6 @@
       "-version");
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
     output.shouldNotContain("error");
-    output.shouldNotContain("warning");
     output.shouldHaveExitValue(0);
   }
 }
diff --git a/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java b/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java
index e8d950c..7b8f8be 100644
--- a/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java
+++ b/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -24,7 +24,7 @@
  /*
  * @test
  * @key nmt
- * @summary Turning off NMT should not result in an error or warning
+ * @summary Turning off NMT should not result in an error
  * @library /testlibrary
  */
 
@@ -38,7 +38,6 @@
               "-version");
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
     output.shouldNotContain("error");
-    output.shouldNotContain("warning");
     output.shouldHaveExitValue(0);
   }
 }
diff --git a/hotspot/test/runtime/NMT/PrintNMTStatistics.java b/hotspot/test/runtime/NMT/PrintNMTStatistics.java
index 96bc2f3..fc039d6 100644
--- a/hotspot/test/runtime/NMT/PrintNMTStatistics.java
+++ b/hotspot/test/runtime/NMT/PrintNMTStatistics.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014 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
@@ -64,7 +64,6 @@
     OutputAnalyzer output = new OutputAnalyzer(pb.start());
     output.shouldContain("Java Heap (reserved=");
     output.shouldNotContain("error");
-    output.shouldNotContain("warning");
     output.shouldHaveExitValue(0);
   }
 }
diff --git a/hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java b/hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java
new file mode 100644
index 0000000..02e4d04
--- /dev/null
+++ b/hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2014, 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 8030955
+ * @summary Allow multiple calls to PerfMemory::destroy() without asserting.
+ * @library /testlibrary
+ * @run main PerfMemDestroy
+ */
+
+import com.oracle.java.testlibrary.*;
+
+public class PerfMemDestroy {
+    public static void main(String args[]) throws Throwable {
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+PerfAllowAtExitRegistration", "-version");
+        OutputAnalyzer output = new OutputAnalyzer(pb.start());
+        output.shouldHaveExitValue(0);
+    }
+}
diff --git a/hotspot/test/runtime/finalStatic/FinalStatic.java b/hotspot/test/runtime/finalStatic/FinalStatic.java
new file mode 100644
index 0000000..314b192
--- /dev/null
+++ b/hotspot/test/runtime/finalStatic/FinalStatic.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2014, 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 8028553
+ * @summary Test that VerifyError is not thrown when 'overriding' a static method.
+ * @run main FinalStatic
+ */
+
+import java.lang.reflect.*;
+import jdk.internal.org.objectweb.asm.ClassWriter;
+import jdk.internal.org.objectweb.asm.MethodVisitor;
+import jdk.internal.org.objectweb.asm.Opcodes;
+
+/*
+ *  class A { static final int m() {return FAIL; } }
+ *  class B extends A { int m() { return PASS; } }
+ *  class FinalStatic {
+ *      public static void main () {
+ *          Object b = new B();
+ *          b.m();
+ *      }
+ *  }
+ */
+public class FinalStatic {
+
+    static final String CLASS_NAME_A = "A";
+    static final String CLASS_NAME_B = "B";
+    static final int FAILED = 0;
+    static final int EXPECTED = 1234;
+
+    static class TestClassLoader extends ClassLoader implements Opcodes {
+
+        @Override
+        public Class findClass(String name) throws ClassNotFoundException {
+            byte[] b;
+            try {
+                b = loadClassData(name);
+            } catch (Throwable th) {
+                // th.printStackTrace();
+                throw new ClassNotFoundException("Loading error", th);
+            }
+            return defineClass(name, b, 0, b.length);
+        }
+
+        private byte[] loadClassData(String name) throws Exception {
+            ClassWriter cw = new ClassWriter(0);
+            MethodVisitor mv;
+            switch (name) {
+               case CLASS_NAME_A:
+                    cw.visit(52, ACC_SUPER | ACC_PUBLIC, CLASS_NAME_A, null, "java/lang/Object", null);
+                    {
+                        mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+                        mv.visitCode();
+                        mv.visitVarInsn(ALOAD, 0);
+                        mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
+                        mv.visitInsn(RETURN);
+                        mv.visitMaxs(1, 1);
+                        mv.visitEnd();
+
+                        mv = cw.visitMethod(ACC_FINAL | ACC_STATIC, "m", "()I", null, null);
+                        mv.visitCode();
+                        mv.visitLdcInsn(FAILED);
+                        mv.visitInsn(IRETURN);
+                        mv.visitMaxs(1, 1);
+                        mv.visitEnd();
+                    }
+                    break;
+                case CLASS_NAME_B:
+                    cw.visit(52, ACC_SUPER | ACC_PUBLIC, CLASS_NAME_B, null, CLASS_NAME_A, null);
+                    {
+                        mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+                        mv.visitCode();
+                        mv.visitVarInsn(ALOAD, 0);
+                        mv.visitMethodInsn(INVOKESPECIAL, CLASS_NAME_A, "<init>", "()V");
+                        mv.visitInsn(RETURN);
+                        mv.visitMaxs(1, 1);
+                        mv.visitEnd();
+
+                        mv = cw.visitMethod(ACC_PUBLIC, "m", "()I", null, null);
+                        mv.visitCode();
+                        mv.visitLdcInsn(EXPECTED);
+                        mv.visitInsn(IRETURN);
+                        mv.visitMaxs(1, 1);
+                        mv.visitEnd();
+
+                    }
+                    break;
+                default:
+                    break;
+            }
+            cw.visitEnd();
+
+            return cw.toByteArray();
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        TestClassLoader tcl = new TestClassLoader();
+        Class<?> a = tcl.loadClass(CLASS_NAME_A);
+        Class<?> b = tcl.loadClass(CLASS_NAME_B);
+        Object inst = b.newInstance();
+        Method[] meths = b.getDeclaredMethods();
+
+        Method m = meths[0];
+        int mod = m.getModifiers();
+        if ((mod & Modifier.FINAL) != 0) {
+            throw new Exception("FAILED: " + m + " is FINAL");
+        }
+        if ((mod & Modifier.STATIC) != 0) {
+            throw new Exception("FAILED: " + m + " is STATIC");
+        }
+
+        m.setAccessible(true);
+        if (!m.invoke(inst).equals(EXPECTED)) {
+              throw new Exception("FAILED: " + EXPECTED + " from " + m);
+        }
+
+        System.out.println("Passed.");
+    }
+}
diff --git a/hotspot/test/runtime/lambda-features/InvokespecialInterface.java b/hotspot/test/runtime/lambda-features/InvokespecialInterface.java
new file mode 100644
index 0000000..80c2618
--- /dev/null
+++ b/hotspot/test/runtime/lambda-features/InvokespecialInterface.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2014, 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 8032024
+ * @bug 8025937
+ * @bug 8033528
+ * @summary [JDK 8] Test invokespecial and invokeinterface with the same JVM_CONSTANT_InterfaceMethodref
+ * @run main/othervm -XX:+StressRewriter InvokespecialInterface
+ */
+import java.util.function.*;
+import java.util.*;
+
+interface I {
+  default void imethod() { System.out.println("I::imethod"); }
+}
+
+class C implements I {
+  public void foo() { I.super.imethod(); }  // invokespecial InterfaceMethod
+  public void bar() { I i = this; i.imethod(); } // invokeinterface same
+  public void doSomeInvokedynamic() {
+      String str = "world";
+      Supplier<String> foo = ()->"hello, "+str;
+      String res = foo.get();
+      System.out.println(res);
+  }
+}
+
+public class InvokespecialInterface {
+  public static void main(java.lang.String[] unused) {
+     // need to create C and call I::foo()
+     C c = new C();
+     c.foo();
+     c.bar();
+     c.doSomeInvokedynamic();
+  }
+};
+
+
diff --git a/hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java b/hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java
new file mode 100644
index 0000000..0fd1a42
--- /dev/null
+++ b/hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2014, 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 8032010
+ * @summary method lookup on an abstract method in a concrete class should be successful
+ * @run main TestConcreteClassWithAbstractMethod
+ */
+
+import jdk.internal.org.objectweb.asm.ClassWriter;
+import jdk.internal.org.objectweb.asm.MethodVisitor;
+
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+/*
+ *   class T1 { public int m() {} }
+ *   class T2 { public abstract int m(); }
+ *   class T3 { public int m() {} }
+ *
+ *   Call site: T3.test() { invokevirtual T2.m() }
+ *   T3.m() should be invoked
+ */
+public class TestConcreteClassWithAbstractMethod {
+    static final String classT1 = "p1.T1";
+    static final String classT2 = "p1.T2";
+    static final String classT3 = "p1.T3";
+
+    static final String callerName = classT3;
+
+    public static void main(String[] args) throws Exception {
+        ClassLoader cl = new ClassLoader() {
+            public Class<?> loadClass(String name) throws ClassNotFoundException {
+                if (findLoadedClass(name) != null) {
+                    return findLoadedClass(name);
+                }
+
+                if (classT1.equals(name)) {
+                    byte[] classFile = dumpT1();
+                    return defineClass(classT1, classFile, 0, classFile.length);
+                }
+                if (classT2.equals(name)) {
+                    byte[] classFile = dumpT2();
+                    return defineClass(classT2, classFile, 0, classFile.length);
+                }
+                if (classT3.equals(name)) {
+                    byte[] classFile = dumpT3();
+                    return defineClass(classT3, classFile, 0, classFile.length);
+                }
+
+                return super.loadClass(name);
+            }
+        };
+
+        cl.loadClass(classT1);
+        cl.loadClass(classT2);
+        cl.loadClass(classT3);
+
+        //cl.loadClass(callerName).getDeclaredMethod("m");
+        cl.loadClass(callerName).newInstance();
+
+        int result = (Integer)cl.loadClass(callerName).getDeclaredMethod("test").invoke(null);
+        System.out.println(""+result);
+    }
+
+    public static byte[] dumpT1() {
+        ClassWriter cw = new ClassWriter(0);
+        MethodVisitor mv;
+
+        cw.visit(52, ACC_PUBLIC | ACC_SUPER, "p1/T1", null, "java/lang/Object", null);
+        {
+            mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+            mv.visitCode();
+            mv.visitVarInsn(ALOAD, 0);
+            mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
+            mv.visitInsn(RETURN);
+            mv.visitMaxs(1, 1);
+            mv.visitEnd();
+        }
+        {
+            mv = cw.visitMethod(ACC_PUBLIC, "m", "()I", null, null);
+            mv.visitCode();
+            mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
+            mv.visitLdcInsn("p1/T1.m()");
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "print", "(Ljava/lang/String;)V", false);
+            mv.visitIntInsn(BIPUSH, 3);
+            mv.visitInsn(IRETURN);
+            mv.visitMaxs(2, 1);
+            mv.visitEnd();
+        }
+        cw.visitEnd();
+
+        return cw.toByteArray();
+    }
+
+    public static byte[] dumpT2() {
+        ClassWriter cw = new ClassWriter(0);
+        MethodVisitor mv;
+
+        cw.visit(52, ACC_PUBLIC | ACC_SUPER, "p1/T2", null, "p1/T1", null);
+        {
+            mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+            mv.visitCode();
+            mv.visitVarInsn(ALOAD, 0);
+            mv.visitMethodInsn(INVOKESPECIAL, "p1/T1", "<init>", "()V", false);
+            mv.visitInsn(RETURN);
+            mv.visitMaxs(1, 1);
+            mv.visitEnd();
+        }
+        {
+            mv = cw.visitMethod(ACC_PUBLIC + ACC_ABSTRACT, "m", "()I", null, null);
+            mv.visitEnd();
+        }
+        cw.visitEnd();
+
+        return cw.toByteArray();
+    }
+
+    public static byte[] dumpT3() {
+        ClassWriter cw = new ClassWriter(0);
+        MethodVisitor mv;
+
+        cw.visit(52, ACC_PUBLIC + ACC_SUPER, "p1/T3", null, "p1/T2", null);
+
+        {
+            mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
+            mv.visitCode();
+            mv.visitVarInsn(ALOAD, 0);
+            mv.visitMethodInsn(INVOKESPECIAL, "p1/T2", "<init>", "()V", false);
+            mv.visitInsn(RETURN);
+            mv.visitMaxs(1, 1);
+            mv.visitEnd();
+        }
+        {
+            mv = cw.visitMethod(ACC_PUBLIC, "m", "()I", null, null);
+            mv.visitCode();
+            mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
+            mv.visitLdcInsn("p1/T3.m()");
+            mv.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "print", "(Ljava/lang/String;)V", false);
+            mv.visitIntInsn(BIPUSH, 2);
+            mv.visitInsn(IRETURN);
+            mv.visitMaxs(2, 1);
+            mv.visitEnd();
+        }
+        {
+            mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "test", "()I", null, null);
+            mv.visitCode();
+            mv.visitTypeInsn(NEW, "p1/T3");
+            mv.visitInsn(DUP);
+            mv.visitMethodInsn(INVOKESPECIAL, "p1/T3", "<init>", "()V", false);
+            mv.visitMethodInsn(INVOKEVIRTUAL, "p1/T2", "m", "()I", false);
+            mv.visitInsn(IRETURN);
+            mv.visitMaxs(3, 2);
+            mv.visitEnd();
+        }
+        cw.visitEnd();
+
+        return cw.toByteArray();
+    }
+}
diff --git a/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java b/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java
new file mode 100644
index 0000000..4f929c4
--- /dev/null
+++ b/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2014, 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
+ * @summary Redefine a class with an UnresolvedClass reference in the constant pool.
+ * @bug 8035150
+ * @library /testlibrary
+ * @build UnresolvedClassAgent com.oracle.java.testlibrary.ProcessTools com.oracle.java.testlibrary.OutputAnalyzer
+ * @run main TestRedefineWithUnresolvedClass
+ */
+
+import java.io.File;
+import java.util.Arrays;
+
+import com.oracle.java.testlibrary.OutputAnalyzer;
+import com.oracle.java.testlibrary.ProcessTools;
+
+public class TestRedefineWithUnresolvedClass {
+
+    final static String slash = File.separator;
+    final static String testClasses = System.getProperty("test.classes") + slash;
+
+    public static void main(String... args) throws Throwable {
+        // delete this class to cause a NoClassDefFoundError
+        File unresolved = new File(testClasses, "MyUnresolvedClass.class");
+        if (unresolved.exists() && !unresolved.delete()) {
+            throw new Exception("Could not delete: " + unresolved);
+        }
+
+        // build the javaagent
+        buildJar("UnresolvedClassAgent");
+
+        // launch a VM with the javaagent
+        launchTest();
+    }
+
+    private static void buildJar(String jarName) throws Throwable {
+        String testSrc = System.getProperty("test.src", "?") + slash;
+
+        String jarPath = String.format("%s%s.jar", testClasses, jarName);
+        String manifestPath = String.format("%s%s.mf", testSrc, jarName);
+        String className = String.format("%s.class", jarName);
+
+        String[] args = new String[] {"-cfm", jarPath, manifestPath, "-C", testClasses, className};
+
+        System.out.println("Running jar " + Arrays.toString(args));
+        sun.tools.jar.Main jarTool = new sun.tools.jar.Main(System.out, System.err, "jar");
+        if (!jarTool.run(args)) {
+            throw new Exception("jar failed: args=" + Arrays.toString(args));
+        }
+    }
+
+    private static void launchTest() throws Throwable {
+        String[] args = {
+            "-javaagent:" + testClasses + "UnresolvedClassAgent.jar",
+            "-Dtest.classes=" + testClasses,
+            "UnresolvedClassAgent" };
+        OutputAnalyzer output = ProcessTools.executeTestJvm(args);
+        output.shouldHaveExitValue(0);
+    }
+}
diff --git a/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java
new file mode 100644
index 0000000..efe7b25
--- /dev/null
+++ b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2014, 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 java.io.DataInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.lang.instrument.ClassDefinition;
+import java.lang.instrument.Instrumentation;
+
+/*
+ * This class is present during compilation, but will be deleted before execution.
+ */
+class MyUnresolvedClass {
+    static void bar() {
+    }
+}
+
+class MyRedefinedClass {
+    static void foo() {
+        MyUnresolvedClass.bar();
+    }
+}
+
+public class UnresolvedClassAgent {
+    public static void main(String... args) {
+    }
+
+    public static void premain(String args, Instrumentation inst) throws Exception {
+        try {
+            MyRedefinedClass.foo();
+        } catch(NoClassDefFoundError err) {
+            System.out.println("NoClassDefFoundError (expected)");
+        }
+
+        File f = new File(System.getProperty("test.classes"), "MyRedefinedClass.class");
+        byte[] buf = new byte[(int)f.length()];
+        try (DataInputStream dis = new DataInputStream(new FileInputStream(f))) {
+            dis.readFully(buf);
+        }
+        ClassDefinition cd = new ClassDefinition(MyRedefinedClass.class, buf);
+        inst.redefineClasses(new ClassDefinition[] {cd});
+
+        try {
+            MyRedefinedClass.foo();
+        } catch(NoClassDefFoundError err) {
+            System.out.println("NoClassDefFoundError (expected again)");
+        }
+    }
+}
diff --git a/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf
new file mode 100644
index 0000000..5570570
--- /dev/null
+++ b/hotspot/test/serviceability/jvmti/UnresolvedClassAgent.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Premain-Class: UnresolvedClassAgent
+Can-Redefine-Classes: true
diff --git a/hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java b/hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java
new file mode 100644
index 0000000..bd743ab
--- /dev/null
+++ b/hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2014, 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 8028623
+ * @summary Test hashing of extended characters in Serviceability Agent.
+ * @library /testlibrary
+ * @compile -encoding utf8 Test8028623.java
+ * @run main Test8028623
+ */
+
+import com.oracle.java.testlibrary.JDKToolLauncher;
+import com.oracle.java.testlibrary.OutputBuffer;
+import com.oracle.java.testlibrary.ProcessTools;
+
+import java.io.File;
+
+public class Test8028623 {
+
+  public static int à = 1;
+  public static String dumpFile = "heap.out";
+
+  public static void main (String[] args) {
+
+    System.out.println(Ã);
+
+    try {
+        int pid = ProcessTools.getProcessId();
+        JDKToolLauncher jmap = JDKToolLauncher.create("jmap")
+                                              .addToolArg("-F")
+                                              .addToolArg("-dump:live,format=b,file=" + dumpFile)
+                                              .addToolArg(Integer.toString(pid));
+        ProcessBuilder pb = new ProcessBuilder(jmap.getCommand());
+        OutputBuffer output = ProcessTools.getOutput(pb);
+        Process p = pb.start();
+        int e = p.waitFor();
+        System.out.println("stdout:");
+        System.out.println(output.getStdout());
+        System.out.println("stderr:");
+        System.out.println(output.getStderr());
+
+        if (e != 0) {
+            throw new RuntimeException("jmap returns: " + e);
+        }
+        if (! new File(dumpFile).exists()) {
+            throw new RuntimeException("dump file NOT created: '" + dumpFile + "'");
+        }
+    } catch (Throwable t) {
+        t.printStackTrace();
+        throw new RuntimeException("Test failed with: " + t);
+    }
+  }
+}
diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
index 56277f0..64b1b9e 100644
--- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java
@@ -151,11 +151,88 @@
 
     // Reporting
     StringBuilder cmdLine = new StringBuilder();
-    for (String cmd : args)
-        cmdLine.append(cmd).append(' ');
+    for (String cmd : args) {
+      cmdLine.append(cmd).append(' ');
+    }
     System.out.println("Command line: [" + cmdLine.toString() + "]");
 
     return new ProcessBuilder(args.toArray(new String[args.size()]));
   }
 
+  /**
+   * Executes a test jvm process, waits for it to finish and returns the process output.
+   * The default jvm options from jtreg, test.vm.opts and test.java.opts, are added.
+   * The java from the test.jdk is used to execute the command.
+   *
+   * The command line will be like:
+   * {test.jdk}/bin/java {test.vm.opts} {test.java.opts} cmds
+   *
+   * @param cmds User specifed arguments.
+   * @return The output from the process.
+   */
+  public static OutputAnalyzer executeTestJvm(String... cmds) throws Throwable {
+    ProcessBuilder pb = createJavaProcessBuilder(Utils.addTestJavaOpts(cmds));
+    return executeProcess(pb);
+  }
+
+  /**
+   * Executes a process, waits for it to finish and returns the process output.
+   * @param pb The ProcessBuilder to execute.
+   * @return The output from the process.
+   */
+  public static OutputAnalyzer executeProcess(ProcessBuilder pb) throws Throwable {
+    OutputAnalyzer output = null;
+    try {
+      output = new OutputAnalyzer(pb.start());
+      return output;
+    } catch (Throwable t) {
+      System.out.println("executeProcess() failed: " + t);
+      throw t;
+    } finally {
+      System.out.println(getProcessLog(pb, output));
+    }
+  }
+
+  /**
+   * Executes a process, waits for it to finish and returns the process output.
+   * @param cmds The command line to execute.
+   * @return The output from the process.
+   */
+  public static OutputAnalyzer executeProcess(String... cmds) throws Throwable {
+    return executeProcess(new ProcessBuilder(cmds));
+  }
+
+  /**
+   * Used to log command line, stdout, stderr and exit code from an executed process.
+   * @param pb The executed process.
+   * @param output The output from the process.
+   */
+  public static String getProcessLog(ProcessBuilder pb, OutputAnalyzer output) {
+    String stderr = output == null ? "null" : output.getStderr();
+    String stdout = output == null ? "null" : output.getStdout();
+    String exitValue = output == null ? "null": Integer.toString(output.getExitValue());
+    StringBuilder logMsg = new StringBuilder();
+    final String nl = System.getProperty("line.separator");
+    logMsg.append("--- ProcessLog ---" + nl);
+    logMsg.append("cmd: " + getCommandLine(pb) + nl);
+    logMsg.append("exitvalue: " + exitValue + nl);
+    logMsg.append("stderr: " + stderr + nl);
+    logMsg.append("stdout: " + stdout + nl);
+    return logMsg.toString();
+  }
+
+  /**
+   * @return The full command line for the ProcessBuilder.
+   */
+  public static String getCommandLine(ProcessBuilder pb) {
+    if (pb == null) {
+      return "null";
+    }
+    StringBuilder cmd = new StringBuilder();
+    for (String s : pb.command()) {
+      cmd.append(s).append(" ");
+    }
+    return cmd.toString().trim();
+  }
+
 }
diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java
new file mode 100644
index 0000000..a0031e7
--- /dev/null
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Utils.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2013, 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.
+ */
+
+package com.oracle.java.testlibrary;
+
+import static com.oracle.java.testlibrary.Asserts.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+/**
+ * Common library for various test helper functions.
+ */
+public final class Utils {
+
+    /**
+     * Returns the sequence used by operating system to separate lines.
+     */
+    public static final String NEW_LINE = System.getProperty("line.separator");
+
+    /**
+     * Returns the value of 'test.vm.opts'system property.
+     */
+    public static final String VM_OPTIONS = System.getProperty("test.vm.opts", "").trim();
+
+    /**
+     * Returns the value of 'test.java.opts'system property.
+     */
+    public static final String JAVA_OPTIONS = System.getProperty("test.java.opts", "").trim();
+
+    /**
+    * Returns the value of 'test.timeout.factor' system property
+    * converted to {@code double}.
+    */
+    public static final double TIMEOUT_FACTOR;
+    static {
+        String toFactor = System.getProperty("test.timeout.factor", "1.0");
+        TIMEOUT_FACTOR = Double.parseDouble(toFactor);
+    }
+
+    private Utils() {
+        // Private constructor to prevent class instantiation
+    }
+
+    /**
+     * Returns the list of VM options.
+     *
+     * @return List of VM options
+     */
+    public static List<String> getVmOptions() {
+        return Arrays.asList(safeSplitString(VM_OPTIONS));
+    }
+
+    /**
+     * Returns the list of VM options with -J prefix.
+     *
+     * @return The list of VM options with -J prefix
+     */
+    public static List<String> getForwardVmOptions() {
+        String[] opts = safeSplitString(VM_OPTIONS);
+        for (int i = 0; i < opts.length; i++) {
+            opts[i] = "-J" + opts[i];
+        }
+        return Arrays.asList(opts);
+    }
+
+    /**
+     * Returns the default JTReg arguments for a jvm running a test.
+     * This is the combination of JTReg arguments test.vm.opts and test.java.opts.
+     * @return An array of options, or an empty array if no opptions.
+     */
+    public static String[] getTestJavaOpts() {
+        List<String> opts = new ArrayList<String>();
+        Collections.addAll(opts, safeSplitString(VM_OPTIONS));
+        Collections.addAll(opts, safeSplitString(JAVA_OPTIONS));
+        return opts.toArray(new String[0]);
+    }
+
+    /**
+     * Combines given arguments with default JTReg arguments for a jvm running a test.
+     * This is the combination of JTReg arguments test.vm.opts and test.java.opts
+     * @return The combination of JTReg test java options and user args.
+     */
+    public static String[] addTestJavaOpts(String... userArgs) {
+        List<String> opts = new ArrayList<String>();
+        Collections.addAll(opts, getTestJavaOpts());
+        Collections.addAll(opts, userArgs);
+        return opts.toArray(new String[0]);
+    }
+
+    /**
+     * Splits a string by white space.
+     * Works like String.split(), but returns an empty array
+     * if the string is null or empty.
+     */
+    private static String[] safeSplitString(String s) {
+        if (s == null || s.trim().isEmpty()) {
+            return new String[] {};
+        }
+        return s.trim().split("\\s+");
+    }
+
+    /**
+     * @return The full command line for the ProcessBuilder.
+     */
+    public static String getCommandLine(ProcessBuilder pb) {
+        StringBuilder cmd = new StringBuilder();
+        for (String s : pb.command()) {
+            cmd.append(s).append(" ");
+        }
+        return cmd.toString();
+    }
+
+    /**
+     * Returns the free port on the local host.
+     * The function will spin until a valid port number is found.
+     *
+     * @return The port number
+     * @throws InterruptedException if any thread has interrupted the current thread
+     * @throws IOException if an I/O error occurs when opening the socket
+     */
+    public static int getFreePort() throws InterruptedException, IOException {
+        int port = -1;
+
+        while (port <= 0) {
+            Thread.sleep(100);
+
+            ServerSocket serverSocket = null;
+            try {
+                serverSocket = new ServerSocket(0);
+                port = serverSocket.getLocalPort();
+            } finally {
+                serverSocket.close();
+            }
+        }
+
+        return port;
+    }
+
+    /**
+     * Returns the name of the local host.
+     *
+     * @return The host name
+     * @throws UnknownHostException if IP address of a host could not be determined
+     */
+    public static String getHostname() throws UnknownHostException {
+        InetAddress inetAddress = InetAddress.getLocalHost();
+        String hostName = inetAddress.getHostName();
+
+        assertTrue((hostName != null && !hostName.isEmpty()),
+                "Cannot get hostname");
+
+        return hostName;
+    }
+
+    /**
+     * Uses "jcmd -l" to search for a jvm pid. This function will wait
+     * forever (until jtreg timeout) for the pid to be found.
+     * @param key Regular expression to search for
+     * @return The found pid.
+     */
+    public static int waitForJvmPid(String key) throws Throwable {
+        final long iterationSleepMillis = 250;
+        System.out.println("waitForJvmPid: Waiting for key '" + key + "'");
+        System.out.flush();
+        while (true) {
+            int pid = tryFindJvmPid(key);
+            if (pid >= 0) {
+                return pid;
+            }
+            Thread.sleep(iterationSleepMillis);
+        }
+    }
+
+    /**
+     * Searches for a jvm pid in the output from "jcmd -l".
+     *
+     * Example output from jcmd is:
+     * 12498 sun.tools.jcmd.JCmd -l
+     * 12254 /tmp/jdk8/tl/jdk/JTwork/classes/com/sun/tools/attach/Application.jar
+     *
+     * @param key A regular expression to search for.
+     * @return The found pid, or -1 if Enot found.
+     * @throws Exception If multiple matching jvms are found.
+     */
+    public static int tryFindJvmPid(String key) throws Throwable {
+        OutputAnalyzer output = null;
+        try {
+            JDKToolLauncher jcmdLauncher = JDKToolLauncher.create("jcmd");
+            jcmdLauncher.addToolArg("-l");
+            output = ProcessTools.executeProcess(jcmdLauncher.getCommand());
+            output.shouldHaveExitValue(0);
+
+            // Search for a line starting with numbers (pid), follwed by the key.
+            Pattern pattern = Pattern.compile("([0-9]+)\\s.*(" + key + ").*\\r?\\n");
+            Matcher matcher = pattern.matcher(output.getStdout());
+
+            int pid = -1;
+            if (matcher.find()) {
+                pid = Integer.parseInt(matcher.group(1));
+                System.out.println("findJvmPid.pid: " + pid);
+                if (matcher.find()) {
+                    throw new Exception("Found multiple JVM pids for key: " + key);
+                }
+            }
+            return pid;
+        } catch (Throwable t) {
+            System.out.println(String.format("Utils.findJvmPid(%s) failed: %s", key, t));
+            throw t;
+        }
+    }
+
+    /**
+     * Returns file content as a list of strings
+     *
+     * @param file File to operate on
+     * @return List of strings
+     * @throws IOException
+     */
+    public static List<String> fileAsList(File file) throws IOException {
+        assertTrue(file.exists() && file.isFile(),
+                file.getAbsolutePath() + " does not exist or not a file");
+        List<String> output = new ArrayList<>();
+        try (BufferedReader reader = new BufferedReader(new FileReader(file.getAbsolutePath()))) {
+            while (reader.ready()) {
+                output.add(reader.readLine().replace(NEW_LINE, ""));
+            }
+        }
+        return output;
+    }
+
+}
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 59d44ff..e232c93 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -245,9 +245,14 @@
 4045edd35e8ba73bfdc23ce8961b9640d4145fe5 jdk8-b121
 93bf25903af0a8eaec78d7b1ab85a5b812c9aef2 jdk8-b122
 4e35b5b6d2e5e27772d59a70a54e5d04fc801a64 jdk8-b123
+1a28f773c8943113187e393bfd80885dedac3ccd jdk8u20-b00
 83bb924238f800db68fb6f60142cc5149d7a9bf6 jdk8-b124
+d987792919e12eafc8b9042b11f9c353d7c428b8 jdk8u20-b01
 83bb924238f800db68fb6f60142cc5149d7a9bf6 jdk8-b125
 390cc275c04c4d7c8a14a895e9bcdc57621af966 jdk8-b126
 b68cdb63a70bca7aad284946107d5d8dd1dbc663 jdk8-b127
 b1839922f10c0c88dea683590fa093d1d382046c jdk8-b128
 b7752cea7c813fb8b1d3bf2e05e8f93331cc7f1d jdk8-b129
+de9ec1246a0c5c0b32ce3818386019fd4a6fceaa jdk8u20-b02
+47cdfe271b1e97e5906eb1b96cd7d15f0717a118 jdk8u20-b03
+f6742d0cf71201f1ffd0584c1f2990df343bc5eb jdk8u20-b04
diff --git a/jaxp/.jcheck/conf b/jaxp/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/jaxp/.jcheck/conf
+++ b/jaxp/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/jaxp/src/javax/xml/stream/XMLEventFactory.java b/jaxp/src/javax/xml/stream/XMLEventFactory.java
index 7d54321..548feeb 100644
--- a/jaxp/src/javax/xml/stream/XMLEventFactory.java
+++ b/jaxp/src/javax/xml/stream/XMLEventFactory.java
@@ -157,8 +157,9 @@
    * <li>
    *   If {@code factoryId} is "javax.xml.stream.XMLEventFactory",
    *   use the service-provider loading facilities, defined by the
-   *   {@link java.util.ServiceLoader} class, to attempt to locate and load an
-   *   implementation of the service using the specified {@code ClassLoader}.
+   *   {@link java.util.ServiceLoader} class, to attempt to {@linkplain
+   *   java.util.ServiceLoader#load(java.lang.Class, java.lang.ClassLoader) locate and load}
+   *   an implementation of the service using the specified {@code ClassLoader}.
    *   If {@code classLoader} is null, the {@linkplain
    *   java.util.ServiceLoader#load(java.lang.Class) default loading mechanism} will apply:
    *   That is, the service-provider loading facility will use the {@linkplain
diff --git a/jaxp/src/javax/xml/stream/XMLInputFactory.java b/jaxp/src/javax/xml/stream/XMLInputFactory.java
index 2275ad7..20af7a0 100644
--- a/jaxp/src/javax/xml/stream/XMLInputFactory.java
+++ b/jaxp/src/javax/xml/stream/XMLInputFactory.java
@@ -247,8 +247,9 @@
    * <li>
    *   If {@code factoryId} is "javax.xml.stream.XMLInputFactory",
    *   use the service-provider loading facilities, defined by the
-   *   {@link java.util.ServiceLoader} class, to attempt to locate and load an
-   *   implementation of the service using the specified {@code ClassLoader}.
+   *   {@link java.util.ServiceLoader} class, to attempt to {@linkplain
+   *   java.util.ServiceLoader#load(java.lang.Class, java.lang.ClassLoader) locate and load}
+   *   an implementation of the service using the specified {@code ClassLoader}.
    *   If {@code classLoader} is null, the {@linkplain
    *   java.util.ServiceLoader#load(java.lang.Class) default loading mechanism} will apply:
    *   That is, the service-provider loading facility will use the {@linkplain
diff --git a/jaxp/src/javax/xml/stream/XMLOutputFactory.java b/jaxp/src/javax/xml/stream/XMLOutputFactory.java
index df99723..e875ac2 100644
--- a/jaxp/src/javax/xml/stream/XMLOutputFactory.java
+++ b/jaxp/src/javax/xml/stream/XMLOutputFactory.java
@@ -221,8 +221,9 @@
    * <li>
    *   If {@code factoryId} is "javax.xml.stream.XMLOutputFactory",
    *   use the service-provider loading facilities, defined by the
-   *   {@link java.util.ServiceLoader} class, to attempt to locate and load an
-   *   implementation of the service using the specified {@code ClassLoader}.
+   *   {@link java.util.ServiceLoader} class, to attempt to {@linkplain
+   *   java.util.ServiceLoader#load(java.lang.Class, java.lang.ClassLoader) locate and load}
+   *   an implementation of the service using the specified {@code ClassLoader}.
    *   If {@code classLoader} is null, the {@linkplain
    *   java.util.ServiceLoader#load(java.lang.Class) default loading mechanism} will apply:
    *   That is, the service-provider loading facility will use the {@linkplain
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index fbd4ca3..fd7343f 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -245,9 +245,14 @@
 32050ab53c8a8e4cb09f04b88db78258a480fb61 jdk8-b121
 bc622ba563f9316f981c11c3a260f4c3fdc5ef07 jdk8-b122
 91f5c542ccad330efc0d281362dd6f33f2039746 jdk8-b123
+241e4effed6d4702815f54efdfb34ebd5c3990f6 jdk8u20-b00
 ef71ecbcd7bc014b1be39a6d1b3a1fb663772c14 jdk8-b124
+ac679298539a4bc6c23e1ce00acabf10d1d93fe2 jdk8u20-b01
 ef71ecbcd7bc014b1be39a6d1b3a1fb663772c14 jdk8-b125
 7193a007a159ef9401b672af5c36c5b95e6e2943 jdk8-b126
 8e46fe36e17595c24ccdbde7b34e3cbfb6056b42 jdk8-b127
 de172acc095bb1045f40d1c9f532b7350343d19e jdk8-b128
 aabc90596123d4eb7e576ecb0e7a843a9415d8eb jdk8-b129
+ba061957b8bdb5f04e58154b27405fbf6fe3c71f jdk8u20-b02
+337a3a4086235e926e1d684bf4d0b2add70d6f55 jdk8u20-b03
+579caba2483ee3c9e32d87b31ab46e86f1aa9cd3 jdk8u20-b04
diff --git a/jaxws/.jcheck/conf b/jaxws/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/jaxws/.jcheck/conf
+++ b/jaxws/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/jdk/.hgtags b/jdk/.hgtags
index c1ba094..f002823 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -245,9 +245,14 @@
 ce05e132b1370fe8a66ab9373014d12328c591c4 jdk8-b121
 e1499442453b6b70af6c2b496fa6d364f68c1d12 jdk8-b122
 484e16c0a040efeccbe449d163e9c185e6c2b4db jdk8-b123
+13b28cffa140d8637d37273e3791b484191965bb jdk8u20-b00
 ae303640bc1cca06f1c6ac887e6b523ceeb425a6 jdk8-b124
+435a8a2f6d33ae28f3de5e40b6cfb552451ea348 jdk8u20-b01
 ae303640bc1cca06f1c6ac887e6b523ceeb425a6 jdk8-b125
 a9088d517f2fa9919886d3d95023c518b59172b8 jdk8-b126
 fbf251b8ef8a4a2aa1fd58efc8d0d5c8e2fd582b jdk8-b127
 f644211c59fd7c1d0c81239c55b31e1d377d7650 jdk8-b128
 80568a19aab7300bc92baf2dc225be929f5b03ed jdk8-b129
+9543b632ab87368c887d8b29b21157ebb44228d0 jdk8u20-b02
+5a9f04957f826ce23639479c9791c7d8fd282b01 jdk8u20-b03
+c347889445c1153f11aaa56092d44a911e497454 jdk8u20-b04
diff --git a/jdk/.jcheck/conf b/jdk/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/jdk/.jcheck/conf
+++ b/jdk/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/jdk/make/CompileDemos.gmk b/jdk/make/CompileDemos.gmk
index cbd83c0..c0b1b71 100644
--- a/jdk/make/CompileDemos.gmk
+++ b/jdk/make/CompileDemos.gmk
@@ -195,9 +195,6 @@
   $(JDK_OUTPUTDIR)/demo/nbproject/%: $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
 	$(call install-file)
 	$(CHMOD) -f ug+w $@
-    ifeq ($(OPENJDK_TARGET_OS), solaris)
-	  $(RM) -r $(JDK_OUTPUTDIR)/demo/nbproject/jfc/SwingApplet
-    endif
 endif
 
 ##################################################################################################
@@ -365,9 +362,16 @@
 ##################################################################################################
 
 # The netbeans project files are copied into the demo directory.
-BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+  BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
+    $(JDK_OUTPUTDIR)/demo/nbproject/%, \
+    $(filter-out $(JDK_TOPDIR)/src/share/demo/nbproject/jfc/SwingApplet%, \
+    $(call CacheFind, $(JDK_TOPDIR)/src/share/demo/nbproject)))
+else
+  BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
     $(JDK_OUTPUTDIR)/demo/nbproject/%, \
     $(call CacheFind, $(JDK_TOPDIR)/src/share/demo/nbproject))
+endif
 
 $(JDK_OUTPUTDIR)/demo/nbproject/%: $(JDK_TOPDIR)/src/share/demo/nbproject/%
 	$(call install-file)
diff --git a/jdk/make/data/tzdata/VERSION b/jdk/make/data/tzdata/VERSION
index 1d76989..2f162e0 100644
--- a/jdk/make/data/tzdata/VERSION
+++ b/jdk/make/data/tzdata/VERSION
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2013h
+tzdata2013i
diff --git a/jdk/make/data/tzdata/africa b/jdk/make/data/tzdata/africa
index 0eed8b1..82d14a4 100644
--- a/jdk/make/data/tzdata/africa
+++ b/jdk/make/data/tzdata/africa
@@ -500,14 +500,13 @@
 Rule	Libya	1997	only	-	Oct	 4	0:00	0	-
 Rule	Libya	2013	only	-	Mar	lastFri	1:00	1:00	S
 Rule	Libya	2013	only	-	Oct	lastFri	2:00	0	-
-
-# The 1996 and 1997 entries are from Shanks & Pottenger;
-# the IATA SSIM data contain some obvious errors.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Tripoli	0:52:44 -	LMT	1920
 			1:00	Libya	CE%sT	1959
 			2:00	-	EET	1982
 			1:00	Libya	CE%sT	1990 May  4
+# The 1996 and 1997 entries are from Shanks & Pottenger;
+# the IATA SSIM data contain some obvious errors.
 			2:00	-	EET	1996 Sep 30
 			1:00	Libya	CE%sT	1997 Oct  4
 			2:00	-	EET	2012 Nov 10 2:00
diff --git a/jdk/make/data/tzdata/asia b/jdk/make/data/tzdata/asia
index fd278e5..1a8f83d 100644
--- a/jdk/make/data/tzdata/asia
+++ b/jdk/make/data/tzdata/asia
@@ -1403,12 +1403,22 @@
 # switch back to standard time this winter, so the will stay on DST
 # until about the same time next year (at least).
 # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?NewsID=88950
-#
-# From Paul Eggert (2013-09-21):
-# It's looking like this change will be permanent; see
-# Petra News Agency, Cancelling winter saved Jordan $7 million (2013-02-20)
-# <http://www.albawaba.com/business/jordan-winter-electricity--472005>.
-# So move Jordan to UTC+3 as of the abovementioned date.
+
+# From Steffen Thorsen (2013-12-11):
+# Jordan Times and other sources say that Jordan is going back to
+# UTC+2 on 2013-12-19 at midnight:
+# http://jordantimes.com/govt-decides-to-switch-back-to-wintertime
+# Official, in Arabic:
+# http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14
+# ... Our background/permalink about it
+# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html
+# ...
+# http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P
+# ... says midnight for the coming one and 1:00 for the ones in the future
+# (and they will use DST again next year, using the normal schedule).
+
+# From Paul Eggert (2013-12-11):
+# As Steffen suggested, consider the past 21-month experiment to be DST.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
@@ -1438,11 +1448,13 @@
 Rule	Jordan	2003	only	-	Oct	24	0:00s	0	-
 Rule	Jordan	2004	only	-	Oct	15	0:00s	0	-
 Rule	Jordan	2005	only	-	Sep	lastFri	0:00s	0	-
-Rule	Jordan	2006	2012	-	Oct	lastFri	0:00s	0	-
+Rule	Jordan	2006	2011	-	Oct	lastFri	0:00s	0	-
+Rule	Jordan	2013	only	-	Dec	20	0:00	0	-
+Rule	Jordan	2014	max	-	Mar	lastThu	24:00	1:00	S
+Rule	Jordan	2014	max	-	Oct	lastFri	0:00s	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Amman	2:23:44 -	LMT	1931
-			2:00	Jordan	EE%sT	2012 Oct 26 0:00s
-			3:00	-	AST
+			2:00	Jordan	EE%sT
 
 
 # Kazakhstan
diff --git a/jdk/make/data/tzdata/northamerica b/jdk/make/data/tzdata/northamerica
index b8caf6d..9e551bb 100644
--- a/jdk/make/data/tzdata/northamerica
+++ b/jdk/make/data/tzdata/northamerica
@@ -2688,6 +2688,11 @@
 # to DST--and one more hour on 1999-04-04--when the announcers will have
 # returned to Baltimore, which switches on that date.)
 
+# From Steffen Thorsen (2013-11-11):
+# DST start in Cuba in 2004 ... does not follow the same rules as the
+# years before.  The correct date should be Sunday 2004-03-28 00:00 ...
+# https://web.archive.org/web/20040402060750/http://www.granma.cu/espanol/2004/marzo/sab27/reloj.html
+
 # From Evert van der Veer via Steffen Thorsen (2004-10-28):
 # Cuba is not going back to standard time this year.
 # From Paul Eggert (2006-03-22):
@@ -2877,7 +2882,8 @@
 Rule	Cuba	1997	only	-	Oct	12	0:00s	0	S
 Rule	Cuba	1998	1999	-	Mar	lastSun	0:00s	1:00	D
 Rule	Cuba	1998	2003	-	Oct	lastSun	0:00s	0	S
-Rule	Cuba	2000	2004	-	Apr	Sun>=1	0:00s	1:00	D
+Rule	Cuba	2000	2003	-	Apr	Sun>=1	0:00s	1:00	D
+Rule	Cuba	2004	only	-	Mar	lastSun	0:00s	1:00	D
 Rule	Cuba	2006	2010	-	Oct	lastSun	0:00s	0	S
 Rule	Cuba	2007	only	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	1:00	D
diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk
index 61d893e..d214d02 100644
--- a/jdk/make/lib/Awt2dLibraries.gmk
+++ b/jdk/make/lib/Awt2dLibraries.gmk
@@ -1303,6 +1303,7 @@
       LDFLAGS := $(LDFLAGS_JDKLIB) \
           $(call SET_SHARED_LIBRARY_ORIGIN), \
       LDFLAGS_SUFFIX := $(LIBM) $(LDFLAGS_JDKLIB_SUFFIX), \
+      LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB), \
       LDFLAGS_SUFFIX_posix := -lm, \
       VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
       RC_FLAGS := $(RC_FLAGS) \
diff --git a/jdk/make/mapfiles/libjava/mapfile-vers b/jdk/make/mapfiles/libjava/mapfile-vers
index d2d8067..e6fd0f5 100644
--- a/jdk/make/mapfiles/libjava/mapfile-vers
+++ b/jdk/make/mapfiles/libjava/mapfile-vers
@@ -79,7 +79,7 @@
 		Java_java_io_FileInputStream_close0;
 		Java_java_io_FileInputStream_initIDs;
 		Java_java_io_FileInputStream_open;
-		Java_java_io_FileInputStream_read;
+		Java_java_io_FileInputStream_read0;
 		Java_java_io_FileInputStream_readBytes;
 		Java_java_io_FileInputStream_skip;
 		Java_java_io_FileOutputStream_close0;
@@ -98,11 +98,11 @@
 		Java_java_io_RandomAccessFile_initIDs;
 		Java_java_io_RandomAccessFile_length;
 		Java_java_io_RandomAccessFile_open;
-		Java_java_io_RandomAccessFile_read;
+		Java_java_io_RandomAccessFile_read0;
 		Java_java_io_RandomAccessFile_readBytes;
 		Java_java_io_RandomAccessFile_seek0;
 		Java_java_io_RandomAccessFile_setLength;
-		Java_java_io_RandomAccessFile_write;
+		Java_java_io_RandomAccessFile_write0;
 		Java_java_io_RandomAccessFile_writeBytes;
 		Java_java_io_UnixFileSystem_canonicalize0;
 		Java_java_io_UnixFileSystem_checkAccess;
diff --git a/jdk/make/mapfiles/libjfr/mapfile-vers b/jdk/make/mapfiles/libjfr/mapfile-vers
index 8031edc..dea13dd 100644
--- a/jdk/make/mapfiles/libjfr/mapfile-vers
+++ b/jdk/make/mapfiles/libjfr/mapfile-vers
@@ -34,6 +34,7 @@
       Java_oracle_jrockit_jfr_VMJFR_getPeriod;
       Java_oracle_jrockit_jfr_VMJFR_descriptors;
       Java_oracle_jrockit_jfr_VMJFR_redefineClass0;
+      Java_oracle_jrockit_jfr_VMJFR_retransformClasses0;
       JNI_OnLoad;
   local:
       *;
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
index fbc38d8..576661b 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
@@ -295,7 +295,14 @@
         }
 
         Image createImage() {
-            return AquaUtils.getCImageCreator().createSystemImageFromSelector(selector, getIconWidth(), getIconHeight());
+            int w = getIconWidth();
+            int h = getIconHeight();
+            return new AquaImageFactory.MultiResolutionIconImage(
+                    AquaUtils.getCImageCreator().createSystemImageFromSelector(
+                            selector, w, h),
+                    AquaUtils.getCImageCreator().createSystemImageFromSelector(
+                            selector, 2 * w, 2 * h)
+            );
         }
     }
 }
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
index 63ee3cf..5451abd 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
@@ -46,6 +46,10 @@
 import com.apple.laf.AquaIcon.SystemIcon;
 import com.apple.laf.AquaUtils.RecyclableObject;
 import com.apple.laf.AquaUtils.RecyclableSingleton;
+import java.util.Arrays;
+import java.util.List;
+import sun.awt.image.MultiResolutionBufferedImage;
+import sun.awt.image.MultiResolutionImage;
 
 public class AquaImageFactory {
     public static IconUIResource getConfirmImageIcon() {
@@ -120,28 +124,48 @@
 
     private static final int kAlertIconSize = 64;
     static IconUIResource getAppIconCompositedOn(final Image background) {
-        final double scaleFactor = 1.0; // revise for HiDPI
 
-        final int kAlertSubIconSize = (int)(kAlertIconSize * 0.5 * scaleFactor);
-        final int kAlertSubIconInset = (int)(kAlertIconSize * scaleFactor) - kAlertSubIconSize;
-        final Icon smallAppIconScaled = new AquaIcon.CachingScalingIcon(kAlertSubIconSize, kAlertSubIconSize) {
-            Image createImage() {
-                return getThisApplicationsIcon(kAlertSubIconSize, kAlertSubIconSize);
-            }
-        };
+        final BufferedImage iconImage = getAppIconImageCompositedOn(background, 1);
 
-        final BufferedImage image = new BufferedImage(kAlertIconSize, kAlertIconSize, BufferedImage.TYPE_INT_ARGB);
+        if (background instanceof MultiResolutionIconImage) {
+            BufferedImage background2x
+                    = ((MultiResolutionIconImage) background).resolutionVariant;
+            BufferedImage icon2xImage = getAppIconImageCompositedOn(background2x, 2);
+
+            return new IconUIResource(new ImageIcon(
+                    new MultiResolutionIconImage(iconImage, icon2xImage)));
+        }
+        return new IconUIResource(new ImageIcon(iconImage));
+    }
+
+    static BufferedImage getAppIconImageCompositedOn(final Image background, int scaleFactor) {
+
+        final int scaledAlertIconSize = kAlertIconSize * scaleFactor;
+        final int kAlertSubIconSize = (int) (scaledAlertIconSize * 0.5);
+        final int kAlertSubIconInset = scaledAlertIconSize - kAlertSubIconSize;
+        final Icon smallAppIconScaled = new AquaIcon.CachingScalingIcon(
+                kAlertSubIconSize, kAlertSubIconSize) {
+                    Image createImage() {
+                        return getThisApplicationsIcon(kAlertSubIconSize, kAlertSubIconSize);
+                    }
+                };
+
+        final BufferedImage image = new BufferedImage(scaledAlertIconSize,
+                scaledAlertIconSize, BufferedImage.TYPE_INT_ARGB);
         final Graphics g = image.getGraphics();
-        g.drawImage(background, 0, 0, (int)(kAlertIconSize * scaleFactor), (int)(kAlertIconSize * scaleFactor), null);
+        g.drawImage(background, 0, 0,
+                scaledAlertIconSize, scaledAlertIconSize, null);
         if (g instanceof Graphics2D) {
             // improves icon rendering quality in Quartz
-            ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+            ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_RENDERING,
+                    RenderingHints.VALUE_RENDER_QUALITY);
         }
 
-        smallAppIconScaled.paintIcon(null, g, kAlertSubIconInset, kAlertSubIconInset);
+        smallAppIconScaled.paintIcon(null, g,
+                kAlertSubIconInset, kAlertSubIconInset);
         g.dispose();
 
-        return new IconUIResource(new ImageIcon(image));
+        return image;
     }
 
     public static IconUIResource getTreeFolderIcon() {
@@ -207,7 +231,7 @@
 
         @Override
         protected Image getInstance() {
-            return Toolkit.getDefaultToolkit().getImage("NSImage://" + namedImage);
+            return getNSIcon(namedImage);
         }
     }
 
@@ -271,11 +295,27 @@
     }
 
     public static Icon getMenuItemCheckIcon() {
-        return new InvertableImageIcon(AquaUtils.generateLightenedImage(Toolkit.getDefaultToolkit().getImage("NSImage://NSMenuItemSelection"), 25));
+        return new InvertableImageIcon(AquaUtils.generateLightenedImage(
+                getNSIcon("NSMenuItemSelection"), 25));
     }
 
     public static Icon getMenuItemDashIcon() {
-        return new InvertableImageIcon(AquaUtils.generateLightenedImage(Toolkit.getDefaultToolkit().getImage("NSImage://NSMenuMixedState"), 25));
+        return new InvertableImageIcon(AquaUtils.generateLightenedImage(
+                getNSIcon("NSMenuMixedState"), 25));
+    }
+
+    private static Image getNSIcon(String imageName) {
+        Image icon = Toolkit.getDefaultToolkit()
+                .getImage("NSImage://" + imageName);
+
+        if (icon instanceof MultiResolutionImage) {
+            return icon;
+        }
+
+        Image icon2x = AquaUtils.getCImageCreator().createImageFromName(
+                imageName, 2 * icon.getWidth(null), 2 * icon.getHeight(null));
+        return new MultiResolutionBufferedImage(
+                BufferedImage.TYPE_INT_ARGB_PRE, 0, icon, icon2x);
     }
 
     public static class NineSliceMetrics {
@@ -484,4 +524,29 @@
     public static Color getSelectionInactiveForegroundColorUIResource() {
         return new SystemColorProxy(LWCToolkit.getAppleColor(LWCToolkit.INACTIVE_SELECTION_FOREGROUND_COLOR));
     }
+
+    static class MultiResolutionIconImage extends BufferedImage
+            implements MultiResolutionImage {
+
+        BufferedImage resolutionVariant;
+
+        public MultiResolutionIconImage(BufferedImage image, BufferedImage resolutionVariant) {
+            super(image.getWidth(), image.getHeight(), image.getType());
+            this.resolutionVariant = resolutionVariant;
+            Graphics g = getGraphics();
+            g.drawImage(image, 0, 0, null);
+            g.dispose();
+        }
+
+        @Override
+        public Image getResolutionVariant(int width, int height) {
+            return ((width <= getWidth() && height <= getHeight()))
+                    ? this : resolutionVariant;
+        }
+
+        @Override
+        public List<Image> getResolutionVariants() {
+            return Arrays.asList(this, resolutionVariant);
+        }
+    }
 }
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java b/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java
index a5f5501..6a52283 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java
@@ -48,6 +48,7 @@
 import sun.swing.SwingUtilities2;
 
 import com.apple.laf.AquaImageFactory.SlicedImageControl;
+import sun.awt.image.MultiResolutionBufferedImage;
 
 final class AquaUtils {
 
@@ -123,6 +124,13 @@
 
     static Image generateLightenedImage(final Image image, final int percent) {
         final GrayFilter filter = new GrayFilter(true, percent);
+        return (image instanceof MultiResolutionBufferedImage)
+                ? ((MultiResolutionBufferedImage) image).map(
+                        rv -> generateLightenedImage(rv, filter))
+                : generateLightenedImage(image, filter);
+    }
+
+    static Image generateLightenedImage(Image image, ImageFilter filter) {
         final ImageProducer prod = new FilteredImageSource(image.getSource(), filter);
         return Toolkit.getDefaultToolkit().createImage(prod);
     }
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
index 70a0874..8e0ded6 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
@@ -38,6 +38,8 @@
 
     Image fImage;
     Point fHotspot;
+    int fWidth;
+    int fHeight;
 
     public CCustomCursor(final Image cursor, final Point hotSpot, final String name) throws IndexOutOfBoundsException, HeadlessException {
         super(name);
@@ -50,6 +52,7 @@
         // Make sure image is fully loaded.
         final Component c = new Canvas(); // for its imageUpdate method
         final MediaTracker tracker = new MediaTracker(c);
+        // MediaTracker loads resolution variants from MultiResolution Toolkit image
         tracker.addImage(fImage, 0);
         try {
             tracker.waitForAll();
@@ -67,15 +70,15 @@
             width = height = 1;
             fImage = createTransparentImage(width, height);
         } else {
-            // Scale image to nearest supported size
+            // Get the nearest supported cursor size
             final Dimension nativeSize = toolkit.getBestCursorSize(width, height);
-            if (nativeSize.width != width || nativeSize.height != height) {
-                fImage = fImage.getScaledInstance(nativeSize.width, nativeSize.height, Image.SCALE_DEFAULT);
-                width = nativeSize.width;
-                height = nativeSize.height;
-            }
+            width = nativeSize.width;
+            height = nativeSize.height;
         }
 
+        fWidth = width;
+        fHeight = height;
+
         // NOTE: this was removed for 3169146, but in 1.5 the JCK tests for an exception and fails if one isn't thrown.
         // See what JBuilder does.
         // Verify that the hotspot is within cursor bounds.
@@ -138,6 +141,7 @@
                 // failed to do its job. Return null to keep the cursor unchanged.
                 return 0L;
             } else {
+                fCImage.resizeRepresentations(fWidth, fHeight);
                 return fCImage.ptr;
             }
         } catch (IllegalArgumentException iae) {
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
index a861133..5ea172b 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
@@ -31,6 +31,7 @@
 
 import java.util.Arrays;
 import java.util.List;
+import sun.awt.image.MultiResolutionImage;
 
 import sun.awt.image.SunWritableRaster;
 
@@ -44,6 +45,7 @@
     private static native void nativeCopyNSImageIntoArray(long image, int[] buffer, int w, int h);
     private static native Dimension2D nativeGetNSImageSize(long image);
     private static native void nativeSetNSImageSize(long image, double w, double h);
+    private static native void nativeResizeNSImageRepresentations(long image, double w, double h);
 
     static Creator creator = new Creator();
     static Creator getCreator() {
@@ -145,6 +147,12 @@
 
         // This is used to create a CImage from a Image
         public CImage createFromImage(final Image image) {
+            if (image instanceof MultiResolutionImage) {
+                List<Image> resolutionVariants
+                        = ((MultiResolutionImage) image).getResolutionVariants();
+                return createFromImages(resolutionVariants);
+            }
+
             int[] buffer = imageToArray(image, true);
             if (buffer == null) {
                 return null;
@@ -223,4 +231,8 @@
         if (ptr != 0) nativeSetNSImageSize(ptr, w, h);
         return this;
     }
+
+    void resizeRepresentations(double w, double h) {
+        if (ptr != 0) nativeResizeNSImageRepresentations(ptr, w, h);
+    }
 }
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java
index f0eebfc..50703d4 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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
@@ -583,7 +583,12 @@
                     // setVisible could have changed the native maximized state
                     deliverZoom(true);
                 } else {
-                    switch (((Frame)target).getExtendedState()) {
+                    int frameState = ((Frame)target).getExtendedState();
+                    if ((frameState & Frame.ICONIFIED) != 0) {
+                        // Treat all state bit masks with ICONIFIED bit as ICONIFIED state.
+                        frameState = Frame.ICONIFIED;
+                    }
+                    switch (frameState) {
                         case Frame.ICONIFIED:
                             CWrapper.NSWindow.miniaturize(nsWindowPtr);
                             break;
@@ -788,6 +793,10 @@
         if (prevWindowState == windowState) return;
 
         final long nsWindowPtr = getNSWindowPtr();
+        if ((windowState & Frame.ICONIFIED) != 0) {
+            // Treat all state bit masks with ICONIFIED bit as ICONIFIED state.
+            windowState = Frame.ICONIFIED;
+        }
         switch (windowState) {
             case Frame.ICONIFIED:
                 if (prevWindowState == Frame.MAXIMIZED_BOTH) {
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java b/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
index 959b038..a200f0c 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
@@ -35,14 +35,17 @@
 import java.awt.im.InputMethodHighlight;
 import java.awt.peer.*;
 import java.lang.reflect.*;
+import java.net.URL;
 import java.security.*;
 import java.util.*;
 import java.util.concurrent.Callable;
+import java.net.MalformedURLException;
 
 import sun.awt.*;
 import sun.lwawt.*;
 import sun.lwawt.LWWindowPeer.PeerType;
 import sun.security.action.GetBooleanAction;
+import sun.awt.image.MultiResolutionImage;
 
 import sun.util.CoreResourceBundleControl;
 
@@ -489,9 +492,30 @@
     @Override
     public Image getImage(final String filename) {
         final Image nsImage = checkForNSImage(filename);
-        if (nsImage != null) return nsImage;
+        if (nsImage != null) {
+            return nsImage;
+        }
 
-        return super.getImage(filename);
+        if (imageCached(filename)) {
+            return super.getImage(filename);
+        }
+
+        String fileneame2x = getScaledImageName(filename);
+        return (imageExists(fileneame2x))
+                ? getImageWithResolutionVariant(filename, fileneame2x)
+                : super.getImage(filename);
+    }
+
+    @Override
+    public Image getImage(URL url) {
+
+        if (imageCached(url)) {
+            return super.getImage(url);
+        }
+
+        URL url2x = getScaledImageURL(url);
+        return (imageExists(url2x))
+                ? getImageWithResolutionVariant(url, url2x) : super.getImage(url);
     }
 
     static final String nsImagePrefix = "NSImage://";
@@ -781,4 +805,36 @@
     public boolean enableInputMethodsForTextComponent() {
         return true;
     }
+
+    private static URL getScaledImageURL(URL url) {
+        try {
+            String scaledImagePath = getScaledImageName(url.getPath());
+            return scaledImagePath == null ? null : new URL(url.getProtocol(),
+                    url.getHost(), url.getPort(), scaledImagePath);
+        } catch (MalformedURLException e) {
+            return null;
+        }
+    }
+
+    private static String getScaledImageName(String path) {
+        if (!isValidPath(path)) {
+            return null;
+        }
+
+        int slash = path.lastIndexOf('/');
+        String name = (slash < 0) ? path : path.substring(slash + 1);
+
+        if (name.contains("@2x")) {
+            return null;
+        }
+
+        int dot = name.lastIndexOf('.');
+        String name2x = (dot < 0) ? name + "@2x"
+                : name.substring(0, dot) + "@2x" + name.substring(dot);
+        return (slash < 0) ? name2x : path.substring(0, slash + 1) + name2x;
+    }
+
+    private static boolean isValidPath(String path) {
+        return !path.isEmpty() && !path.endsWith("/") && !path.endsWith(".");
+    }
 }
diff --git a/jdk/src/macosx/native/sun/awt/CDataTransferer.m b/jdk/src/macosx/native/sun/awt/CDataTransferer.m
index 5e997bf..09a7e5c 100644
--- a/jdk/src/macosx/native/sun/awt/CDataTransferer.m
+++ b/jdk/src/macosx/native/sun/awt/CDataTransferer.m
@@ -28,6 +28,7 @@
 
 #import <AppKit/AppKit.h>
 #import <JavaNativeFoundation/JavaNativeFoundation.h>
+#import "jni_util.h"
 
 #include "ThreadUtilities.h"
 
@@ -172,7 +173,9 @@
         NSData *tiffImage = [imageRep TIFFRepresentation];
         jsize tiffSize = (jsize)[tiffImage length]; // #warning 64-bit: -length returns NSUInteger, but NewByteArray takes jsize
         returnValue = (*env)->NewByteArray(env, tiffSize);
+        CHECK_NULL_RETURN(returnValue, nil);
         jbyte *tiffData = (jbyte *)(*env)->GetPrimitiveArrayCritical(env, returnValue, 0);
+        CHECK_NULL_RETURN(tiffData, nil);
         [tiffImage getBytes:tiffData];
         (*env)->ReleasePrimitiveArrayCritical(env, returnValue, tiffData, 0); // Do not use JNI_COMMIT, as that will not free the buffer copy when +ProtectJavaHeap is on.
         [imageRep release];
@@ -184,12 +187,13 @@
 
 static jobject getImageForByteStream(JNIEnv *env, jbyteArray sourceData)
 {
-    if (sourceData == NULL) return NULL;
+    CHECK_NULL_RETURN(sourceData, NULL);
 
     jsize sourceSize = (*env)->GetArrayLength(env, sourceData);
     if (sourceSize == 0) return NULL;
 
     jbyte *sourceBytes = (*env)->GetPrimitiveArrayCritical(env, sourceData, NULL);
+    CHECK_NULL_RETURN(sourceBytes, NULL);
     NSData *rawData = [NSData dataWithBytes:sourceBytes length:sourceSize];
 
     NSImage *newImage = [[NSImage alloc] initWithData:rawData];
@@ -197,8 +201,7 @@
     [newImage release];
 
     (*env)->ReleasePrimitiveArrayCritical(env, sourceData, sourceBytes, JNI_ABORT);
-
-    if (newImage == nil) return NULL;
+    CHECK_NULL_RETURN(newImage, NULL);
 
     // The ownership of the NSImage is passed to the new CImage jobject. No need to release it.
     static JNF_CLASS_CACHE(jc_CImage, "sun/lwawt/macosx/CImage");
@@ -231,7 +234,8 @@
     if (filenameCount == 0) return nil;
 
     // Get the java.lang.String class object:
-    jclass stringClazz = (*env)->FindClass(env, "java/lang/String"); // can't be null
+    jclass stringClazz = (*env)->FindClass(env, "java/lang/String");
+    CHECK_NULL_RETURN(stringClazz, nil);
     jobject jfilenameArray = (*env)->NewObjectArray(env, filenameCount, stringClazz, NULL); // AWT_THREADING Safe (known object)
     if ((*env)->ExceptionOccurred(env)) {
         (*env)->ExceptionDescribe(env);
diff --git a/jdk/src/macosx/native/sun/awt/CImage.m b/jdk/src/macosx/native/sun/awt/CImage.m
index f92b272..de73198 100644
--- a/jdk/src/macosx/native/sun/awt/CImage.m
+++ b/jdk/src/macosx/native/sun/awt/CImage.m
@@ -320,3 +320,26 @@
 
 JNF_COCOA_EXIT(env);
 }
+
+/*
+ * Class:     sun_lwawt_macosx_CImage
+ * Method:    nativeResizeNSImageRepresentations
+ * Signature: (JDD)V
+ */
+JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CImage_nativeResizeNSImageRepresentations
+(JNIEnv *env, jclass clazz, jlong image, jdouble w, jdouble h)
+{
+    if (!image) return;
+    NSImage *i = (NSImage *)jlong_to_ptr(image);
+    
+JNF_COCOA_ENTER(env);
+    
+    NSImageRep *imageRep = nil;
+    NSArray *imageRepresentations = [i representations];
+    NSEnumerator *imageEnumerator = [imageRepresentations objectEnumerator];
+    while ((imageRep = [imageEnumerator nextObject]) != nil) {
+        [imageRep setSize:NSMakeSize(w, h)];
+    }
+    
+JNF_COCOA_EXIT(env);
+}
diff --git a/jdk/src/macosx/native/sun/awt/CRobot.m b/jdk/src/macosx/native/sun/awt/CRobot.m
index 3ec4f72..69a250c 100644
--- a/jdk/src/macosx/native/sun/awt/CRobot.m
+++ b/jdk/src/macosx/native/sun/awt/CRobot.m
@@ -187,9 +187,8 @@
     // volatile, otherwise it warns that it might be clobbered by 'longjmp'
     volatile CGPoint point;
 
-    // Translate the device relative point into a valid global CGPoint.
-    point.x = mouseLastX + globalDeviceBounds.origin.x;
-    point.y = mouseLastY + globalDeviceBounds.origin.y;
+    point.x = mouseLastX;
+    point.y = mouseLastY;
 
     __block CGMouseButton button = kCGMouseButtonLeft;
     __block CGEventType type = kCGEventMouseMoved;
diff --git a/jdk/src/macosx/native/sun/awt/LWCToolkit.m b/jdk/src/macosx/native/sun/awt/LWCToolkit.m
index 3300e2d..5e2dd6c 100644
--- a/jdk/src/macosx/native/sun/awt/LWCToolkit.m
+++ b/jdk/src/macosx/native/sun/awt/LWCToolkit.m
@@ -200,13 +200,17 @@
     gNumberOfButtons = sun_lwawt_macosx_LWCToolkit_BUTTONS;
 
     jclass inputEventClazz = (*env)->FindClass(env, "java/awt/event/InputEvent");
+    CHECK_NULL(inputEventClazz);
     jmethodID getButtonDownMasksID = (*env)->GetStaticMethodID(env, inputEventClazz, "getButtonDownMasks", "()[I");
+    CHECK_NULL(getButtonDownMasksID);
     jintArray obj = (jintArray)(*env)->CallStaticObjectMethod(env, inputEventClazz, getButtonDownMasksID);
     jint * tmp = (*env)->GetIntArrayElements(env, obj, JNI_FALSE);
+    CHECK_NULL(tmp);
 
     gButtonDownMasks = (jint*)SAFE_SIZE_ARRAY_ALLOC(malloc, sizeof(jint), gNumberOfButtons);
     if (gButtonDownMasks == NULL) {
         gNumberOfButtons = 0;
+        (*env)->ReleaseIntArrayElements(env, obj, tmp, JNI_ABORT);
         JNU_ThrowOutOfMemoryError(env, NULL);
         return;
     }
@@ -240,7 +244,7 @@
     return ((ia & 0xFF) << 24) | ((ir & 0xFF) << 16) | ((ig & 0xFF) << 8) | ((ib & 0xFF) << 0);
 }
 
-void doLoadNativeColors(JNIEnv *env, jintArray jColors, BOOL useAppleColors) {
+BOOL doLoadNativeColors(JNIEnv *env, jintArray jColors, BOOL useAppleColors) {
     jint len = (*env)->GetArrayLength(env, jColors);
 
     UInt32 colorsArray[len];
@@ -254,8 +258,12 @@
     }];
 
     jint *_colors = (*env)->GetPrimitiveArrayCritical(env, jColors, 0);
+    if (_colors == NULL) {
+        return NO;
+    }
     memcpy(_colors, colors, len * sizeof(UInt32));
     (*env)->ReleasePrimitiveArrayCritical(env, jColors, _colors, 0);
+    return YES;
 }
 
 /**
@@ -267,8 +275,9 @@
 (JNIEnv *env, jobject peer, jintArray jSystemColors, jintArray jAppleColors)
 {
 JNF_COCOA_ENTER(env);
-    doLoadNativeColors(env, jSystemColors, NO);
-    doLoadNativeColors(env, jAppleColors, YES);
+    if (doLoadNativeColors(env, jSystemColors, NO)) {
+        doLoadNativeColors(env, jAppleColors, YES);
+    }
 JNF_COCOA_EXIT(env);
 }
 
diff --git a/jdk/src/share/classes/java/awt/EventQueue.java b/jdk/src/share/classes/java/awt/EventQueue.java
index efe0421..9e2c55a 100644
--- a/jdk/src/share/classes/java/awt/EventQueue.java
+++ b/jdk/src/share/classes/java/awt/EventQueue.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2014, 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
@@ -1093,6 +1093,13 @@
                 dispatchThread = null;
             }
             AWTAutoShutdown.getInstance().notifyThreadFree(edt);
+            /*
+             * Event was posted after EDT events pumping had stopped, so start
+             * another EDT to handle this event
+             */
+            if (peekEvent() != null) {
+                initDispatchThread();
+            }
         } finally {
             pushPopLock.unlock();
         }
diff --git a/jdk/src/share/classes/java/awt/MediaTracker.java b/jdk/src/share/classes/java/awt/MediaTracker.java
index f1cbf46..91e074a 100644
--- a/jdk/src/share/classes/java/awt/MediaTracker.java
+++ b/jdk/src/share/classes/java/awt/MediaTracker.java
@@ -28,6 +28,7 @@
 import java.awt.Component;
 import java.awt.Image;
 import java.awt.image.ImageObserver;
+import sun.awt.image.MultiResolutionToolkitImage;
 
 /**
  * The <code>MediaTracker</code> class is a utility class to track
@@ -222,10 +223,17 @@
      * @param     h    the height at which the image is rendered
      */
     public synchronized void addImage(Image image, int id, int w, int h) {
+        addImageImpl(image, id, w, h);
+        Image rvImage = getResolutionVariant(image);
+        if (rvImage != null) {
+            addImageImpl(rvImage, id, 2 * w, 2 * h);
+        }
+    }
+
+    private void addImageImpl(Image image, int id, int w, int h) {
         head = MediaEntry.insert(head,
                                  new ImageMediaEntry(this, image, id, w, h));
     }
-
     /**
      * Flag indicating that media is currently being loaded.
      * @see         java.awt.MediaTracker#statusAll
@@ -719,6 +727,15 @@
      * @since   JDK1.1
      */
     public synchronized void removeImage(Image image) {
+        removeImageImpl(image);
+        Image rvImage = getResolutionVariant(image);
+        if (rvImage != null) {
+            removeImageImpl(rvImage);
+        }
+        notifyAll();    // Notify in case remaining images are "done".
+    }
+
+    private void removeImageImpl(Image image) {
         MediaEntry cur = head;
         MediaEntry prev = null;
         while (cur != null) {
@@ -735,7 +752,6 @@
             }
             cur = next;
         }
-        notifyAll();    // Notify in case remaining images are "done".
     }
 
     /**
@@ -750,6 +766,15 @@
      * @since      JDK1.1
      */
     public synchronized void removeImage(Image image, int id) {
+        removeImageImpl(image, id);
+        Image rvImage = getResolutionVariant(image);
+        if (rvImage != null) {
+            removeImageImpl(rvImage, id);
+        }
+        notifyAll();    // Notify in case remaining images are "done".
+    }
+
+    private void removeImageImpl(Image image, int id) {
         MediaEntry cur = head;
         MediaEntry prev = null;
         while (cur != null) {
@@ -766,7 +791,6 @@
             }
             cur = next;
         }
-        notifyAll();    // Notify in case remaining images are "done".
     }
 
     /**
@@ -783,6 +807,16 @@
      */
     public synchronized void removeImage(Image image, int id,
                                          int width, int height) {
+        removeImageImpl(image, id, width, height);
+        Image rvImage = getResolutionVariant(image);
+        if (rvImage != null) {
+            removeImageImpl(rvImage, id, 2 * width, 2 * height);
+
+        }
+        notifyAll();    // Notify in case remaining images are "done".
+    }
+
+    private void removeImageImpl(Image image, int id, int width, int height) {
         MediaEntry cur = head;
         MediaEntry prev = null;
         while (cur != null) {
@@ -801,12 +835,18 @@
             }
             cur = next;
         }
-        notifyAll();    // Notify in case remaining images are "done".
     }
 
     synchronized void setDone() {
         notifyAll();
     }
+
+    private static Image getResolutionVariant(Image image) {
+        if (image instanceof MultiResolutionToolkitImage) {
+            return ((MultiResolutionToolkitImage) image).getResolutionVariant();
+        }
+        return null;
+    }
 }
 
 abstract class MediaEntry {
diff --git a/jdk/src/share/classes/java/awt/Robot.java b/jdk/src/share/classes/java/awt/Robot.java
index 019d2bc..b431e45 100644
--- a/jdk/src/share/classes/java/awt/Robot.java
+++ b/jdk/src/share/classes/java/awt/Robot.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -72,9 +72,6 @@
     private int autoDelay = 0;
     private static int LEGAL_BUTTON_MASK = 0;
 
-    // location of robot's GC, used in mouseMove(), getPixelColor() and captureScreenImage()
-    private Point gdLoc;
-
     private DirectColorModel screenCapCM = null;
 
     /**
@@ -132,7 +129,6 @@
 
     private void init(GraphicsDevice screen) throws AWTException {
         checkRobotAllowed();
-        gdLoc = screen.getDefaultConfiguration().getBounds().getLocation();
         Toolkit toolkit = Toolkit.getDefaultToolkit();
         if (toolkit instanceof ComponentFactory) {
             peer = ((ComponentFactory)toolkit).createRobot(this, screen);
@@ -200,7 +196,7 @@
      * @param y         Y position
      */
     public synchronized void mouseMove(int x, int y) {
-        peer.mouseMove(gdLoc.x + x, gdLoc.y + y);
+        peer.mouseMove(x, y);
         afterEvent();
     }
 
@@ -395,7 +391,7 @@
      * @return  Color of the pixel
      */
     public synchronized Color getPixelColor(int x, int y) {
-        Color color = new Color(peer.getRGBPixel(gdLoc.x + x, gdLoc.y + y));
+        Color color = new Color(peer.getRGBPixel(x, y));
         return color;
     }
 
@@ -412,10 +408,7 @@
     public synchronized BufferedImage createScreenCapture(Rectangle screenRect) {
         checkScreenCaptureAllowed();
 
-        // according to the spec, screenRect is relative to robot's GD
-        Rectangle translatedRect = new Rectangle(screenRect);
-        translatedRect.translate(gdLoc.x, gdLoc.y);
-        checkValidRect(translatedRect);
+        checkValidRect(screenRect);
 
         BufferedImage image;
         DataBufferInt buffer;
@@ -441,14 +434,14 @@
         int pixels[];
         int[] bandmasks = new int[3];
 
-        pixels = peer.getRGBPixels(translatedRect);
+        pixels = peer.getRGBPixels(screenRect);
         buffer = new DataBufferInt(pixels, pixels.length);
 
         bandmasks[0] = screenCapCM.getRedMask();
         bandmasks[1] = screenCapCM.getGreenMask();
         bandmasks[2] = screenCapCM.getBlueMask();
 
-        raster = Raster.createPackedRaster(buffer, translatedRect.width, translatedRect.height, translatedRect.width, bandmasks, null);
+        raster = Raster.createPackedRaster(buffer, screenRect.width, screenRect.height, screenRect.width, bandmasks, null);
         SunWritableRaster.makeTrackable(buffer);
 
         image = new BufferedImage(screenCapCM, raster, false, null);
diff --git a/jdk/src/share/classes/java/io/FileInputStream.java b/jdk/src/share/classes/java/io/FileInputStream.java
index 3e67fb8..cc6710e 100644
--- a/jdk/src/share/classes/java/io/FileInputStream.java
+++ b/jdk/src/share/classes/java/io/FileInputStream.java
@@ -51,6 +51,12 @@
     /* File Descriptor - handle to the open file */
     private final FileDescriptor fd;
 
+    /**
+     * The path of the referenced file
+     * (null if the stream is created with a file descriptor)
+     */
+    private final String path;
+
     private FileChannel channel = null;
 
     private final Object closeLock = new Object();
@@ -128,6 +134,7 @@
         }
         fd = new FileDescriptor();
         fd.attach(this);
+        path = name;
         open(name);
     }
 
@@ -164,6 +171,7 @@
             security.checkRead(fdObj);
         }
         fd = fdObj;
+        path = null;
 
         /*
          * FileDescriptor is being shared by streams.
@@ -186,7 +194,11 @@
      *             file is reached.
      * @exception  IOException  if an I/O error occurs.
      */
-    public native int read() throws IOException;
+    public int read() throws IOException {
+        return read0();
+    }
+
+    private native int read0() throws IOException;
 
     /**
      * Reads a subarray as a sequence of bytes.
@@ -345,7 +357,7 @@
     public FileChannel getChannel() {
         synchronized (this) {
             if (channel == null) {
-                channel = FileChannelImpl.open(fd, true, false, this);
+                channel = FileChannelImpl.open(fd, path, true, false, this);
             }
             return channel;
         }
diff --git a/jdk/src/share/classes/java/io/FileOutputStream.java b/jdk/src/share/classes/java/io/FileOutputStream.java
index 44f4728..8377261 100644
--- a/jdk/src/share/classes/java/io/FileOutputStream.java
+++ b/jdk/src/share/classes/java/io/FileOutputStream.java
@@ -67,6 +67,12 @@
      */
     private FileChannel channel;
 
+    /**
+     * The path of the referenced file
+     * (null if the stream is created with a file descriptor)
+     */
+    private final String path;
+
     private final Object closeLock = new Object();
     private volatile boolean closed = false;
 
@@ -202,6 +208,7 @@
         this.fd = new FileDescriptor();
         fd.attach(this);
         this.append = append;
+        this.path = name;
 
         open(name, append);
     }
@@ -239,6 +246,7 @@
         }
         this.fd = fdObj;
         this.append = false;
+        this.path = null;
 
         fd.attach(this);
     }
@@ -376,7 +384,7 @@
     public FileChannel getChannel() {
         synchronized (this) {
             if (channel == null) {
-                channel = FileChannelImpl.open(fd, false, true, append, this);
+                channel = FileChannelImpl.open(fd, path, false, true, append, this);
             }
             return channel;
         }
diff --git a/jdk/src/share/classes/java/io/RandomAccessFile.java b/jdk/src/share/classes/java/io/RandomAccessFile.java
index c48aa99..58d8c89 100644
--- a/jdk/src/share/classes/java/io/RandomAccessFile.java
+++ b/jdk/src/share/classes/java/io/RandomAccessFile.java
@@ -62,6 +62,12 @@
     private FileChannel channel = null;
     private boolean rw;
 
+    /**
+     * The path of the referenced file
+     * (null if the stream is created with a file descriptor)
+     */
+    private final String path;
+
     private Object closeLock = new Object();
     private volatile boolean closed = false;
 
@@ -233,6 +239,7 @@
         }
         fd = new FileDescriptor();
         fd.attach(this);
+        path = name;
         open(name, imode);
     }
 
@@ -272,7 +279,7 @@
     public final FileChannel getChannel() {
         synchronized (this) {
             if (channel == null) {
-                channel = FileChannelImpl.open(fd, true, rw, this);
+                channel = FileChannelImpl.open(fd, path, true, rw, this);
             }
             return channel;
         }
@@ -309,7 +316,11 @@
      * @exception  IOException  if an I/O error occurs. Not thrown if
      *                          end-of-file has been reached.
      */
-    public native int read() throws IOException;
+    public int read() throws IOException {
+        return read0();
+    }
+
+    private native int read0() throws IOException;
 
     /**
      * Reads a sub array as a sequence of bytes.
@@ -457,7 +468,11 @@
      * @param      b   the {@code byte} to be written.
      * @exception  IOException  if an I/O error occurs.
      */
-    public native void write(int b) throws IOException;
+    public void write(int b) throws IOException {
+        write0(b);
+    }
+
+    private native void write0(int b) throws IOException;
 
     /**
      * Writes a sub array as a sequence of bytes.
diff --git a/jdk/src/share/classes/java/math/BigInteger.java b/jdk/src/share/classes/java/math/BigInteger.java
index 79291ee..6fa5d42 100644
--- a/jdk/src/share/classes/java/math/BigInteger.java
+++ b/jdk/src/share/classes/java/math/BigInteger.java
@@ -268,7 +268,15 @@
      */
     private static final int SCHOENHAGE_BASE_CONVERSION_THRESHOLD = 20;
 
-    //Constructors
+    /**
+     * The threshold value for using squaring code to perform multiplication
+     * of a {@code BigInteger} instance by itself.  If the number of ints in
+     * the number are larger than this value, {@code multiply(this)} will
+     * return {@code square()}.
+     */
+    private static final int MULTIPLY_SQUARE_THRESHOLD = 20;
+
+    // Constructors
 
     /**
      * Translates a byte array containing the two's-complement binary
@@ -1458,6 +1466,9 @@
     /**
      * Returns a BigInteger whose value is {@code (this * val)}.
      *
+     * @implNote An implementation may offer better algorithmic
+     * performance when {@code val == this}.
+     *
      * @param  val value to be multiplied by this BigInteger.
      * @return {@code this * val}
      */
@@ -1466,6 +1477,11 @@
             return ZERO;
 
         int xlen = mag.length;
+
+        if (val == this && xlen > MULTIPLY_SQUARE_THRESHOLD) {
+            return square();
+        }
+
         int ylen = val.mag.length;
 
         if ((xlen < KARATSUBA_THRESHOLD) || (ylen < KARATSUBA_THRESHOLD)) {
diff --git a/jdk/src/share/classes/java/net/SocketPermission.java b/jdk/src/share/classes/java/net/SocketPermission.java
index 70b004a..ca2c62b 100644
--- a/jdk/src/share/classes/java/net/SocketPermission.java
+++ b/jdk/src/share/classes/java/net/SocketPermission.java
@@ -235,13 +235,11 @@
     private static Debug debug = null;
     private static boolean debugInit = false;
 
-    // ephemeral port range for this system
-    private static final int ephemeralLow = initEphemeralPorts(
-        "low", DEF_EPH_LOW
-    );
-    private static final int ephemeralHigh = initEphemeralPorts(
-        "high", PORT_MAX
-    );
+    // lazy initializer
+    private static class EphemeralRange {
+        static final int low = initEphemeralPorts("low", DEF_EPH_LOW);
+        static final int high = initEphemeralPorts("high", PORT_MAX);
+    };
 
     static {
         Boolean tmp = java.security.AccessController.doPrivileged(
@@ -1235,6 +1233,9 @@
         int policyLow, int policyHigh, int targetLow, int targetHigh
     )
     {
+        final int ephemeralLow = EphemeralRange.low;
+        final int ephemeralHigh = EphemeralRange.high;
+
         if (targetLow == 0) {
             // check policy includes ephemeral range
             if (!inRange(policyLow, policyHigh, ephemeralLow, ephemeralHigh)) {
diff --git a/jdk/src/share/classes/java/util/Arrays.java b/jdk/src/share/classes/java/util/Arrays.java
index c620c81..914879c 100644
--- a/jdk/src/share/classes/java/util/Arrays.java
+++ b/jdk/src/share/classes/java/util/Arrays.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -1427,12 +1427,14 @@
      *         found to violate the {@link Comparator} contract
      */
     public static <T> void sort(T[] a, Comparator<? super T> c) {
-        if (c == null)
-            c = NaturalOrder.INSTANCE;
-        if (LegacyMergeSort.userRequested)
-            legacyMergeSort(a, c);
-        else
-            TimSort.sort(a, 0, a.length, c, null, 0, 0);
+        if (c == null) {
+            sort(a);
+        } else {
+            if (LegacyMergeSort.userRequested)
+                legacyMergeSort(a, c);
+            else
+                TimSort.sort(a, 0, a.length, c, null, 0, 0);
+        }
     }
 
     /** To be removed in a future release. */
@@ -1498,13 +1500,15 @@
      */
     public static <T> void sort(T[] a, int fromIndex, int toIndex,
                                 Comparator<? super T> c) {
-        if (c == null)
-            c = NaturalOrder.INSTANCE;
-        rangeCheck(a.length, fromIndex, toIndex);
-        if (LegacyMergeSort.userRequested)
-            legacyMergeSort(a, fromIndex, toIndex, c);
-        else
-            TimSort.sort(a, fromIndex, toIndex, c, null, 0, 0);
+        if (c == null) {
+            sort(a, fromIndex, toIndex);
+        } else {
+            rangeCheck(a.length, fromIndex, toIndex);
+            if (LegacyMergeSort.userRequested)
+                legacyMergeSort(a, fromIndex, toIndex, c);
+            else
+                TimSort.sort(a, fromIndex, toIndex, c, null, 0, 0);
+        }
     }
 
     /** To be removed in a future release. */
diff --git a/jdk/src/share/classes/java/util/Collections.java b/jdk/src/share/classes/java/util/Collections.java
index 527518e..580f461 100644
--- a/jdk/src/share/classes/java/util/Collections.java
+++ b/jdk/src/share/classes/java/util/Collections.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -121,34 +121,9 @@
      *
      * <p>The specified list must be modifiable, but need not be resizable.
      *
-     * <p>Implementation note: This implementation is a stable, adaptive,
-     * iterative mergesort that requires far fewer than n lg(n) comparisons
-     * when the input array is partially sorted, while offering the
-     * performance of a traditional mergesort when the input array is
-     * randomly ordered.  If the input array is nearly sorted, the
-     * implementation requires approximately n comparisons.  Temporary
-     * storage requirements vary from a small constant for nearly sorted
-     * input arrays to n/2 object references for randomly ordered input
-     * arrays.
-     *
-     * <p>The implementation takes equal advantage of ascending and
-     * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the same
-     * input array.  It is well-suited to merging two or more sorted arrays:
-     * simply concatenate the arrays and sort the resulting array.
-     *
-     * <p>The implementation was adapted from Tim Peters's list sort for Python
-     * (<a href="http://svn.python.org/projects/python/trunk/Objects/listsort.txt">
-     * TimSort</a>).  It uses techniques from Peter McIlroy's "Optimistic
-     * Sorting and Information Theoretic Complexity", in Proceedings of the
-     * Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474,
-     * January 1993.
-     *
-     * <p>This implementation dumps the specified list into an array, sorts
-     * the array, and iterates over the list resetting each element
-     * from the corresponding position in the array.  This avoids the
-     * n<sup>2</sup> log(n) performance that would result from attempting
-     * to sort a linked list in place.
+     * @implNote
+     * This implementation defers to the {@link List#sort(Comparator)}
+     * method using the specified list and a {@code null} comparator.
      *
      * @param  <T> the class of the objects in the list
      * @param  list the list to be sorted.
@@ -159,16 +134,11 @@
      * @throws IllegalArgumentException (optional) if the implementation
      *         detects that the natural ordering of the list elements is
      *         found to violate the {@link Comparable} contract
+     * @see List#sort(Comparator)
      */
     @SuppressWarnings("unchecked")
     public static <T extends Comparable<? super T>> void sort(List<T> list) {
-        Object[] a = list.toArray();
-        Arrays.sort(a);
-        ListIterator<T> i = list.listIterator();
-        for (int j=0; j<a.length; j++) {
-            i.next();
-            i.set((T)a[j]);
-        }
+        list.sort(null);
     }
 
     /**
@@ -183,34 +153,9 @@
      *
      * <p>The specified list must be modifiable, but need not be resizable.
      *
-     * <p>Implementation note: This implementation is a stable, adaptive,
-     * iterative mergesort that requires far fewer than n lg(n) comparisons
-     * when the input array is partially sorted, while offering the
-     * performance of a traditional mergesort when the input array is
-     * randomly ordered.  If the input array is nearly sorted, the
-     * implementation requires approximately n comparisons.  Temporary
-     * storage requirements vary from a small constant for nearly sorted
-     * input arrays to n/2 object references for randomly ordered input
-     * arrays.
-     *
-     * <p>The implementation takes equal advantage of ascending and
-     * descending order in its input array, and can take advantage of
-     * ascending and descending order in different parts of the same
-     * input array.  It is well-suited to merging two or more sorted arrays:
-     * simply concatenate the arrays and sort the resulting array.
-     *
-     * <p>The implementation was adapted from Tim Peters's list sort for Python
-     * (<a href="http://svn.python.org/projects/python/trunk/Objects/listsort.txt">
-     * TimSort</a>).  It uses techniques from Peter McIlroy's "Optimistic
-     * Sorting and Information Theoretic Complexity", in Proceedings of the
-     * Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474,
-     * January 1993.
-     *
-     * <p>This implementation dumps the specified list into an array, sorts
-     * the array, and iterates over the list resetting each element
-     * from the corresponding position in the array.  This avoids the
-     * n<sup>2</sup> log(n) performance that would result from attempting
-     * to sort a linked list in place.
+     * @implNote
+     * This implementation defers to the {@link List#sort(Comparator)}
+     * method using the specified list and comparator.
      *
      * @param  <T> the class of the objects in the list
      * @param  list the list to be sorted.
@@ -223,16 +168,11 @@
      *         list-iterator does not support the {@code set} operation.
      * @throws IllegalArgumentException (optional) if the comparator is
      *         found to violate the {@link Comparator} contract
+     * @see List#sort(Comparator)
      */
     @SuppressWarnings({"unchecked", "rawtypes"})
     public static <T> void sort(List<T> list, Comparator<? super T> c) {
-        Object[] a = list.toArray();
-        Arrays.sort(a, (Comparator)c);
-        ListIterator<T> i = list.listIterator();
-        for (int j=0; j<a.length; j++) {
-            i.next();
-            i.set((T)a[j]);
-        }
+        list.sort(c);
     }
 
 
@@ -4464,10 +4404,12 @@
      * <pre>
      *     List&lt;String&gt; s = Collections.emptyList();
      * </pre>
-     * Implementation note:  Implementations of this method need not
-     * create a separate <tt>List</tt> object for each call.   Using this
-     * method is likely to have comparable cost to using the like-named
-     * field.  (Unlike this method, the field does not provide type safety.)
+     *
+     * @implNote
+     * Implementations of this method need not create a separate <tt>List</tt>
+     * object for each call.   Using this method is likely to have comparable
+     * cost to using the like-named field.  (Unlike this method, the field does
+     * not provide type safety.)
      *
      * @param <T> type of elements, if there were any, in the list
      * @return an empty immutable list
diff --git a/jdk/src/share/classes/java/util/List.java b/jdk/src/share/classes/java/util/List.java
index 5cbd044..80fe4be 100644
--- a/jdk/src/share/classes/java/util/List.java
+++ b/jdk/src/share/classes/java/util/List.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -415,11 +415,49 @@
     }
 
     /**
-     * Sorts this list using the supplied {@code Comparator} to compare elements.
+     * Sorts this list according to the order induced by the specified
+     * {@link Comparator}.
+     *
+     * <p>All elements in this list must be <i>mutually comparable</i> using the
+     * specified comparator (that is, {@code c.compare(e1, e2)} must not throw
+     * a {@code ClassCastException} for any elements {@code e1} and {@code e2}
+     * in the list).
+     *
+     * <p>If the specified comparator is {@code null} then all elements in this
+     * list must implement the {@link Comparable} interface and the elements'
+     * {@linkplain Comparable natural ordering} should be used.
+     *
+     * <p>This list must be modifiable, but need not be resizable.
      *
      * @implSpec
-     * The default implementation is equivalent to, for this {@code list}:
-     * <pre>Collections.sort(list, c)</pre>
+     * The default implementation obtains an array containing all elements in
+     * this list, sorts the array, and iterates over this list resetting each
+     * element from the corresponding position in the array. (This avoids the
+     * n<sup>2</sup> log(n) performance that would result from attempting
+     * to sort a linked list in place.)
+     *
+     * @implNote
+     * This implementation is a stable, adaptive, iterative mergesort that
+     * requires far fewer than n lg(n) comparisons when the input array is
+     * partially sorted, while offering the performance of a traditional
+     * mergesort when the input array is randomly ordered.  If the input array
+     * is nearly sorted, the implementation requires approximately n
+     * comparisons.  Temporary storage requirements vary from a small constant
+     * for nearly sorted input arrays to n/2 object references for randomly
+     * ordered input arrays.
+     *
+     * <p>The implementation takes equal advantage of ascending and
+     * descending order in its input array, and can take advantage of
+     * ascending and descending order in different parts of the same
+     * input array.  It is well-suited to merging two or more sorted arrays:
+     * simply concatenate the arrays and sort the resulting array.
+     *
+     * <p>The implementation was adapted from Tim Peters's list sort for Python
+     * (<a href="http://svn.python.org/projects/python/trunk/Objects/listsort.txt">
+     * TimSort</a>).  It uses techniques from Peter McIlroy's "Optimistic
+     * Sorting and Information Theoretic Complexity", in Proceedings of the
+     * Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474,
+     * January 1993.
      *
      * @param c the {@code Comparator} used to compare list elements.
      *          A {@code null} value indicates that the elements'
@@ -434,8 +472,15 @@
      *         contract
      * @since 1.8
      */
+    @SuppressWarnings({"unchecked", "rawtypes"})
     default void sort(Comparator<? super E> c) {
-        Collections.sort(this, c);
+        Object[] a = this.toArray();
+        Arrays.sort(a, (Comparator) c);
+        ListIterator<E> i = this.listIterator();
+        for (Object e : a) {
+            i.next();
+            i.set((E) e);
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/javax/swing/MenuSelectionManager.java b/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
index 1f6ac77..3f83acb 100644
--- a/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
+++ b/jdk/src/share/classes/javax/swing/MenuSelectionManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -30,6 +30,7 @@
 import javax.swing.event.*;
 
 import sun.awt.AppContext;
+import sun.swing.SwingUtilities2;
 
 /**
  * A MenuSelectionManager owns the selection in menu hierarchy.
@@ -60,6 +61,12 @@
             if (msm == null) {
                 msm = new MenuSelectionManager();
                 context.put(MENU_SELECTION_MANAGER_KEY, msm);
+
+                // installing additional listener if found in the AppContext
+                Object o = context.get(SwingUtilities2.MENU_SELECTION_MANAGER_LISTENER_KEY);
+                if (o != null && o instanceof ChangeListener) {
+                    msm.addChangeListener((ChangeListener) o);
+                }
             }
 
             return msm;
diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java b/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java
index 3843437..7912446 100644
--- a/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/Parser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -2089,6 +2089,13 @@
                         // null end tag.
                         endTag(false);
                         continue;
+                    } else if (textpos == 0) {
+                        if (!legalElementContext(dtd.pcdata)) {
+                            error("unexpected.pcdata");
+                        }
+                        if (last.breaksFlow()) {
+                            space = false;
+                        }
                     }
                     break;
 
diff --git a/jdk/src/share/classes/sun/awt/FontConfiguration.java b/jdk/src/share/classes/sun/awt/FontConfiguration.java
index ff1e758..93e38e0 100644
--- a/jdk/src/share/classes/sun/awt/FontConfiguration.java
+++ b/jdk/src/share/classes/sun/awt/FontConfiguration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2014, 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
@@ -867,7 +867,7 @@
         return descriptors;
     }
 
-    private FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
+    protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
         String fontName = fontNames[fontIndex];
         String styleName = styleNames[styleIndex];
 
diff --git a/jdk/src/share/classes/sun/awt/SunHints.java b/jdk/src/share/classes/sun/awt/SunHints.java
index 3e0dff5..15c7e54 100644
--- a/jdk/src/share/classes/sun/awt/SunHints.java
+++ b/jdk/src/share/classes/sun/awt/SunHints.java
@@ -172,7 +172,7 @@
         }
     }
 
-    private static final int NUM_KEYS = 9;
+    private static final int NUM_KEYS = 10;
     private static final int VALS_PER_KEY = 8;
 
     /**
@@ -253,6 +253,13 @@
     @Native public static final int INTVAL_STROKE_PURE = 2;
 
     /**
+     * Image scaling hint key and values
+     */
+    @Native public static final int INTKEY_RESOLUTION_VARIANT = 9;
+    @Native public static final int INTVAL_RESOLUTION_VARIANT_DEFAULT = 0;
+    @Native public static final int INTVAL_RESOLUTION_VARIANT_OFF = 1;
+    @Native public static final int INTVAL_RESOLUTION_VARIANT_ON = 2;
+    /**
      * LCD text contrast control hint key.
      * Value is "100" to make discontiguous with the others which
      * are all enumerative and are of a different class.
@@ -450,6 +457,24 @@
                            SunHints.INTVAL_STROKE_PURE,
                            "Pure stroke conversion for accurate paths");
 
+    /**
+     * Image resolution variant hint key and value objects
+     */
+    public static final Key KEY_RESOLUTION_VARIANT =
+        new SunHints.Key(SunHints.INTKEY_RESOLUTION_VARIANT,
+                         "Global image resolution variant key");
+    public static final Object VALUE_RESOLUTION_VARIANT_DEFAULT =
+        new SunHints.Value(KEY_RESOLUTION_VARIANT,
+                           SunHints.INTVAL_RESOLUTION_VARIANT_DEFAULT,
+                           "Choose image resolutions based on a default heuristic");
+    public static final Object VALUE_RESOLUTION_VARIANT_OFF =
+        new SunHints.Value(KEY_RESOLUTION_VARIANT,
+                           SunHints.INTVAL_RESOLUTION_VARIANT_OFF,
+                           "Use only the standard resolution of an image");
+    public static final Object VALUE_RESOLUTION_VARIANT_ON =
+        new SunHints.Value(KEY_RESOLUTION_VARIANT,
+                           SunHints.INTVAL_RESOLUTION_VARIANT_ON,
+                           "Always use resolution-specific variants of images");
 
     public static class LCDContrastKey extends Key {
 
diff --git a/jdk/src/share/classes/sun/awt/SunToolkit.java b/jdk/src/share/classes/sun/awt/SunToolkit.java
index 7c5dca7..e290e1a 100644
--- a/jdk/src/share/classes/sun/awt/SunToolkit.java
+++ b/jdk/src/share/classes/sun/awt/SunToolkit.java
@@ -36,6 +36,9 @@
 import java.awt.TrayIcon;
 import java.awt.SystemTray;
 import java.awt.event.InputEvent;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.URL;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -715,33 +718,7 @@
     static final SoftCache imgCache = new SoftCache();
 
     static Image getImageFromHash(Toolkit tk, URL url) {
-        SecurityManager sm = System.getSecurityManager();
-        if (sm != null) {
-            try {
-                java.security.Permission perm =
-                    url.openConnection().getPermission();
-                if (perm != null) {
-                    try {
-                        sm.checkPermission(perm);
-                    } catch (SecurityException se) {
-                        // fallback to checkRead/checkConnect for pre 1.2
-                        // security managers
-                        if ((perm instanceof java.io.FilePermission) &&
-                            perm.getActions().indexOf("read") != -1) {
-                            sm.checkRead(perm.getName());
-                        } else if ((perm instanceof
-                            java.net.SocketPermission) &&
-                            perm.getActions().indexOf("connect") != -1) {
-                            sm.checkConnect(url.getHost(), url.getPort());
-                        } else {
-                            throw se;
-                        }
-                    }
-                }
-            } catch (java.io.IOException ioe) {
-                    sm.checkConnect(url.getHost(), url.getPort());
-            }
-        }
+        checkPermissions(url);
         synchronized (imgCache) {
             Image img = (Image)imgCache.get(url);
             if (img == null) {
@@ -757,10 +734,7 @@
 
     static Image getImageFromHash(Toolkit tk,
                                                String filename) {
-        SecurityManager security = System.getSecurityManager();
-        if (security != null) {
-            security.checkRead(filename);
-        }
+        checkPermissions(filename);
         synchronized (imgCache) {
             Image img = (Image)imgCache.get(filename);
             if (img == null) {
@@ -782,15 +756,156 @@
         return getImageFromHash(this, url);
     }
 
-    public Image createImage(String filename) {
-        SecurityManager security = System.getSecurityManager();
-        if (security != null) {
-            security.checkRead(filename);
+    protected Image getImageWithResolutionVariant(String fileName,
+            String resolutionVariantName) {
+        synchronized (imgCache) {
+            Image image = getImageFromHash(this, fileName);
+            if (image instanceof MultiResolutionImage) {
+                return image;
+            }
+            Image resolutionVariant = getImageFromHash(this, resolutionVariantName);
+            image = createImageWithResolutionVariant(image, resolutionVariant);
+            imgCache.put(fileName, image);
+            return image;
         }
+    }
+
+    protected Image getImageWithResolutionVariant(URL url,
+            URL resolutionVariantURL) {
+        synchronized (imgCache) {
+            Image image = getImageFromHash(this, url);
+            if (image instanceof MultiResolutionImage) {
+                return image;
+            }
+            Image resolutionVariant = getImageFromHash(this, resolutionVariantURL);
+            image = createImageWithResolutionVariant(image, resolutionVariant);
+            imgCache.put(url, image);
+            return image;
+        }
+    }
+
+
+    public Image createImage(String filename) {
+        checkPermissions(filename);
         return createImage(new FileImageSource(filename));
     }
 
     public Image createImage(URL url) {
+        checkPermissions(url);
+        return createImage(new URLImageSource(url));
+    }
+
+    public Image createImage(byte[] data, int offset, int length) {
+        return createImage(new ByteArrayImageSource(data, offset, length));
+    }
+
+    public Image createImage(ImageProducer producer) {
+        return new ToolkitImage(producer);
+    }
+
+    public static Image createImageWithResolutionVariant(Image image,
+            Image resolutionVariant) {
+        return new MultiResolutionToolkitImage(image, resolutionVariant);
+    }
+
+    public int checkImage(Image img, int w, int h, ImageObserver o) {
+        if (!(img instanceof ToolkitImage)) {
+            return ImageObserver.ALLBITS;
+        }
+
+        ToolkitImage tkimg = (ToolkitImage)img;
+        int repbits;
+        if (w == 0 || h == 0) {
+            repbits = ImageObserver.ALLBITS;
+        } else {
+            repbits = tkimg.getImageRep().check(o);
+        }
+        return (tkimg.check(o) | repbits) & checkResolutionVariant(img, w, h, o);
+    }
+
+    public boolean prepareImage(Image img, int w, int h, ImageObserver o) {
+        if (w == 0 || h == 0) {
+            return true;
+        }
+
+        // Must be a ToolkitImage
+        if (!(img instanceof ToolkitImage)) {
+            return true;
+        }
+
+        ToolkitImage tkimg = (ToolkitImage)img;
+        if (tkimg.hasError()) {
+            if (o != null) {
+                o.imageUpdate(img, ImageObserver.ERROR|ImageObserver.ABORT,
+                              -1, -1, -1, -1);
+            }
+            return false;
+        }
+        ImageRepresentation ir = tkimg.getImageRep();
+        return ir.prepare(o) & prepareResolutionVariant(img, w, h, o);
+    }
+
+    private int checkResolutionVariant(Image img, int w, int h, ImageObserver o) {
+        ToolkitImage rvImage = getResolutionVariant(img);
+        // Ignore the resolution variant in case of error
+        return (rvImage == null || rvImage.hasError()) ? 0xFFFF :
+                checkImage(rvImage, 2 * w, 2 * h, MultiResolutionToolkitImage.
+                                getResolutionVariantObserver(
+                                        img, o, w, h, 2 * w, 2 * h));
+    }
+
+    private boolean prepareResolutionVariant(Image img, int w, int h,
+            ImageObserver o) {
+
+        ToolkitImage rvImage = getResolutionVariant(img);
+        // Ignore the resolution variant in case of error
+        return rvImage == null || rvImage.hasError() || prepareImage(
+                rvImage, 2 * w, 2 * h,
+                MultiResolutionToolkitImage.getResolutionVariantObserver(
+                        img, o, w, h, 2 * w, 2 * h));
+    }
+
+    private static ToolkitImage getResolutionVariant(Image image) {
+        if (image instanceof MultiResolutionToolkitImage) {
+            Image resolutionVariant = ((MultiResolutionToolkitImage) image).
+                    getResolutionVariant();
+            if (resolutionVariant instanceof ToolkitImage) {
+                return (ToolkitImage) resolutionVariant;
+            }
+        }
+        return null;
+    }
+
+    protected static boolean imageCached(Object key) {
+        return imgCache.containsKey(key);
+    }
+
+    protected static boolean imageExists(String filename) {
+        checkPermissions(filename);
+        return filename != null && new File(filename).exists();
+    }
+
+    @SuppressWarnings("try")
+    protected static boolean imageExists(URL url) {
+        checkPermissions(url);
+        if (url != null) {
+            try (InputStream is = url.openStream()) {
+                return true;
+            }catch(IOException e){
+                return false;
+            }
+        }
+        return false;
+    }
+
+    private static void checkPermissions(String filename) {
+        SecurityManager security = System.getSecurityManager();
+        if (security != null) {
+            security.checkRead(filename);
+        }
+    }
+
+    private static void checkPermissions(URL url) {
         SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             try {
@@ -818,52 +933,6 @@
                     sm.checkConnect(url.getHost(), url.getPort());
             }
         }
-        return createImage(new URLImageSource(url));
-    }
-
-    public Image createImage(byte[] data, int offset, int length) {
-        return createImage(new ByteArrayImageSource(data, offset, length));
-    }
-
-    public Image createImage(ImageProducer producer) {
-        return new ToolkitImage(producer);
-    }
-
-    public int checkImage(Image img, int w, int h, ImageObserver o) {
-        if (!(img instanceof ToolkitImage)) {
-            return ImageObserver.ALLBITS;
-        }
-
-        ToolkitImage tkimg = (ToolkitImage)img;
-        int repbits;
-        if (w == 0 || h == 0) {
-            repbits = ImageObserver.ALLBITS;
-        } else {
-            repbits = tkimg.getImageRep().check(o);
-        }
-        return tkimg.check(o) | repbits;
-    }
-
-    public boolean prepareImage(Image img, int w, int h, ImageObserver o) {
-        if (w == 0 || h == 0) {
-            return true;
-        }
-
-        // Must be a ToolkitImage
-        if (!(img instanceof ToolkitImage)) {
-            return true;
-        }
-
-        ToolkitImage tkimg = (ToolkitImage)img;
-        if (tkimg.hasError()) {
-            if (o != null) {
-                o.imageUpdate(img, ImageObserver.ERROR|ImageObserver.ABORT,
-                              -1, -1, -1, -1);
-            }
-            return false;
-        }
-        ImageRepresentation ir = tkimg.getImageRep();
-        return ir.prepare(o);
     }
 
     /**
diff --git a/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java b/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java
index d44a006..c81ce90 100644
--- a/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java
+++ b/jdk/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -627,14 +627,14 @@
         if (dropOperation == DnDConstants.ACTION_NONE)
             throw new IllegalArgumentException("invalid acceptDrop() action");
 
-        if (dropStatus != STATUS_WAIT) {
+        if (dropStatus == STATUS_WAIT || dropStatus == STATUS_ACCEPT) {
+            currentDA = currentA = mapOperation(dropOperation & currentSA);
+
+            dropStatus   = STATUS_ACCEPT;
+            dropComplete = false;
+        } else {
             throw new InvalidDnDOperationException("invalid acceptDrop()");
         }
-
-        currentDA = currentA = mapOperation(dropOperation & currentSA);
-
-        dropStatus   = STATUS_ACCEPT;
-        dropComplete = false;
     }
 
     /**
diff --git a/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java b/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java
new file mode 100644
index 0000000..79f7a3b
--- /dev/null
+++ b/jdk/src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2014, 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.awt.image;
+
+import java.awt.Image;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.util.Arrays;
+import java.util.List;
+import java.util.function.Function;
+
+public class MultiResolutionBufferedImage extends BufferedImage
+        implements MultiResolutionImage {
+
+    Image[] resolutionVariants;
+    int baseIndex;
+
+    public MultiResolutionBufferedImage(int imageType, int baseIndex, Image... images) {
+        super(images[baseIndex].getWidth(null), images[baseIndex].getHeight(null),
+                imageType);
+        this.baseIndex = baseIndex;
+        this.resolutionVariants = images;
+        Graphics g = getGraphics();
+        g.drawImage(images[baseIndex], 0, 0, null);
+        g.dispose();
+        images[baseIndex] = this;
+    }
+
+    @Override
+    public Image getResolutionVariant(int width, int height) {
+        for (Image image : resolutionVariants) {
+            if (width <= image.getWidth(null) && height <= image.getHeight(null)) {
+                return image;
+            }
+        }
+        return this;
+    }
+
+    @Override
+    public List<Image> getResolutionVariants() {
+        return Arrays.asList(resolutionVariants);
+    }
+
+    public MultiResolutionBufferedImage map(Function<Image, Image> mapper) {
+        return new MultiResolutionBufferedImage(getType(), baseIndex,
+                Arrays.stream(resolutionVariants).map(mapper)
+                        .toArray(length -> new Image[length]));
+    }
+}
diff --git a/jdk/src/share/classes/sun/awt/image/MultiResolutionImage.java b/jdk/src/share/classes/sun/awt/image/MultiResolutionImage.java
new file mode 100644
index 0000000..40be02e
--- /dev/null
+++ b/jdk/src/share/classes/sun/awt/image/MultiResolutionImage.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2013, 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.awt.image;
+
+import java.awt.Image;
+import java.util.List;
+
+/**
+ * This interface is designed to provide a set of images at various resolutions.
+ *
+ * The <code>MultiResolutionImage</code> interface should be implemented by any
+ * class whose instances are intended to provide image resolution variants
+ * according to the given image width and height.
+ *
+ * For example,
+ * <pre>
+ * {@code
+ *  public class ScaledImage extends BufferedImage
+ *         implements MultiResolutionImage {
+ *
+ *    @Override
+ *    public Image getResolutionVariant(int width, int height) {
+ *      return ((width <= getWidth() && height <= getHeight()))
+ *             ? this : highResolutionImage;
+ *    }
+ *
+ *    @Override
+ *    public List<Image> getResolutionVariants() {
+ *        return Arrays.asList(this, highResolutionImage);
+ *    }
+ *  }
+ * }</pre>
+ *
+ * It is recommended to cache image variants for performance reasons.
+ *
+ * <b>WARNING</b>: This class is an implementation detail. This API may change
+ * between update release, and it may even be removed or be moved in some other
+ * package(s)/class(es).
+ */
+public interface MultiResolutionImage {
+
+    /**
+     * Provides an image with necessary resolution which best fits to the given
+     * image width and height.
+     *
+     * @param width the desired image resolution width.
+     * @param height the desired image resolution height.
+     * @return image resolution variant.
+     *
+     * @since JDK1.8
+     */
+    public Image getResolutionVariant(int width, int height);
+
+    /**
+     * Gets list of all resolution variants including the base image
+     *
+     * @return list of resolution variants.
+     * @since JDK1.8
+     */
+    public List<Image> getResolutionVariants();
+}
diff --git a/jdk/src/share/classes/sun/awt/image/MultiResolutionToolkitImage.java b/jdk/src/share/classes/sun/awt/image/MultiResolutionToolkitImage.java
new file mode 100644
index 0000000..a49c8a7
--- /dev/null
+++ b/jdk/src/share/classes/sun/awt/image/MultiResolutionToolkitImage.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2013, 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.awt.image;
+
+import java.awt.Image;
+import java.awt.image.ImageObserver;
+import java.util.Arrays;
+import java.util.List;
+import sun.misc.SoftCache;
+
+public class MultiResolutionToolkitImage extends ToolkitImage implements MultiResolutionImage {
+
+    Image resolutionVariant;
+
+    public MultiResolutionToolkitImage(Image lowResolutionImage, Image resolutionVariant) {
+        super(lowResolutionImage.getSource());
+        this.resolutionVariant = resolutionVariant;
+    }
+
+    @Override
+    public Image getResolutionVariant(int width, int height) {
+        return ((width <= getWidth() && height <= getHeight()))
+                ? this : resolutionVariant;
+    }
+
+    public Image getResolutionVariant() {
+        return resolutionVariant;
+    }
+
+    @Override
+    public List<Image> getResolutionVariants() {
+        return Arrays.<Image>asList(this, resolutionVariant);
+    }
+
+    private static final int BITS_INFO = ImageObserver.SOMEBITS
+            | ImageObserver.FRAMEBITS | ImageObserver.ALLBITS;
+
+    private static class ObserverCache {
+
+        static final SoftCache INSTANCE = new SoftCache();
+    }
+
+    public static ImageObserver getResolutionVariantObserver(
+            final Image image, final ImageObserver observer,
+            final int imgWidth, final int imgHeight,
+            final int rvWidth, final int rvHeight) {
+
+        if (observer == null) {
+            return null;
+        }
+
+        synchronized (ObserverCache.INSTANCE) {
+            ImageObserver o = (ImageObserver) ObserverCache.INSTANCE.get(image);
+
+            if (o == null) {
+
+                o = (Image resolutionVariant, int flags,
+                        int x, int y, int width, int height) -> {
+
+                            if ((flags & (ImageObserver.WIDTH | BITS_INFO)) != 0) {
+                                width = (width + 1) / 2;
+                            }
+
+                            if ((flags & (ImageObserver.HEIGHT | BITS_INFO)) != 0) {
+                                height = (height + 1) / 2;
+                            }
+
+                            if ((flags & BITS_INFO) != 0) {
+                                x /= 2;
+                                y /= 2;
+                            }
+
+                            return observer.imageUpdate(
+                                    image, flags, x, y, width, height);
+                        };
+
+                ObserverCache.INSTANCE.put(image, o);
+            }
+            return o;
+        }
+    }
+}
diff --git a/jdk/src/share/classes/sun/font/FontFamily.java b/jdk/src/share/classes/sun/font/FontFamily.java
index aa23436..6a4cd25 100644
--- a/jdk/src/share/classes/sun/font/FontFamily.java
+++ b/jdk/src/share/classes/sun/font/FontFamily.java
@@ -25,6 +25,7 @@
 
 package sun.font;
 
+import java.io.File;
 import java.awt.Font;
 import java.util.HashMap;
 import java.util.concurrent.ConcurrentHashMap;
@@ -105,8 +106,39 @@
         return familyRank;
     }
 
+    private boolean isFromSameSource(Font2D font) {
+        if (!(font instanceof FileFont)) {
+            return false;
+        }
+
+        FileFont existingFont = null;
+        if (plain instanceof FileFont) {
+            existingFont = (FileFont)plain;
+        } else if (bold instanceof FileFont) {
+            existingFont = (FileFont)bold;
+        } else if (italic instanceof FileFont) {
+             existingFont = (FileFont)italic;
+        } else if (bolditalic instanceof FileFont) {
+             existingFont = (FileFont)bolditalic;
+        }
+        // A family isn't created until there's a font.
+        // So if we didn't find a file font it means this
+        // isn't a file-based family.
+        if (existingFont == null) {
+            return false;
+        }
+        File existDir = (new File(existingFont.platName)).getParentFile();
+
+        FileFont newFont = (FileFont)font;
+        File newDir = (new File(newFont.platName)).getParentFile();
+        return java.util.Objects.equals(newDir, existDir);
+    }
+
     public void setFont(Font2D font, int style) {
-        if (font.getRank() > familyRank) {
+        /* Allow a lower-rank font only if its a file font
+         * from the exact same source as any previous font.
+         */
+        if ((font.getRank() > familyRank) && !isFromSameSource(font)) {
             if (FontUtilities.isLogging()) {
                 FontUtilities.getLogger()
                                   .warning("Rejecting adding " + font +
diff --git a/jdk/src/share/classes/sun/font/SunFontManager.java b/jdk/src/share/classes/sun/font/SunFontManager.java
index 3c63dbe..90b9b5d 100644
--- a/jdk/src/share/classes/sun/font/SunFontManager.java
+++ b/jdk/src/share/classes/sun/font/SunFontManager.java
@@ -763,7 +763,7 @@
             if (family == null) {
                 family = new FontFamily(familyName, false, rank);
                 family.setFont(f, f.style);
-            } else if (family.getRank() >= rank) {
+            } else {
                 family.setFont(f, f.style);
             }
             fullNameToFont.put(fontName.toLowerCase(Locale.ENGLISH), f);
@@ -854,7 +854,7 @@
                 if (family == null) {
                     family = new FontFamily(familyName, false, rank);
                     family.setFont(newFont, newFont.style);
-                } else if (family.getRank() >= rank) {
+                } else {
                     family.setFont(newFont, newFont.style);
                 }
                 return newFont;
diff --git a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
index 3921bbc..f66eee6 100644
--- a/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
+++ b/jdk/src/share/classes/sun/java2d/SunGraphics2D.java
@@ -61,6 +61,7 @@
 import java.awt.Rectangle;
 import java.text.AttributedCharacterIterator;
 import java.awt.Font;
+import java.awt.Point;
 import java.awt.image.ImageObserver;
 import java.awt.Transparency;
 import java.awt.font.GlyphVector;
@@ -93,6 +94,13 @@
 import sun.misc.PerformanceLogger;
 
 import java.lang.annotation.Native;
+import sun.awt.image.MultiResolutionImage;
+
+import static java.awt.geom.AffineTransform.TYPE_FLIP;
+import static java.awt.geom.AffineTransform.TYPE_MASK_SCALE;
+import static java.awt.geom.AffineTransform.TYPE_TRANSLATION;
+import sun.awt.image.MultiResolutionToolkitImage;
+import sun.awt.image.ToolkitImage;
 
 /**
  * This is a the master Graphics2D superclass for all of the Sun
@@ -237,6 +245,7 @@
     protected Region devClip;           // Actual physical drawable in pixels
 
     private final int devScale;         // Actual physical scale factor
+    private int resolutionVariantHint;
 
     // cached state for text rendering
     private boolean validFontInfo;
@@ -274,6 +283,7 @@
         lcdTextContrast = lcdTextContrastDefaultValue;
         interpolationHint = -1;
         strokeHint = SunHints.INTVAL_STROKE_DEFAULT;
+        resolutionVariantHint = SunHints.INTVAL_RESOLUTION_VARIANT_DEFAULT;
 
         interpolationType = AffineTransformOp.TYPE_NEAREST_NEIGHBOR;
 
@@ -1249,6 +1259,10 @@
                 stateChanged = (strokeHint != newHint);
                 strokeHint = newHint;
                 break;
+            case SunHints.INTKEY_RESOLUTION_VARIANT:
+                stateChanged = (resolutionVariantHint != newHint);
+                resolutionVariantHint = newHint;
+                break;
             default:
                 recognized = false;
                 stateChanged = false;
@@ -1322,6 +1336,9 @@
         case SunHints.INTKEY_STROKE_CONTROL:
             return SunHints.Value.get(SunHints.INTKEY_STROKE_CONTROL,
                                       strokeHint);
+        case SunHints.INTKEY_RESOLUTION_VARIANT:
+            return SunHints.Value.get(SunHints.INTKEY_RESOLUTION_VARIANT,
+                                      resolutionVariantHint);
         }
         return null;
     }
@@ -3050,18 +3067,58 @@
     }
 // end of text rendering methods
 
-    private static boolean isHiDPIImage(final Image img) {
-        return SurfaceManager.getImageScale(img) != 1;
+    private boolean isHiDPIImage(final Image img) {
+        return (SurfaceManager.getImageScale(img) != 1) ||
+               (resolutionVariantHint != SunHints.INTVAL_RESOLUTION_VARIANT_OFF
+                    && img instanceof MultiResolutionImage);
     }
 
     private boolean drawHiDPIImage(Image img, int dx1, int dy1, int dx2,
                                    int dy2, int sx1, int sy1, int sx2, int sy2,
                                    Color bgcolor, ImageObserver observer) {
-        final int scale = SurfaceManager.getImageScale(img);
-        sx1 = Region.clipScale(sx1, scale);
-        sx2 = Region.clipScale(sx2, scale);
-        sy1 = Region.clipScale(sy1, scale);
-        sy2 = Region.clipScale(sy2, scale);
+
+        if (SurfaceManager.getImageScale(img) != 1) {  // Volatile Image
+            final int scale = SurfaceManager.getImageScale(img);
+            sx1 = Region.clipScale(sx1, scale);
+            sx2 = Region.clipScale(sx2, scale);
+            sy1 = Region.clipScale(sy1, scale);
+            sy2 = Region.clipScale(sy2, scale);
+        } else if (img instanceof MultiResolutionImage) {
+            // get scaled destination image size
+
+            int width = img.getWidth(observer);
+            int height = img.getHeight(observer);
+
+            Image resolutionVariant = getResolutionVariant(
+                    (MultiResolutionImage) img, width, height,
+                    dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2);
+
+            if (resolutionVariant != img && resolutionVariant != null) {
+                // recalculate source region for the resolution variant
+
+                ImageObserver rvObserver = MultiResolutionToolkitImage.
+                        getResolutionVariantObserver(img, observer,
+                                width, height, -1, -1);
+
+                int rvWidth = resolutionVariant.getWidth(rvObserver);
+                int rvHeight = resolutionVariant.getHeight(rvObserver);
+
+                if (0 < width && 0 < height && 0 < rvWidth && 0 < rvHeight) {
+
+                    float widthScale = ((float) rvWidth) / width;
+                    float heightScale = ((float) rvHeight) / height;
+
+                    sx1 = Region.clipScale(sx1, widthScale);
+                    sy1 = Region.clipScale(sy1, heightScale);
+                    sx2 = Region.clipScale(sx2, widthScale);
+                    sy2 = Region.clipScale(sy2, heightScale);
+
+                    observer = rvObserver;
+                    img = resolutionVariant;
+                }
+            }
+        }
+
         try {
             return imagepipe.scaleImage(this, img, dx1, dy1, dx2, dy2, sx1, sy1,
                                         sx2, sy2, bgcolor, observer);
@@ -3081,6 +3138,54 @@
         }
     }
 
+    private Image getResolutionVariant(MultiResolutionImage img,
+            int srcWidth, int srcHeight, int dx1, int dy1, int dx2, int dy2,
+            int sx1, int sy1, int sx2, int sy2) {
+
+        if (srcWidth <= 0 || srcHeight <= 0) {
+            return null;
+        }
+
+        int sw = sx2 - sx1;
+        int sh = sy2 - sy1;
+
+        if (sw == 0 || sh == 0) {
+            return null;
+        }
+
+        int type = transform.getType();
+        int dw = dx2 - dx1;
+        int dh = dy2 - dy1;
+        double destRegionWidth;
+        double destRegionHeight;
+
+        if ((type & ~(TYPE_TRANSLATION | TYPE_FLIP)) == 0) {
+            destRegionWidth = dw;
+            destRegionHeight = dh;
+        } else if ((type & ~(TYPE_TRANSLATION | TYPE_FLIP | TYPE_MASK_SCALE)) == 0) {
+            destRegionWidth = dw * transform.getScaleX();
+            destRegionHeight = dh * transform.getScaleY();
+        } else {
+            destRegionWidth = dw * Math.hypot(
+                    transform.getScaleX(), transform.getShearY());
+            destRegionHeight = dh * Math.hypot(
+                    transform.getShearX(), transform.getScaleY());
+        }
+
+        int destImageWidth = (int) Math.abs(srcWidth * destRegionWidth / sw);
+        int destImageHeight = (int) Math.abs(srcHeight * destRegionHeight / sh);
+
+        Image resolutionVariant
+                = img.getResolutionVariant(destImageWidth, destImageHeight);
+
+        if (resolutionVariant instanceof ToolkitImage
+                && ((ToolkitImage) resolutionVariant).hasError()) {
+            return null;
+        }
+
+        return resolutionVariant;
+    }
+
     /**
      * Draws an image scaled to x,y,w,h in nonblocking mode with a
      * callback object.
diff --git a/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
index 703f598..bb127e8 100644
--- a/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
@@ -29,10 +29,20 @@
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.MappedByteBuffer;
-import java.nio.channels.*;
+import java.nio.channels.ClosedByInterruptException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.FileLockInterruptionException;
+import java.nio.channels.NonReadableChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.OverlappingFileLockException;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
+import java.security.AccessController;
 import java.util.ArrayList;
 import java.util.List;
-import java.security.AccessController;
+
 import sun.misc.Cleaner;
 import sun.security.action.GetPropertyAction;
 
@@ -56,13 +66,17 @@
     // Required to prevent finalization of creating stream (immutable)
     private final Object parent;
 
+    // The path of the referenced file
+    // (null if the parent stream is created with a file descriptor)
+    private final String path;
+
     // Thread-safe set of IDs of native threads, for signalling
     private final NativeThreadSet threads = new NativeThreadSet(2);
 
     // Lock for operations involving position and size
     private final Object positionLock = new Object();
 
-    private FileChannelImpl(FileDescriptor fd, boolean readable,
+    private FileChannelImpl(FileDescriptor fd, String path, boolean readable,
                             boolean writable, boolean append, Object parent)
     {
         this.fd = fd;
@@ -70,23 +84,24 @@
         this.writable = writable;
         this.append = append;
         this.parent = parent;
+        this.path = path;
         this.nd = new FileDispatcherImpl(append);
     }
 
     // Used by FileInputStream.getChannel() and RandomAccessFile.getChannel()
-    public static FileChannel open(FileDescriptor fd,
+    public static FileChannel open(FileDescriptor fd, String path,
                                    boolean readable, boolean writable,
                                    Object parent)
     {
-        return new FileChannelImpl(fd, readable, writable, false, parent);
+        return new FileChannelImpl(fd, path, readable, writable, false, parent);
     }
 
     // Used by FileOutputStream.getChannel
-    public static FileChannel open(FileDescriptor fd,
+    public static FileChannel open(FileDescriptor fd, String path,
                                    boolean readable, boolean writable,
                                    boolean append, Object parent)
     {
-        return new FileChannelImpl(fd, readable, writable, append, parent);
+        return new FileChannelImpl(fd, path, readable, writable, append, parent);
     }
 
     private void ensureOpen() throws IOException {
@@ -110,7 +125,7 @@
             }
         }
 
-        nd.preClose(fd);
+        // signal any threads blocked on this channel
         threads.signalAndWait();
 
         if (parent != null) {
diff --git a/jdk/src/share/classes/sun/nio/ch/NativeThreadSet.java b/jdk/src/share/classes/sun/nio/ch/NativeThreadSet.java
index d6d4c5c..5eb90af 100644
--- a/jdk/src/share/classes/sun/nio/ch/NativeThreadSet.java
+++ b/jdk/src/share/classes/sun/nio/ch/NativeThreadSet.java
@@ -82,8 +82,9 @@
 
     // Signals all threads in this set.
     //
-    void signalAndWait() {
-        synchronized (this) {
+    synchronized void signalAndWait() {
+        boolean interrupted = false;
+        while (used > 0) {
             int u = used;
             int n = elts.length;
             for (int i = 0; i < n; i++) {
@@ -96,16 +97,15 @@
                     break;
             }
             waitingToEmpty = true;
-            boolean interrupted = false;
-            while (used > 0) {
-                try {
-                    wait();
-                } catch (InterruptedException e) {
-                    interrupted = true;
-                }
+            try {
+                wait(50);
+            } catch (InterruptedException e) {
+                interrupted = true;
+            } finally {
+                waitingToEmpty = false;
             }
-            if (interrupted)
-                Thread.currentThread().interrupt();
         }
+        if (interrupted)
+            Thread.currentThread().interrupt();
     }
 }
diff --git a/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
index d081339..5658480 100644
--- a/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
@@ -88,7 +88,6 @@
         invalidateAllLocks();
 
         // signal any threads blocked on this channel
-        nd.preClose(fdObj);
         threads.signalAndWait();
 
         // wait until all async I/O operations have completely gracefully
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java b/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
index 680795c..d05d22f 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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
@@ -26,13 +26,16 @@
 package sun.security.provider.certpath;
 
 import java.io.IOException;
-import java.util.Date;
-
+import java.math.BigInteger;
 import java.security.cert.Certificate;
 import java.security.cert.X509Certificate;
 import java.security.cert.X509CertSelector;
 import java.security.cert.CertificateException;
+import java.util.Arrays;
+import java.util.Date;
 
+import sun.security.util.Debug;
+import sun.security.util.DerInputStream;
 import sun.security.util.DerOutputStream;
 import sun.security.x509.SerialNumber;
 import sun.security.x509.KeyIdentifier;
@@ -40,26 +43,27 @@
 
 /**
  * An adaptable X509 certificate selector for forward certification path
- * building.
+ * building. This selector overrides the default X509CertSelector matching
+ * rules for the subjectKeyIdentifier and serialNumber criteria, and adds
+ * additional rules for certificate validity.
  *
  * @since 1.7
  */
 class AdaptableX509CertSelector extends X509CertSelector {
+
+    private static final Debug debug = Debug.getInstance("certpath");
+
     // The start date of a validity period.
     private Date startDate;
 
     // The end date of a validity period.
     private Date endDate;
 
-    // Is subject key identifier sensitive?
-    private boolean isSKIDSensitive = false;
+    // The subject key identifier
+    private byte[] ski;
 
-    // Is serial number sensitive?
-    private boolean isSNSensitive = false;
-
-    AdaptableX509CertSelector() {
-        super();
-    }
+    // The serial number
+    private BigInteger serial;
 
     /**
      * Sets the criterion of the X509Certificate validity period.
@@ -86,51 +90,70 @@
     }
 
     /**
-     * Parse the authority key identifier extension.
-     *
-     * If the keyIdentifier field of the extension is non-null, set the
-     * subjectKeyIdentifier criterion. If the authorityCertSerialNumber
-     * field is non-null, set the serialNumber criterion.
-     *
-     * Note that we will not set the subject criterion according to the
-     * authorityCertIssuer field of the extension. The caller MUST set
-     * the subject criterion before call match().
-     *
-     * @param akidext the authorityKeyIdentifier extension
+     * This selector overrides the subjectKeyIdentifier matching rules of
+     * X509CertSelector, so it throws IllegalArgumentException if this method
+     * is ever called.
      */
-    void parseAuthorityKeyIdentifierExtension(
-            AuthorityKeyIdentifierExtension akidext) throws IOException {
-        if (akidext != null) {
-            KeyIdentifier akid = (KeyIdentifier)akidext.get(
-                    AuthorityKeyIdentifierExtension.KEY_ID);
+    @Override
+    public void setSubjectKeyIdentifier(byte[] subjectKeyID) {
+        throw new IllegalArgumentException();
+    }
+
+    /**
+     * This selector overrides the serialNumber matching rules of
+     * X509CertSelector, so it throws IllegalArgumentException if this method
+     * is ever called.
+     */
+    @Override
+    public void setSerialNumber(BigInteger serial) {
+        throw new IllegalArgumentException();
+    }
+
+    /**
+     * Sets the subjectKeyIdentifier and serialNumber criteria from the
+     * authority key identifier extension.
+     *
+     * The subjectKeyIdentifier criterion is set to the keyIdentifier field
+     * of the extension, or null if it is empty. The serialNumber criterion
+     * is set to the authorityCertSerialNumber field, or null if it is empty.
+     *
+     * Note that we do not set the subject criterion to the
+     * authorityCertIssuer field of the extension. The caller MUST set
+     * the subject criterion before calling match().
+     *
+     * @param ext the authorityKeyIdentifier extension
+     * @throws IOException if there is an error parsing the extension
+     */
+    void setSkiAndSerialNumber(AuthorityKeyIdentifierExtension ext)
+        throws IOException {
+
+        ski = null;
+        serial = null;
+
+        if (ext != null) {
+            KeyIdentifier akid = (KeyIdentifier)ext.get(
+                AuthorityKeyIdentifierExtension.KEY_ID);
             if (akid != null) {
-                // Do not override the previous setting for initial selection.
-                if (isSKIDSensitive || getSubjectKeyIdentifier() == null) {
-                    DerOutputStream derout = new DerOutputStream();
-                    derout.putOctetString(akid.getIdentifier());
-                    super.setSubjectKeyIdentifier(derout.toByteArray());
-
-                    isSKIDSensitive = true;
-                }
+                DerOutputStream derout = new DerOutputStream();
+                derout.putOctetString(akid.getIdentifier());
+                ski = derout.toByteArray();
             }
-
-            SerialNumber asn = (SerialNumber)akidext.get(
-                    AuthorityKeyIdentifierExtension.SERIAL_NUMBER);
+            SerialNumber asn = (SerialNumber)ext.get(
+                AuthorityKeyIdentifierExtension.SERIAL_NUMBER);
             if (asn != null) {
-                // Do not override the previous setting for initial selection.
-                if (isSNSensitive || getSerialNumber() == null) {
-                    super.setSerialNumber(asn.getNumber());
-                    isSNSensitive = true;
-                }
+                serial = asn.getNumber();
             }
-
-            // the subject criterion should be set by the caller.
+            // the subject criterion should be set by the caller
         }
     }
 
     /**
      * Decides whether a <code>Certificate</code> should be selected.
      *
+     * This method overrides the matching rules for the subjectKeyIdentifier
+     * and serialNumber criteria and adds additional rules for certificate
+     * validity.
+     *
      * For the purpose of compatibility, when a certificate is of
      * version 1 and version 2, or the certificate does not include
      * a subject key identifier extension, the selection criterion
@@ -138,12 +161,28 @@
      */
     @Override
     public boolean match(Certificate cert) {
-        if (!(cert instanceof X509Certificate)) {
+        X509Certificate xcert = (X509Certificate)cert;
+
+        // match subject key identifier
+        if (!matchSubjectKeyID(xcert)) {
             return false;
         }
 
-        X509Certificate xcert = (X509Certificate)cert;
+        // In practice, a CA may replace its root certificate and require that
+        // the existing certificate is still valid, even if the AKID extension
+        // does not match the replacement root certificate fields.
+        //
+        // Conservatively, we only support the replacement for version 1 and
+        // version 2 certificate. As for version 3, the certificate extension
+        // may contain sensitive information (for example, policies), the
+        // AKID need to be respected to seek the exact certificate in case
+        // of key or certificate abuse.
         int version = xcert.getVersion();
+        if (serial != null && version > 2) {
+            if (!serial.equals(xcert.getSerialNumber())) {
+                return false;
+            }
+        }
 
         // Check the validity period for version 1 and 2 certificate.
         if (version < 3) {
@@ -154,7 +193,6 @@
                     return false;
                 }
             }
-
             if (endDate != null) {
                 try {
                     xcert.checkValidity(endDate);
@@ -164,26 +202,50 @@
             }
         }
 
-        // If no SubjectKeyIdentifier extension, don't bother to check it.
-        if (isSKIDSensitive &&
-            (version < 3 || xcert.getExtensionValue("2.5.29.14") == null)) {
-            setSubjectKeyIdentifier(null);
+
+        if (!super.match(cert)) {
+            return false;
         }
 
-        // In practice, a CA may replace its root certificate and require that
-        // the existing certificate is still valid, even if the AKID extension
-        // does not match the replacement root certificate fields.
-        //
-        // Conservatively, we only support the replacement for version 1 and
-        // version 2 certificate. As for version 2, the certificate extension
-        // may contain sensitive information (for example, policies), the
-        // AKID need to be respected to seek the exact certificate in case
-        // of key or certificate abuse.
-        if (isSNSensitive && version < 3) {
-            setSerialNumber(null);
-        }
+        return true;
+    }
 
-        return super.match(cert);
+    /*
+     * Match on subject key identifier extension value. These matching rules
+     * are identical to X509CertSelector except that if the certificate does
+     * not have a subject key identifier extension, it returns true.
+     */
+    private boolean matchSubjectKeyID(X509Certificate xcert) {
+        if (ski == null) {
+            return true;
+        }
+        try {
+            byte[] extVal = xcert.getExtensionValue("2.5.29.14");
+            if (extVal == null) {
+                if (debug != null) {
+                    debug.println("AdaptableX509CertSelector.match: "
+                        + "no subject key ID extension");
+                }
+                return true;
+            }
+            DerInputStream in = new DerInputStream(extVal);
+            byte[] certSubjectKeyID = in.getOctetString();
+            if (certSubjectKeyID == null ||
+                    !Arrays.equals(ski, certSubjectKeyID)) {
+                if (debug != null) {
+                    debug.println("AdaptableX509CertSelector.match: "
+                        + "subject key IDs don't match");
+                }
+                return false;
+            }
+        } catch (IOException ex) {
+            if (debug != null) {
+                debug.println("AdaptableX509CertSelector.match: "
+                    + "exception in subject key ID check");
+            }
+            return false;
+        }
+        return true;
     }
 
     @Override
@@ -198,6 +260,9 @@
             copy.endDate = (Date)endDate.clone();
         }
 
+        if (ski != null) {
+            copy.ski = ski.clone();
+        }
         return copy;
     }
 }
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java b/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
index ecf609b..7f275fb 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, 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
@@ -751,9 +751,7 @@
          * issued. [section 5.2.1, RFC 2459]
          */
         AuthorityKeyIdentifierExtension crlAKID = crl.getAuthKeyIdExtension();
-        if (crlAKID != null) {
-            issuerSelector.parseAuthorityKeyIdentifierExtension(crlAKID);
-        }
+        issuerSelector.setSkiAndSerialNumber(crlAKID);
 
         matched = issuerSelector.match(cert);
 
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java b/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
index 9523e9c..16892c4 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -269,7 +269,7 @@
              */
             AuthorityKeyIdentifierExtension akidext =
                     currentState.cert.getAuthorityKeyIdentifierExtension();
-            caSelector.parseAuthorityKeyIdentifierExtension(akidext);
+            caSelector.setSkiAndSerialNumber(akidext);
 
             /*
              * check the validity period
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java b/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
index 728bc19..c4eaff3 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -103,7 +103,7 @@
              */
             try {
                 X509CertImpl firstCertImpl = X509CertImpl.toImpl(firstCert);
-                selector.parseAuthorityKeyIdentifierExtension(
+                selector.setSkiAndSerialNumber(
                             firstCertImpl.getAuthorityKeyIdentifierExtension());
             } catch (CertificateException | IOException e) {
                 // ignore
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
index 19b41f6..f38e7dc 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -1035,6 +1035,9 @@
                 boolean signFlag = true;
                 List<? extends Certificate> cpList =
                     cpbr.getCertPath().getCertificates();
+                if (cpList.isEmpty()) {
+                    return;
+                }
                 try {
                     for (int i = cpList.size()-1; i >= 0; i-- ) {
                         X509Certificate cert = (X509Certificate)cpList.get(i);
diff --git a/jdk/src/share/classes/sun/swing/SwingUtilities2.java b/jdk/src/share/classes/sun/swing/SwingUtilities2.java
index 8b79b5e..f36d433 100644
--- a/jdk/src/share/classes/sun/swing/SwingUtilities2.java
+++ b/jdk/src/share/classes/sun/swing/SwingUtilities2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, 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
@@ -81,6 +81,9 @@
     public static final Object LAF_STATE_KEY =
             new StringBuffer("LookAndFeel State");
 
+    public static final Object MENU_SELECTION_MANAGER_LISTENER_KEY =
+            new StringBuffer("MenuSelectionManager listener key");
+
     // Maintain a cache of CACHE_SIZE fonts and the left side bearing
      // of the characters falling into the range MIN_CHAR_INDEX to
      // MAX_CHAR_INDEX. The values in fontCache are created as needed.
diff --git a/jdk/src/share/classes/sun/tools/jconsole/Messages.java b/jdk/src/share/classes/sun/tools/jconsole/Messages.java
index 0a3a63e8..1cbbb76 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/Messages.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/Messages.java
@@ -36,7 +36,7 @@
         Resources.initializeMessages(Messages.class, BUNDLE_NAME);
     }
     // TODO:
-    // The names of some of the constants below looks strange.
+    // The names of some of the constants below look strange.
     // That's because they  were generated programmatically
     // from the messages. They should be cleaned up,
     // ___ should be removed etc.
@@ -269,6 +269,7 @@
     public static String SUMMARY_TAB_TAB_NAME;
     public static String SUMMARY_TAB_VM_VERSION;
     public static String THREADS;
+    public static String THREAD_TAB_INFO_LABEL_FORMAT;
     public static String THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME;
     public static String THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME;
     public static String THREAD_TAB_INITIAL_STACK_TRACE_MESSAGE;
diff --git a/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java b/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
index 3d94a37..79e1743 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
@@ -213,8 +213,8 @@
                 String[] strings2 = formatKByteStrings(u.getCommitted());
                 append(Messages.COMMITTED_MEMORY,  strings2[0]);
                 append(Messages.SUMMARY_TAB_PENDING_FINALIZATION_LABEL,
-                       Messages.SUMMARY_TAB_PENDING_FINALIZATION_VALUE,
-                       memoryBean.getObjectPendingFinalizationCount());
+                       Resources.format(Messages.SUMMARY_TAB_PENDING_FINALIZATION_VALUE,
+                                        memoryBean.getObjectPendingFinalizationCount()));
                 append(endTable);
 
                 append(newTable);
diff --git a/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java b/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java
index 9a15100..d629cb3 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/ThreadTab.java
@@ -66,9 +66,6 @@
 
     private static final Border thinEmptyBorder  = new EmptyBorder(2, 2, 2, 2);
 
-    private static final String infoLabelFormat = "ThreadTab.infoLabelFormat";
-
-
     /*
       Hierarchy of panels and layouts for this tab:
 
@@ -692,7 +689,7 @@
 
         private void updateThreadsInfo(long tlCount, long tpCount, long ttCount, long timeStamp) {
             getPlotter().addValues(timeStamp, tlCount);
-            getInfoLabel().setText(Resources.format(infoLabelFormat, tlCount, tpCount, ttCount));
+            getInfoLabel().setText(Resources.format(Messages.THREAD_TAB_INFO_LABEL_FORMAT, tlCount, tpCount, ttCount));
         }
     }
 }
diff --git a/jdk/src/share/classes/sun/tools/jconsole/resources/messages.properties b/jdk/src/share/classes/sun/tools/jconsole/resources/messages.properties
index 8326217..29c8a2d 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/messages.properties
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages.properties
@@ -227,6 +227,7 @@
 SUMMARY_TAB_TAB_NAME=VM Summary
 SUMMARY_TAB_VM_VERSION={0} version {1}
 THREADS=Threads
+THREAD_TAB_INFO_LABEL_FORMAT=<html>Live: {0}    Peak: {1}    Total: {2}</html>
 THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=Thread Information
 THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=Chart for number of threads.
 THREAD_TAB_INITIAL_STACK_TRACE_MESSAGE=[No thread selected]
@@ -249,7 +250,7 @@
 UNREGISTER=Unregister
 UPTIME=Uptime
 USAGE_THRESHOLD=Usage Threshold
-REMOTE_TF_USAGE=<b>Usage</b>: &lt;hostname&gt;:&lt;port&gt; OR service:jmx:&lt;protocol&gt;:&lt;sap&gt;
+REMOTE_TF_USAGE=<b>Usage</b>: &&lt;hostname&&gt;:&&lt;port&&gt; OR service:jmx:&&lt;protocol&&gt;:&&lt;sap&&gt;
 USED=Used
 USERNAME_COLON_=&Username:
 USERNAME_ACCESSIBLE_NAME=User Name
diff --git a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
index 96ad8758..36cda09 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
@@ -227,6 +227,7 @@
 SUMMARY_TAB_TAB_NAME=VM\u30B5\u30DE\u30EA\u30FC
 SUMMARY_TAB_VM_VERSION={0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}
 THREADS=\u30B9\u30EC\u30C3\u30C9
+THREAD_TAB_INFO_LABEL_FORMAT=<html>\u5B9F\u884C\u4E2D: {0}    \u30D4\u30FC\u30AF: {1}    \u5408\u8A08: {2}</html>
 THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=\u30B9\u30EC\u30C3\u30C9\u60C5\u5831
 THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=\u30B9\u30EC\u30C3\u30C9\u6570\u306E\u30C1\u30E3\u30FC\u30C8\u3002
 THREAD_TAB_INITIAL_STACK_TRACE_MESSAGE=[\u30B9\u30EC\u30C3\u30C9\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093]
@@ -249,7 +250,7 @@
 UNREGISTER=\u767B\u9332\u89E3\u9664
 UPTIME=\u7A3C\u50CD\u6642\u9593
 USAGE_THRESHOLD=\u4F7F\u7528\u3057\u304D\u3044\u5024
-REMOTE_TF_USAGE=<b>\u4F7F\u7528\u65B9\u6CD5</b>: &lt;hostname&gt;:&lt;port&gt;\u307E\u305F\u306Fservice:jmx:&lt;protocol&gt;:&lt;sap&gt;
+REMOTE_TF_USAGE=<b>\u4F7F\u7528\u65B9\u6CD5</b>: &&lt;hostname&&gt;:&&lt;port&&gt;\u307E\u305F\u306Fservice:jmx:&&lt;protocol&&gt;:&&lt;sap&&gt;
 USED=\u4F7F\u7528\u6E08
 USERNAME_COLON_=\u30E6\u30FC\u30B6\u30FC\u540D(&U):
 USERNAME_ACCESSIBLE_NAME=\u30E6\u30FC\u30B6\u30FC\u540D
diff --git a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties
index eff5155..89e725c 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties
@@ -227,6 +227,7 @@
 SUMMARY_TAB_TAB_NAME=VM \u6982\u8981
 SUMMARY_TAB_VM_VERSION={0}\u7248\u672C {1}
 THREADS=\u7EBF\u7A0B
+THREAD_TAB_INFO_LABEL_FORMAT=<html>\u6D3B\u52A8: {0}    \u5CF0\u503C: {1}    \u603B\u8BA1: {2}</html>
 THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=\u7EBF\u7A0B\u4FE1\u606F
 THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=\u8868\u793A\u7EBF\u7A0B\u6570\u7684\u56FE\u8868\u3002
 THREAD_TAB_INITIAL_STACK_TRACE_MESSAGE=[\u672A\u9009\u62E9\u7EBF\u7A0B]
@@ -249,7 +250,7 @@
 UNREGISTER=\u6CE8\u9500
 UPTIME=\u8FD0\u884C\u65F6\u95F4
 USAGE_THRESHOLD=\u7528\u6CD5\u9608\u503C
-REMOTE_TF_USAGE=<b>\u7528\u6CD5</b>: &lt;hostname&gt;:&lt;port&gt; \u6216 service:jmx:&lt;protocol&gt;:&lt;sap&gt;
+REMOTE_TF_USAGE=<b>\u7528\u6CD5</b>: &&lt;hostname&&gt;:&&lt;port&&gt; \u6216 service:jmx:&&lt;protocol&&gt;:&&lt;sap&&gt;
 USED=\u5DF2\u7528
 USERNAME_COLON_=\u7528\u6237\u540D(&U):
 USERNAME_ACCESSIBLE_NAME=\u7528\u6237\u540D
diff --git a/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java b/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java
index 876c1e3..2aaa1e7 100644
--- a/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java
+++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNames.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Alma-Ata Time", "ALMT",
                                           "Alma-Ata Summer Time", "ALMST",
                                           "Alma-Ata Time", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Anadyr Time", "ANAT",
                                           "Anadyr Summer Time", "ANAST",
                                           "Anadyr Time", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
index ab2d10a..6dcc1ee 100644
--- a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
+++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
diff --git a/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java b/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java
index 0848ceb..4d25bce 100644
--- a/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java
+++ b/jdk/src/share/classes/sun/util/resources/de/TimeZoneNames_de.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Alma Ata Zeit", "ALMT",
                                           "Alma-Ata Sommerzeit", "ALMST",
                                           "Alma Ata Zeit", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Anadyr Zeit", "ANAT",
                                           "Anadyr Sommerzeit", "ANAST",
                                           "Anadyr Zeit", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java b/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java
index a20ba69..07d7732 100644
--- a/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java
+++ b/jdk/src/share/classes/sun/util/resources/es/TimeZoneNames_es.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Hora de Alma-Ata", "ALMT",
                                           "Hora de verano de Alma-Ata", "ALMST",
                                           "Hora de Alma-Ata", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Hora de Anadyr", "ANAT",
                                           "Hora de verano de Anadyr", "ANAST",
                                           "Hora de Anadyr", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java b/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java
index 6b250b9..d15b905 100644
--- a/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java
+++ b/jdk/src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Heure d'Alma-Ata", "ALMT",
                                           "Heure d'\u00e9t\u00e9 d'Alma-Ata", "ALMST",
                                           "Heure d'Alma-Ata", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Heure d'Anadyr", "ANAT",
                                           "Heure d'\u00e9t\u00e9 d'Anadyr", "ANAST",
                                           "Heure d'Anadyr", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java b/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java
index 95caa4a..a07be9a 100644
--- a/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java
+++ b/jdk/src/share/classes/sun/util/resources/it/TimeZoneNames_it.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Ora di Alma-Ata", "ALMT",
                                           "Ora estiva di Alma-Ata", "ALMST",
                                           "Ora di Alma-Ata", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Ora di Anadyr", "ANAT",
                                           "Ora estiva di Anadyr", "ANAST",
                                           "Ora di Anadyr", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java b/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java
index 277d538..5a0f5e70 100644
--- a/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java
+++ b/jdk/src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"\u30a2\u30eb\u30de\u30a2\u30bf\u6642\u9593", "ALMT",
                                           "\u30a2\u30eb\u30de\u30a2\u30bf\u590f\u6642\u9593", "ALMST",
                                           "\u30A2\u30EB\u30DE\u30A2\u30BF\u6642\u9593", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"\u30a2\u30ca\u30c9\u30a5\u30a4\u30ea\u6642\u9593", "ANAT",
                                           "\u30a2\u30ca\u30c9\u30a5\u30a4\u30ea\u590f\u6642\u9593", "ANAST",
                                           "\u30A2\u30CA\u30C7\u30A3\u30EA\u6642\u9593", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java b/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java
index 4d28bf3..4d9f395 100644
--- a/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java
+++ b/jdk/src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"\uc54c\ub9c8\uc544\ud0c0 \uc2dc\uac04", "ALMT",
                                           "\uc54c\ub9c8\uc544\ud0c0 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "ALMST",
                                           "\uC54C\uB9C8\uC544\uD0C0 \uD45C\uC900\uC2DC", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"\uc544\ub098\ub514\ub974 \uc2dc\uac04", "ANAT",
                                           "\uc544\ub098\ub514\ub974 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "ANAST",
                                           "\uC544\uB098\uB514\uB9AC \uD45C\uC900\uC2DC", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java b/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java
index 0bebcd9..07b13ae 100644
--- a/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java
+++ b/jdk/src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Fuso hor\u00e1rio de Alma-Ata", "ALMT",
                                           "Fuso hor\u00e1rio de ver\u00e3o de Alma-Ata", "ALMST",
                                           "Hor\u00E1rio de Alma-Ata", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Fuso hor\u00e1rio de Anadyr", "ANAT",
                                           "Fuso hor\u00e1rio de ver\u00e3o de Anadyr", "ANAST",
                                           "Hor\u00E1rio de Anadyr", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java b/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java
index 35dd226..5dfb716 100644
--- a/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java
+++ b/jdk/src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Alma-Ata, normaltid", "ALMT",
                                           "Alma-Ata, sommartid", "ALMST",
                                           "Alma-Ata-tid", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"Anadyr, normaltid", "ANAT",
                                           "Anadyr, sommartid", "ANAST",
                                           "Anadyr-tid", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java
index 170edc9..62a946b 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Alma-Ata \u65f6\u95f4", "ALMT",
                                           "Alma-Ata \u590f\u4ee4\u65f6", "ALMST",
                                           "Alma-Ata \u65F6\u95F4", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"\u963f\u90a3\u5e95\u6cb3\u65f6\u95f4", "ANAT",
                                           "\u963f\u90a3\u5e95\u6cb3\u590f\u4ee4\u65f6", "ANAST",
                                           "\u963F\u90A3\u5E95\u6CB3\u65F6\u95F4", "ANAT"}},
diff --git a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java
index e5e272f..f91da7a 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -578,7 +578,7 @@
             {"Asia/Almaty", new String[] {"Alma-Ata \u6642\u9593", "ALMT",
                                           "Alma-Ata \u590f\u4ee4\u6642\u9593", "ALMST",
                                           "\u963F\u62C9\u6728\u5716\u6642\u9593", "ALMT"}},
-            {"Asia/Amman", ARAST},
+            {"Asia/Amman", EET},
             {"Asia/Anadyr", new String[] {"\u963f\u90a3\u5e95\u6cb3\u6642\u9593", "ANAT",
                                           "\u963f\u90a3\u5e95\u6cb3\u590f\u4ee4\u6642\u9593", "ANAST",
                                           "\u963F\u90A3\u5E95\u6CB3\u6642\u9593", "ANAT"}},
diff --git a/jdk/src/share/instrument/Reentrancy.c b/jdk/src/share/instrument/Reentrancy.c
index 58cbfdd..0b526c1 100644
--- a/jdk/src/share/instrument/Reentrancy.c
+++ b/jdk/src/share/instrument/Reentrancy.c
@@ -130,6 +130,7 @@
             error = confirmingTLSSet (  jvmtienv,
                                         thread,
                                         JPLIS_CURRENTLY_INSIDE_TOKEN);
+            check_phase_ret_false(error);
             jplis_assert(error == JVMTI_ERROR_NONE);
             if ( error != JVMTI_ERROR_NONE ) {
                 result = JNI_FALSE;
@@ -158,6 +159,7 @@
     error = confirmingTLSSet(   jvmtienv,
                                 thread,
                                 JPLIS_CURRENTLY_OUTSIDE_TOKEN);
+    check_phase_ret(error);
     jplis_assert(error == JVMTI_ERROR_NONE);
 
 }
diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp
index 6cedfd8..66ecc1b 100644
--- a/jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp
+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp
@@ -32,6 +32,8 @@
 #include <stdlib.h>
 #include <stdarg.h>
 
+#include "jni_util.h"
+
 #include "defines.h"
 #include "bytes.h"
 #include "utils.h"
@@ -147,7 +149,7 @@
       break;
   }
   coding* ptr = NEW(coding, 1);
-  CHECK_NULL_0(ptr);
+  CHECK_NULL_RETURN(ptr, 0);
   coding* c = ptr->initFrom(spec);
   if (c == null) {
     mtrace('f', ptr, 0);
diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h b/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
index b202892..644b9ca 100644
--- a/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
@@ -158,10 +158,6 @@
 #define CHECK_(y)               _CHECK_DO(aborting(), return y)
 #define CHECK_0                 _CHECK_DO(aborting(), return 0)
 
-#define CHECK_NULL(p)           _CHECK_DO((p)==null, return)
-#define CHECK_NULL_(y,p)        _CHECK_DO((p)==null, return y)
-#define CHECK_NULL_0(p)         _CHECK_DO((p)==null, return 0)
-
 #define CHECK_COUNT(t)          if (t < 0){abort("bad value count");} CHECK
 
 #define STR_TRUE   "true"
diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
index 2544091..786a832 100644
--- a/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -73,8 +73,9 @@
     SWAP_BYTES(a & 0xFFFF)
 
 #define GET_INT_HI(a) \
-    SWAP_BYTES((a >> 16) & 0xFFFF);
+    SWAP_BYTES((a >> 16) & 0xFFFF)
 
+static const ushort jarmagic[2] = { SWAP_BYTES(0xCAFE), 0 };
 
 void jar::init(unpacker* u_) {
   BYTES_OF(*this).clear();
@@ -105,13 +106,14 @@
 
   header[0] = (ushort)SWAP_BYTES(0x4B50);
   header[1] = (ushort)SWAP_BYTES(0x0201);
-  header[2] = (ushort)SWAP_BYTES(0xA);
+  header[2] = (ushort)SWAP_BYTES(( store ) ? 0x0A : 0x14);
 
   // required version
-  header[3] = (ushort)SWAP_BYTES(0xA);
+  header[3] = (ushort)SWAP_BYTES(( store ) ? 0x0A : 0x14);
 
-  // flags 02 = maximum  sub-compression flag
-  header[4] = ( store ) ? 0x0 : SWAP_BYTES(0x2);
+  // Flags - UTF-8 compression and separating crc and sizes
+  // into separate headers for deflated file
+  header[4] = ( store ) ? SWAP_BYTES(0x0800) : 0x0808;
 
   // Compression method 8=deflate.
   header[5] = ( store ) ? 0x0 : SWAP_BYTES(0x08);
@@ -135,7 +137,8 @@
   // Filename length
   header[14] = (ushort)SWAP_BYTES(fname_length);
   // So called "extra field" length.
-  header[15] = 0;
+  // If it's the first record we must add JAR magic sequence
+  header[15] = ( central_directory_count ) ? 0 : (ushort)SWAP_BYTES(4);
   // So called "comment" length.
   header[16] = 0;
   // Disk number start
@@ -155,6 +158,11 @@
   // Copy the fname to the header.
   central_directory.append(fname, fname_length);
 
+  // Add jar magic for the first record
+  if (central_directory_count == 0) {
+    central_directory.append((void *)jarmagic, sizeof(jarmagic));
+  }
+
   central_directory_count++;
 }
 
@@ -170,10 +178,10 @@
   header[1] = (ushort)SWAP_BYTES(0x0403);
 
   // Version
-  header[2] = (ushort)SWAP_BYTES(0xA);
+  header[2] = (ushort)SWAP_BYTES(( store ) ? 0x0A : 0x14);
 
-  // flags 02 = maximum  sub-compression flag
-  header[3] = ( store ) ? 0x0 : SWAP_BYTES(0x2);
+  // General purpose flags - same as in the Central Directory
+  header[3] = ( store ) ? SWAP_BYTES(0x0800) : 0x0808;
 
   // Compression method = deflate
   header[4] = ( store ) ? 0x0 : SWAP_BYTES(0x08);
@@ -182,28 +190,51 @@
   header[5] = (ushort)GET_INT_LO(dostime);
   header[6] = (ushort)GET_INT_HI(dostime);
 
-  // CRC
-  header[7] = (ushort)GET_INT_LO(crc);
-  header[8] = (ushort)GET_INT_HI(crc);
+  // CRC, 0 if deflated, will come separately in extra header
+  header[7] = ( store ) ? (ushort)GET_INT_LO(crc) : 0;
+  header[8] = ( store ) ? (ushort)GET_INT_HI(crc) : 0;
 
-  // Compressed length:
-  header[9] = (ushort)GET_INT_LO(clen);
-  header[10] = (ushort)GET_INT_HI(clen);
+  // Compressed length, 0 if deflated
+  header[9] = ( store ) ? (ushort)GET_INT_LO(clen) : 0;
+  header[10] = ( store ) ? (ushort)GET_INT_HI(clen) : 0;
 
-  // Uncompressed length.
-  header[11] = (ushort)GET_INT_LO(len);
-  header[12] = (ushort)GET_INT_HI(len);
+  // Uncompressed length, 0 if deflated
+  header[11] = ( store ) ? (ushort)GET_INT_LO(len) : 0;
+  header[12] = ( store ) ? (ushort)GET_INT_HI(len) : 0;
 
   // Filename length
   header[13] = (ushort)SWAP_BYTES(fname_length);
   // So called "extra field" length.
-  header[14] = 0;
+  header[14] = ( central_directory_count - 1 ) ? 0 : (ushort)SWAP_BYTES(4);
 
   // Write the LOC header to the output file.
   write_data(header, (int)sizeof(header));
 
   // Copy the fname to the header.
   write_data((char*)fname, (int)fname_length);
+
+  if (central_directory_count == 1) {
+    // Write JAR magic sequence
+    write_data((void *)jarmagic, (int)sizeof(jarmagic));
+  }
+}
+
+void jar::write_jar_extra(int len, int clen, uint crc) {
+  ushort header[8];
+  // Extra field signature
+  header[0] = (ushort)SWAP_BYTES(0x4B50);
+  header[1] = (ushort)SWAP_BYTES(0x0807);
+  // CRC
+  header[2] = (ushort)GET_INT_LO(crc);
+  header[3] = (ushort)GET_INT_HI(crc);
+  // Compressed length
+  header[4] = (ushort)GET_INT_LO(clen);
+  header[5] = (ushort)GET_INT_HI(clen);
+  // Uncompressed length
+  header[6] = (ushort)GET_INT_LO(len);
+  header[7] = (ushort)GET_INT_HI(len);
+
+  write_data(header, sizeof(header));
 }
 
 static const char marker_comment[] = ZIP_ARCHIVE_MARKER_COMMENT;
@@ -212,6 +243,7 @@
   bytes mc; mc.set(marker_comment);
 
   ushort header[11];
+  ushort header64[38];
 
   // Create the End of Central Directory structure.
   header[0] = (ushort)SWAP_BYTES(0x4B50);
@@ -220,8 +252,8 @@
   header[2] = 0;
   header[3] = 0;
   // Number of entries in central directory.
-  header[4] = (ushort)SWAP_BYTES(central_directory_count);
-  header[5] = (ushort)SWAP_BYTES(central_directory_count);
+  header[4] = ( central_directory_count >= 0xffff ) ? 0xffff : (ushort)SWAP_BYTES(central_directory_count);
+  header[5] = ( central_directory_count >= 0xffff ) ? 0xffff : (ushort)SWAP_BYTES(central_directory_count);
   // Size of the central directory}
   header[6] = (ushort)GET_INT_LO((int)central_directory.size());
   header[7] = (ushort)GET_INT_HI((int)central_directory.size());
@@ -229,12 +261,71 @@
   header[8] = (ushort)GET_INT_LO(output_file_offset);
   header[9] = (ushort)GET_INT_HI(output_file_offset);
   // zipfile comment length;
-  header [10] = (ushort)SWAP_BYTES((int)mc.len);
+  header[10] = (ushort)SWAP_BYTES((int)mc.len);
 
   // Write the central directory.
   PRINTCR((2, "Central directory at %d\n", output_file_offset));
   write_data(central_directory.b);
 
+  // If number of records exceeds the 0xFFFF we need to prepend extended
+  // Zip64 End of Central Directory record and its locator to the old
+  // style ECD record
+  if (central_directory_count > 0xFFFF) {
+    // Zip64 END signature
+    header64[0] = (ushort)SWAP_BYTES(0x4B50);
+    header64[1] = (ushort)0x0606;
+    // Size of header (long)
+    header64[2] = (ushort)SWAP_BYTES(44);;
+    header64[3] = 0;
+    header64[4] = 0;
+    header64[5] = 0;
+    // Version produced and required (short)
+    header64[6] = (ushort)SWAP_BYTES(45);
+    header64[7] = (ushort)SWAP_BYTES(45);
+    // Current disk number (int)
+    header64[8] = 0;
+    header64[9] = 0;
+    // Central directory start disk (int)
+    header64[10] = 0;
+    header64[11] = 0;
+    // Count of records on disk (long)
+    header64[12] = (ushort)GET_INT_LO(central_directory_count);
+    header64[13] = (ushort)GET_INT_HI(central_directory_count);
+    header64[14] = 0;
+    header64[15] = 0;
+    // Count of records totally (long)
+    header64[16] = (ushort)GET_INT_LO(central_directory_count);
+    header64[17] = (ushort)GET_INT_HI(central_directory_count);
+    header64[18] = 0;
+    header64[19] = 0;
+    // Length of the central directory (long)
+    header64[20] = header[6];
+    header64[21] = header[7];
+    header64[22] = 0;
+    header64[23] = 0;
+    // Offset of central directory (long)
+    header64[24] = header[8];
+    header64[25] = header[9];
+    header64[26] = 0;
+    header64[27] = 0;
+    // Zip64 end of central directory locator
+    // Locator signature
+    header64[28] = (ushort)SWAP_BYTES(0x4B50);
+    header64[29] = (ushort)SWAP_BYTES(0x0706);
+    // Start disk number (int)
+    header64[30] = 0;
+    header64[31] = 0;
+    // Offset of zip64 END record (long)
+    header64[32] = (ushort)GET_INT_LO(output_file_offset);
+    header64[33] = (ushort)GET_INT_HI(output_file_offset);
+    header64[34] = 0;
+    header64[35] = 0;
+    // Total number of disks (int)
+    header64[36] = (ushort)SWAP_BYTES(1);
+    header64[37] = 0;
+    write_data(header64, (int)sizeof(header64));
+  }
+
   // Write the End of Central Directory structure.
   PRINTCR((2, "end-of-directory at %d\n", output_file_offset));
   write_data(header, (int)sizeof(header));
@@ -286,6 +377,8 @@
 
   if (deflate) {
     write_data(deflated.b);
+    // Write deflated information in extra header
+    write_jar_extra(len, clen, crc);
   } else {
     write_data(head);
     write_data(tail);
@@ -368,7 +461,7 @@
   // NOTE: the window size should always be -MAX_WBITS normally -15.
   // unzip/zipup.c and java/Deflater.c
 
-  int error = deflateInit2(&zs, Z_BEST_COMPRESSION, Z_DEFLATED,
+  int error = deflateInit2(&zs, Z_DEFAULT_COMPRESSION, Z_DEFLATED,
                            -MAX_WBITS, 8, Z_DEFAULT_STRATEGY);
   if (error != Z_OK) {
     switch (error) {
@@ -414,7 +507,8 @@
     error = deflate(&zs, Z_FINISH);
   }
   if (error == Z_STREAM_END) {
-    if (len > (int)zs.total_out ) {
+    if ((int)zs.total_out > 0) {
+      // Even if compressed size is bigger than uncompressed, write it
       PRINTCR((2, "deflate compressed data %d -> %d\n", len, zs.total_out));
       deflated.b.len = zs.total_out;
       deflateEnd(&zs);
diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h b/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
index d7c6b34..14ffc9d 100644
--- a/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -40,7 +40,7 @@
 
   // Private members
   fillbytes   central_directory;
-  ushort      central_directory_count;
+  uint        central_directory_count;
   uint        output_file_offset;
   fillbytes   deflated;  // temporary buffer
 
@@ -74,6 +74,7 @@
                             int len, int clen, uLong crc);
   void write_jar_header(const char* fname, bool store, int modtime,
                         int len, int clen, unsigned int crc);
+  void write_jar_extra(int len, int clen, unsigned int crc);
   void write_central_directory();
   uLong dostime(int y, int n, int d, int h, int m, int s);
   uLong get_dostime(int modtime);
diff --git a/jdk/src/share/native/common/jni_util.h b/jdk/src/share/native/common/jni_util.h
index 4180756..0242d71 100644
--- a/jdk/src/share/native/common/jni_util.h
+++ b/jdk/src/share/native/common/jni_util.h
@@ -278,7 +278,54 @@
 #define IS_NULL(obj) ((obj) == NULL)
 #define JNU_IsNull(env,obj) ((obj) == NULL)
 
+/************************************************************************
+ * Miscellaneous utilities used by the class libraries to return from
+ * a function if a value is NULL or an exception is pending.
+ */
 
+#define CHECK_NULL(x)                           \
+    do {                                        \
+        if ((x) == NULL) {                      \
+            return;                             \
+        }                                       \
+    } while (0)                                 \
+
+#define CHECK_NULL_RETURN(x, y)                 \
+    do {                                        \
+        if ((x) == NULL) {                      \
+            return (y);                         \
+        }                                       \
+    } while (0)                                 \
+
+#ifdef __cplusplus
+#define JNU_CHECK_EXCEPTION(env)                \
+    do {                                        \
+        if ((env)->ExceptionCheck()) {          \
+            return;                             \
+        }                                       \
+    } while (0)                                 \
+
+#define JNU_CHECK_EXCEPTION_RETURN(env, y)      \
+    do {                                        \
+        if ((env)->ExceptionCheck()) {          \
+            return (y);                         \
+        }                                       \
+    } while (0)
+#else
+#define JNU_CHECK_EXCEPTION(env)                \
+    do {                                        \
+        if ((*env)->ExceptionCheck(env)) {      \
+            return;                             \
+        }                                       \
+    } while (0)                                 \
+
+#define JNU_CHECK_EXCEPTION_RETURN(env, y)      \
+    do {                                        \
+        if ((*env)->ExceptionCheck(env)) {      \
+            return (y);                         \
+        }                                       \
+    } while (0)
+#endif /* __cplusplus */
 /************************************************************************
  * Debugging utilities
  */
diff --git a/jdk/src/share/native/java/io/FileInputStream.c b/jdk/src/share/native/java/io/FileInputStream.c
index 52e2cdd..092ddbf 100644
--- a/jdk/src/share/native/java/io/FileInputStream.c
+++ b/jdk/src/share/native/java/io/FileInputStream.c
@@ -62,7 +62,7 @@
 }
 
 JNIEXPORT jint JNICALL
-Java_java_io_FileInputStream_read(JNIEnv *env, jobject this) {
+Java_java_io_FileInputStream_read0(JNIEnv *env, jobject this) {
     return readSingle(env, this, fis_fd);
 }
 
diff --git a/jdk/src/share/native/java/io/RandomAccessFile.c b/jdk/src/share/native/java/io/RandomAccessFile.c
index 3251db8..53b5f1a 100644
--- a/jdk/src/share/native/java/io/RandomAccessFile.c
+++ b/jdk/src/share/native/java/io/RandomAccessFile.c
@@ -64,7 +64,7 @@
 }
 
 JNIEXPORT jint JNICALL
-Java_java_io_RandomAccessFile_read(JNIEnv *env, jobject this) {
+Java_java_io_RandomAccessFile_read0(JNIEnv *env, jobject this) {
     return readSingle(env, this, raf_fd);
 }
 
@@ -75,7 +75,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_java_io_RandomAccessFile_write(JNIEnv *env, jobject this, jint byte) {
+Java_java_io_RandomAccessFile_write0(JNIEnv *env, jobject this, jint byte) {
     writeSingle(env, this, byte, JNI_FALSE, raf_fd);
 }
 
diff --git a/jdk/src/share/native/java/net/net_util.h b/jdk/src/share/native/java/net/net_util.h
index ab440c8..8286a85 100644
--- a/jdk/src/share/native/java/net/net_util.h
+++ b/jdk/src/share/native/java/net/net_util.h
@@ -42,9 +42,6 @@
 #define NET_ERROR(env, ex, msg) \
 { if (!(*env)->ExceptionOccurred(env)) JNU_ThrowByName(env, ex, msg) }
 
-#define CHECK_NULL(x) if ((x) == NULL) return;
-#define CHECK_NULL_RETURN(x, y) if ((x) == NULL) return y;
-
 /************************************************************************
  * Cached field IDs
  *
diff --git a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h
index 10574ad..536b935 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h
+++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h
@@ -189,7 +189,11 @@
             PUT(rgbquad_t, ptr, value);
             break;
         case 3:                /* not supported, LSB or MSB should always be specified */
-            *(int *) 0 = 0;    /* crash */
+            PUT(byte_t, ptr, 0xff); /* Put a stub value */
+            INCP(byte_t, ptr);
+            PUT(byte_t, ptr, 0xff);
+            INCP(byte_t, ptr);
+            PUT(byte_t, ptr, 0xff);
             break;
         case 2:
             PUT(word_t, ptr, value);
@@ -253,7 +257,7 @@
             value = GET(rgbquad_t, ptr);
             break;
         case 3:                /* not supported, LSB or MSB should always be specified */
-            *(int *) 0 = 0;
+            value = 0xFFFFFFFF; /*return a stub value */
             break;
         case 2:
             value = (rgbquad_t) GET(word_t, ptr);
diff --git a/jdk/src/share/native/sun/misc/Version.c b/jdk/src/share/native/sun/misc/Version.c
index 7edba49..214f4d2 100644
--- a/jdk/src/share/native/sun/misc/Version.c
+++ b/jdk/src/share/native/sun/misc/Version.c
@@ -90,10 +90,15 @@
 
     (*func_p)(env, &info, sizeof(info));
     setStaticIntField(env, cls, "jvm_major_version", JVM_VERSION_MAJOR(info.jvm_version));
+    JNU_CHECK_EXCEPTION_RETURN(env, JNI_FALSE);
     setStaticIntField(env, cls, "jvm_minor_version", JVM_VERSION_MINOR(info.jvm_version));
+    JNU_CHECK_EXCEPTION_RETURN(env, JNI_FALSE);
     setStaticIntField(env, cls, "jvm_micro_version", JVM_VERSION_MICRO(info.jvm_version));
+    JNU_CHECK_EXCEPTION_RETURN(env, JNI_FALSE);
     setStaticIntField(env, cls, "jvm_build_number", JVM_VERSION_BUILD(info.jvm_version));
+    JNU_CHECK_EXCEPTION_RETURN(env, JNI_FALSE);
     setStaticIntField(env, cls, "jvm_update_version", info.update_version);
+    JNU_CHECK_EXCEPTION_RETURN(env, JNI_FALSE);
     jvm_special_version = info.special_update_version;
 
     return JNI_TRUE;
@@ -116,10 +121,15 @@
 
     JDK_GetVersionInfo0(&info, sizeof(info));
     setStaticIntField(env, cls, "jdk_major_version", JDK_VERSION_MAJOR(info.jdk_version));
+    JNU_CHECK_EXCEPTION(env);
     setStaticIntField(env, cls, "jdk_minor_version", JDK_VERSION_MINOR(info.jdk_version));
+    JNU_CHECK_EXCEPTION(env);
     setStaticIntField(env, cls, "jdk_micro_version", JDK_VERSION_MICRO(info.jdk_version));
+    JNU_CHECK_EXCEPTION(env);
     setStaticIntField(env, cls, "jdk_build_number", JDK_VERSION_BUILD(info.jdk_version));
+    JNU_CHECK_EXCEPTION(env);
     setStaticIntField(env, cls, "jdk_update_version", info.update_version);
+    JNU_CHECK_EXCEPTION(env);
     jdk_special_version = info.special_update_version;
 }
 
diff --git a/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java b/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java
index e33e08a..1aff478 100644
--- a/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java
+++ b/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2014, 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
@@ -33,6 +33,7 @@
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -173,8 +174,16 @@
     }
 
     @Override
-    public FontDescriptor[] getFontDescriptors(String fontName, int style) {
-        return new FontDescriptor[0];
+    protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
+        CompositeFontDescriptor[] cfi = get2DCompositeFontInfo();
+        int idx = fontIndex * NUM_STYLES + styleIndex;
+        String[] componentFaceNames = cfi[idx].getComponentFaceNames();
+        FontDescriptor[] ret = new FontDescriptor[componentFaceNames.length];
+        for (int i = 0; i < componentFaceNames.length; i++) {
+            ret[i] = new FontDescriptor(componentFaceNames[i], StandardCharsets.UTF_8.newEncoder(), new int[0]);
+        }
+
+        return ret;
     }
 
     @Override
@@ -250,10 +259,12 @@
                 }
 
                 String[] fileNames = new String[numFonts];
+                String[] faceNames = new String[numFonts];
 
                 int index;
                 for (index = 0; index < fcFonts.length; index++) {
                     fileNames[index] = fcFonts[index].fontFile;
+                    faceNames[index] = fcFonts[index].familyName;
                 }
 
                 if (installedFallbackFontFiles != null) {
@@ -266,7 +277,7 @@
                         = new CompositeFontDescriptor(
                             faceName,
                             1,
-                            null,
+                            faceNames,
                             fileNames,
                             null, null);
             }
diff --git a/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java b/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
index e8e756c..d5edf3f 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
@@ -149,7 +149,7 @@
                 int afd = openat(fd, nameAsBytes(file,name), (O_RDONLY|O_XATTR), 0);
 
                 // wrap with channel
-                FileChannel fc = UnixChannelFactory.newFileChannel(afd, true, false);
+                FileChannel fc = UnixChannelFactory.newFileChannel(afd, file.toString(), true, false);
 
                 // read to EOF (nothing we can do if I/O error occurs)
                 try {
@@ -190,7 +190,7 @@
                                  UnixFileModeAttribute.ALL_PERMISSIONS);
 
                 // wrap with channel
-                FileChannel fc = UnixChannelFactory.newFileChannel(afd, false, true);
+                FileChannel fc = UnixChannelFactory.newFileChannel(afd, file.toString(), false, true);
 
                 // write value (nothing we can do if I/O error occurs)
                 try {
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
index d18a466..c6f074e 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
@@ -100,10 +100,10 @@
     /**
      * Constructs a file channel from an existing (open) file descriptor
      */
-    static FileChannel newFileChannel(int fd, boolean reading, boolean writing) {
+    static FileChannel newFileChannel(int fd, String path, boolean reading, boolean writing) {
         FileDescriptor fdObj = new FileDescriptor();
         fdAccess.set(fdObj, fd);
-        return FileChannelImpl.open(fdObj, reading, writing, null);
+        return FileChannelImpl.open(fdObj, path, reading, writing, null);
     }
 
     /**
@@ -134,7 +134,7 @@
             throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed");
 
         FileDescriptor fdObj = open(dfd, path, pathForPermissionCheck, flags, mode);
-        return FileChannelImpl.open(fdObj, flags.read, flags.write, flags.append, null);
+        return FileChannelImpl.open(fdObj, path.toString(), flags.read, flags.write, flags.append, null);
     }
 
     /**
diff --git a/jdk/src/solaris/classes/sun/print/CUPSPrinter.java b/jdk/src/solaris/classes/sun/print/CUPSPrinter.java
index 1327307..a54316e 100644
--- a/jdk/src/solaris/classes/sun/print/CUPSPrinter.java
+++ b/jdk/src/solaris/classes/sun/print/CUPSPrinter.java
@@ -252,6 +252,7 @@
                             try {
                                 return urlConnection.getOutputStream();
                             } catch (Exception e) {
+                               IPPPrintService.debug_println(debugPrefix+e);
                             }
                             return null;
                         }
@@ -282,6 +283,9 @@
 
                     if (responseMap != null && responseMap.length > 0) {
                         defaultMap = responseMap[0];
+                    } else {
+                       IPPPrintService.debug_println(debugPrefix+
+                           " empty response map for GET_DEFAULT.");
                     }
 
                     if (defaultMap == null) {
@@ -310,7 +314,10 @@
 
                     if (attribClass != null) {
                         printerInfo[0] = attribClass.getStringValue();
-                        attribClass = (AttributeClass)defaultMap.get("device-uri");
+                        attribClass = (AttributeClass)
+                            defaultMap.get("printer-uri-supported");
+                        IPPPrintService.debug_println(debugPrefix+
+                          "printer-uri-supported="+attribClass);
                         if (attribClass != null) {
                             printerInfo[1] = attribClass.getStringValue();
                         } else {
diff --git a/jdk/src/solaris/classes/sun/print/IPPPrintService.java b/jdk/src/solaris/classes/sun/print/IPPPrintService.java
index 855b1a9..28d6e1c 100644
--- a/jdk/src/solaris/classes/sun/print/IPPPrintService.java
+++ b/jdk/src/solaris/classes/sun/print/IPPPrintService.java
@@ -1906,9 +1906,8 @@
                                   new HashMap[respList.size()]);
             } else {
                 debug_println(debugPrefix+
-                              "readIPPResponse client error, IPP status code-"
-                                   +Integer.toHexString(response[2])+" & "
-                                   +Integer.toHexString(response[3]));
+                          "readIPPResponse client error, IPP status code: 0x"+
+                          toHex(response[2]) + toHex(response[3]));
                 return null;
             }
 
@@ -1921,6 +1920,10 @@
         }
     }
 
+    private static String toHex(byte v) {
+        String s = Integer.toHexString(v&0xff);
+        return (s.length() == 2) ? s :  "0"+s;
+    }
 
     public String toString() {
         return "IPP Printer : " + getName();
diff --git a/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java b/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
index 5e33086..a3a10e8 100644
--- a/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
+++ b/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
@@ -238,9 +238,25 @@
         String[] printers = null; // array of printer names
         String[] printerURIs = null; //array of printer URIs
 
-        getDefaultPrintService();
+        try {
+            getDefaultPrintService();
+        } catch (Throwable t) {
+            IPPPrintService.debug_println(debugPrefix+
+              "Exception getting default printer : " + t);
+        }
         if (CUPSPrinter.isCupsRunning()) {
-            printerURIs = CUPSPrinter.getAllPrinters();
+            try {
+                printerURIs = CUPSPrinter.getAllPrinters();
+                IPPPrintService.debug_println("CUPS URIs = " + printerURIs);
+                if (printerURIs != null) {
+                    for (int p = 0; p < printerURIs.length; p++) {
+                       IPPPrintService.debug_println("URI="+printerURIs[p]);
+                    }
+                }
+            } catch (Throwable t) {
+            IPPPrintService.debug_println(debugPrefix+
+              "Exception getting all CUPS printers : " + t);
+            }
             if ((printerURIs != null) && (printerURIs.length > 0)) {
                 printers = new String[printerURIs.length];
                 for (int i=0; i<printerURIs.length; i++) {
@@ -595,8 +611,10 @@
                                       (CUPSPrinter.isCupsRunning()));
         if (CUPSPrinter.isCupsRunning()) {
             String[] printerInfo = CUPSPrinter.getDefaultPrinter();
-            defaultPrinter = printerInfo[0];
-            psuri = printerInfo[1];
+            if (printerInfo != null && printerInfo.length >= 2) {
+                defaultPrinter = printerInfo[0];
+                psuri = printerInfo[1];
+            }
         } else {
             if (isMac() || isSysV()) {
                 defaultPrinter = getDefaultPrinterNameSysV();
diff --git a/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
index 3568756..86c3a70 100644
--- a/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
+++ b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
@@ -517,6 +517,8 @@
         } else if (ret == JVM_IO_ERR) {
             if (errno == EBADF) {
                  JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+            } else if (errno == ENOMEM) {
+                 JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
             } else {
                  NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Peek failed");
             }
@@ -617,15 +619,18 @@
                             "Receive timed out");
             return -1;
         } else if (ret == JVM_IO_ERR) {
+            if (errno == ENOMEM) {
+                JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
 #ifdef __linux__
-            if (errno == EBADF) {
+            } else if (errno == EBADF) {
                 JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
             } else {
                 NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
-            }
 #else
-            JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+            } else {
+                JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
 #endif
+            }
             return -1;
         } else if (ret == JVM_IO_INTR) {
             JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
@@ -835,15 +840,18 @@
                     JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
                                     "Receive timed out");
                 } else if (ret == JVM_IO_ERR) {
+                     if (errno == ENOMEM) {
+                        JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
 #ifdef __linux__
-                    if (errno == EBADF) {
+                     } else if (errno == EBADF) {
                          JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
                      } else {
                          NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
-                     }
 #else
-                     JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+                     } else {
+                         JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
 #endif
+                     }
                 } else if (ret == JVM_IO_INTR) {
                     JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
                                     "operation interrupted");
diff --git a/jdk/src/solaris/native/java/net/PlainSocketImpl.c b/jdk/src/solaris/native/java/net/PlainSocketImpl.c
index b6f78b9..5fed070 100644
--- a/jdk/src/solaris/native/java/net/PlainSocketImpl.c
+++ b/jdk/src/solaris/native/java/net/PlainSocketImpl.c
@@ -708,7 +708,6 @@
         } else {
             ret = NET_Timeout(fd, timeout);
         }
-
         if (ret == 0) {
             JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
                             "Accept timed out");
@@ -716,6 +715,8 @@
         } else if (ret == JVM_IO_ERR) {
             if (errno == EBADF) {
                JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+            } else if (errno == ENOMEM) {
+               JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
             } else {
                NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Accept failed");
             }
diff --git a/jdk/src/solaris/native/java/net/SocketInputStream.c b/jdk/src/solaris/native/java/net/SocketInputStream.c
index ccee03c..8643262 100644
--- a/jdk/src/solaris/native/java/net/SocketInputStream.c
+++ b/jdk/src/solaris/native/java/net/SocketInputStream.c
@@ -108,6 +108,8 @@
             } else if (nread == JVM_IO_ERR) {
                 if (errno == EBADF) {
                      JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+                 } else if (errno == ENOMEM) {
+                     JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
                  } else {
                      NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
                                                   "select/poll failed");
diff --git a/jdk/src/solaris/native/java/net/bsd_close.c b/jdk/src/solaris/native/java/net/bsd_close.c
index f314357..5ec3bea 100644
--- a/jdk/src/solaris/native/java/net/bsd_close.c
+++ b/jdk/src/solaris/native/java/net/bsd_close.c
@@ -25,6 +25,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/param.h>
 #include <signal.h>
 #include <pthread.h>
 #include <sys/types.h>
@@ -35,7 +36,6 @@
 #include <sys/uio.h>
 #include <unistd.h>
 #include <errno.h>
-
 #include <sys/poll.h>
 
 /*
@@ -347,6 +347,10 @@
 int NET_Timeout(int s, long timeout) {
     long prevtime = 0, newtime;
     struct timeval t, *tp = &t;
+    fd_set fds;
+    fd_set* fdsp = NULL;
+    int allocated = 0;
+    threadEntry_t self;
     fdEntry_t *fdEntry = getFdEntry(s);
 
     /*
@@ -376,20 +380,29 @@
         t.tv_usec = 0;
     }
 
+    if (s < FD_SETSIZE) {
+        fdsp = &fds;
+        FD_ZERO(fdsp);
+    } else {
+        int length = (howmany(s+1, NFDBITS)) * sizeof(int);
+        fdsp = (fd_set *) calloc(1, length);
+        if (fdsp == NULL) {
+            return -1;   // errno will be set to ENOMEM
+        }
+        allocated = 1;
+    }
+    FD_SET(s, fdsp);
+
     for(;;) {
-        fd_set rfds;
         int rv;
-        threadEntry_t self;
 
         /*
          * call select on the fd. If interrupted by our wakeup signal
          * errno will be set to EBADF.
          */
-        FD_ZERO(&rfds);
-        FD_SET(s, &rfds);
 
         startOp(fdEntry, &self);
-        rv = select(s+1, &rfds, 0, 0, tp);
+        rv = select(s+1, fdsp, 0, 0, tp);
         endOp(fdEntry, &self);
 
         /*
@@ -403,6 +416,8 @@
                 newtime = now.tv_sec * 1000  +  now.tv_usec / 1000;
                 timeout -= newtime - prevtime;
                 if (timeout <= 0) {
+                    if (allocated != 0)
+                        free(fdsp);
                     return 0;
                 }
                 prevtime = newtime;
@@ -410,6 +425,8 @@
                 t.tv_usec = (timeout % 1000) * 1000;
             }
         } else {
+            if (allocated != 0)
+                free(fdsp);
             return rv;
         }
 
diff --git a/jdk/src/solaris/native/java/net/linux_close.c b/jdk/src/solaris/native/java/net/linux_close.c
index 38d9986..2d3dfe2 100644
--- a/jdk/src/solaris/native/java/net/linux_close.c
+++ b/jdk/src/solaris/native/java/net/linux_close.c
@@ -34,7 +34,6 @@
 #include <sys/uio.h>
 #include <unistd.h>
 #include <errno.h>
-
 #include <sys/poll.h>
 
 /*
diff --git a/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c b/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
index 2838cba..7692d01 100644
--- a/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
+++ b/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -109,7 +109,7 @@
     jvm = vm;
 
     /* Get address of this library and the directory containing it. */
-    dladdr((void *)JNI_OnLoad, &dlinfo);
+    dladdr((void *)AWT_OnLoad, &dlinfo);
     realpath((char *)dlinfo.dli_fname, buf);
     len = strlen(buf);
     p = strrchr(buf, '/');
diff --git a/jdk/src/solaris/native/sun/awt/gtk2_interface.c b/jdk/src/solaris/native/sun/awt/gtk2_interface.c
index efe0797..cfcef70 100644
--- a/jdk/src/solaris/native/sun/awt/gtk2_interface.c
+++ b/jdk/src/solaris/native/sun/awt/gtk2_interface.c
@@ -32,6 +32,7 @@
 #include "java_awt_Transparency.h"
 #include "jvm_md.h"
 #include "sizecalc.h"
+#include <jni_util.h>
 
 #define GTK2_LIB_VERSIONED VERSIONED_JNI_LIB_NAME("gtk-x11-2.0", "0")
 #define GTK2_LIB JNI_LIB_NAME("gtk-x11-2.0")
@@ -456,13 +457,19 @@
     const gchar * const * schemes = NULL;
 
     jclass cls_action = (*env)->FindClass(env, "java/awt/Desktop$Action");
+    CHECK_NULL(cls_action);
     jclass cls_xDesktopPeer = (*env)->FindClass(env, "sun/awt/X11/XDesktopPeer");
+    CHECK_NULL(cls_xDesktopPeer);
     jfieldID fld_supportedActions = (*env)->GetStaticFieldID(env, cls_xDesktopPeer, "supportedActions", "Ljava/util/List;");
+    CHECK_NULL(fld_supportedActions);
     jobject supportedActions = (*env)->GetStaticObjectField(env, cls_xDesktopPeer, fld_supportedActions);
 
     jclass cls_arrayList = (*env)->FindClass(env, "java/util/ArrayList");
+    CHECK_NULL(cls_arrayList);
     jmethodID mid_arrayListAdd = (*env)->GetMethodID(env, cls_arrayList, "add", "(Ljava/lang/Object;)Z");
+    CHECK_NULL(mid_arrayListAdd);
     jmethodID mid_arrayListClear = (*env)->GetMethodID(env, cls_arrayList, "clear", "()V");
+    CHECK_NULL(mid_arrayListClear);
 
     (*env)->CallVoidMethod(env, supportedActions, mid_arrayListClear);
 
diff --git a/jdk/src/solaris/native/sun/nio/ch/NativeThread.c b/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
index 79a91a0..5e2a78b 100644
--- a/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
+++ b/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
@@ -32,27 +32,32 @@
 #include "sun_nio_ch_NativeThread.h"
 #include "nio_util.h"
 
-
 #ifdef __linux__
-#include <pthread.h>
-#include <sys/signal.h>
-
-/* Also defined in src/solaris/native/java/net/linux_close.c */
-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
+  #include <pthread.h>
+  #include <sys/signal.h>
+  /* Also defined in net/linux_close.c */
+  #define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
+#elif __solaris__
+  #include <thread.h>
+  #include <signal.h>
+  #define INTERRUPT_SIGNAL (SIGRTMAX - 2)
+#elif _ALLBSD_SOURCE
+  #include <pthread.h>
+  #include <signal.h>
+  /* Also defined in net/bsd_close.c */
+  #define INTERRUPT_SIGNAL SIGIO
+#else
+  #error "missing platform-specific definition here"
+#endif
 
 static void
 nullHandler(int sig)
 {
 }
 
-#endif
-
-
 JNIEXPORT void JNICALL
 Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
 {
-#ifdef __linux__
-
     /* Install the null handler for INTERRUPT_SIGNAL.  This might overwrite the
      * handler previously installed by java/net/linux_close.c, but that's okay
      * since neither handler actually does anything.  We install our own
@@ -67,25 +72,27 @@
     sigemptyset(&sa.sa_mask);
     if (sigaction(INTERRUPT_SIGNAL, &sa, &osa) < 0)
         JNU_ThrowIOExceptionWithLastError(env, "sigaction");
-
-#endif
 }
 
 JNIEXPORT jlong JNICALL
 Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
 {
-#ifdef __linux__
-    return (long)pthread_self();
+#ifdef __solaris__
+    return (jlong)thr_self();
 #else
-    return -1;
+    return (jlong)pthread_self();
 #endif
 }
 
 JNIEXPORT void JNICALL
 Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
 {
-#ifdef __linux__
-    if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
-        JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
+    int ret;
+#ifdef __solaris__
+    ret = thr_kill((thread_t)thread, INTERRUPT_SIGNAL);
+#else
+    ret = pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL);
 #endif
+    if (ret != 0)
+        JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
 }
diff --git a/jdk/src/windows/bin/java_md.c b/jdk/src/windows/bin/java_md.c
index 4078ecc..d08f2bf 100644
--- a/jdk/src/windows/bin/java_md.c
+++ b/jdk/src/windows/bin/java_md.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, 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
@@ -179,7 +179,7 @@
     int wanted = running;
 
     char** argv = *pargv;
-    for (i = 0; i < *pargc ; i++) {
+    for (i = 1; i < *pargc ; i++) {
         if (JLI_StrCmp(argv[i], "-J-d64") == 0 || JLI_StrCmp(argv[i], "-d64") == 0) {
             wanted = 64;
             continue;
@@ -188,6 +188,11 @@
             wanted = 32;
             continue;
         }
+
+        if (IsJavaArgs() && argv[i][0] != '-')
+            continue;
+        if (argv[i][0] != '-')
+            break;
     }
     if (running != wanted) {
         JLI_ReportErrorMessage(JRE_ERROR2, wanted);
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java b/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
index d9b1489..46d063c 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
@@ -25,19 +25,22 @@
 
 package sun.nio.fs;
 
-import java.nio.file.*;
-import java.nio.channels.*;
 import java.io.FileDescriptor;
 import java.io.IOException;
-import java.util.*;
+import java.nio.channels.AsynchronousFileChannel;
+import java.nio.channels.FileChannel;
+import java.nio.file.LinkOption;
+import java.nio.file.OpenOption;
+import java.nio.file.StandardOpenOption;
+import java.util.Set;
 
 import com.sun.nio.file.ExtendedOpenOption;
 
+import sun.misc.JavaIOFileDescriptorAccess;
+import sun.misc.SharedSecrets;
 import sun.nio.ch.FileChannelImpl;
 import sun.nio.ch.ThreadPool;
 import sun.nio.ch.WindowsAsynchronousFileChannelImpl;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
 
 import static sun.nio.fs.WindowsNativeDispatcher.*;
 import static sun.nio.fs.WindowsConstants.*;
@@ -157,7 +160,7 @@
             throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed");
 
         FileDescriptor fdObj = open(pathForWindows, pathToCheck, flags, pSecurityDescriptor);
-        return FileChannelImpl.open(fdObj, flags.read, flags.write, flags.append, null);
+        return FileChannelImpl.open(fdObj, pathForWindows, flags.read, flags.write, flags.append, null);
     }
 
     /**
diff --git a/jdk/src/windows/native/sun/security/krb5/NativeCreds.c b/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
index f24e79a..7431333 100644
--- a/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
+++ b/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
@@ -388,7 +388,7 @@
     jobject ticketFlags, startTime, endTime, krbCreds = NULL;
     jobject authTime, renewTillTime, hostAddresses = NULL;
     KERB_EXTERNAL_TICKET *msticket;
-    int found_in_cache = 0;
+    int found = 0;
     FILETIME Now, EndTime, LocalEndTime;
 
     int i, netypes;
@@ -476,7 +476,7 @@
             if (CompareFileTime(&Now, &LocalEndTime) < 0) {
                 for (i=0; i<netypes; i++) {
                     if (etypes[i] == msticket->SessionKey.KeyType) {
-                        found_in_cache = 1;
+                        found = 1;
                         if (native_debug) {
                             printf("LSA: Valid etype found: %d\n", etypes[i]);
                         }
@@ -486,7 +486,7 @@
             }
         }
 
-        if (!found_in_cache) {
+        if (!found) {
             if (native_debug) {
                 printf("LSA: MS TGT in cache is invalid/not supported; request new ticket\n");
             }
@@ -529,6 +529,14 @@
 
                 // got the native MS Kerberos TGT
                 msticket = &(pTicketResponse->Ticket);
+
+                if (msticket->SessionKey.KeyType != etypes[i]) {
+                    if (native_debug) {
+                        printf("LSA: Response etype is %d for %d. Retry.\n", msticket->SessionKey.KeyType, etypes[i]);
+                    }
+                    continue;
+                }
+                found = 1;
                 break;
             }
         }
@@ -583,6 +591,10 @@
         } KERB_CRYPTO_KEY, *PKERB_CRYPTO_KEY;
 
         */
+        if (!found) {
+            break;
+        }
+
         // Build a com.sun.security.krb5.Ticket
         ticket = BuildTicket(env, msticket->EncodedTicket,
                                 msticket->EncodedTicketSize);
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index 7c83f52..1d9efbc 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -183,11 +183,6 @@
 # 6963118
 java/nio/channels/Selector/Wakeup.java                          windows-all
 
-# 7133499, 7133497
-java/nio/channels/AsyncCloseAndInterrupt.java                   macosx-all
-java/nio/channels/AsynchronousFileChannel/Lock.java             macosx-all
-java/nio/channels/FileChannel/Transfer.java                     macosx-all
-
 # 7141822
 java/nio/channels/DatagramChannel/ChangingAddress.java          macosx-all
 
@@ -263,9 +258,6 @@
 
 # jdk_tools
 
-# 7132203
-sun/jvmstat/monitor/MonitoredVm/CR6672135.java                  generic-all
-
 # 8028474
 sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh      generic-all
 
@@ -280,12 +272,6 @@
 
 # jdk_jdi
 
-# Filed 6952105
-com/sun/jdi/SuspendThreadTest.java                              generic-all
-
-# Filed 6653793
-com/sun/jdi/RedefineCrossEvent.java                             generic-all
-
 ############################################################################
 
 # jdk_util
diff --git a/jdk/test/com/sun/jdi/BadHandshakeTest.java b/jdk/test/com/sun/jdi/BadHandshakeTest.java
index 8e35442..35afb33 100644
--- a/jdk/test/com/sun/jdi/BadHandshakeTest.java
+++ b/jdk/test/com/sun/jdi/BadHandshakeTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -85,7 +85,7 @@
                 success.set(line.contains("Listening for transport dt_socket at address:"));
                 return true;
             },
-            1500,
+            Integer.MAX_VALUE,
             TimeUnit.MILLISECONDS
         );
 
diff --git a/jdk/test/com/sun/jdi/ExclusiveBind.java b/jdk/test/com/sun/jdi/ExclusiveBind.java
index 3389ee2..d53efd8 100644
--- a/jdk/test/com/sun/jdi/ExclusiveBind.java
+++ b/jdk/test/com/sun/jdi/ExclusiveBind.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -25,57 +25,28 @@
  * @bug 4531526
  * @summary Test that more than one debuggee cannot bind to same port
  *          at the same time.
+ * @library /lib/testlibrary
  *
+ * @build jdk.testlibrary.ProcessTools jdk.testlibrary.JDKToolLauncher jdk.testlibrary.Utils
  * @build VMConnection ExclusiveBind HelloWorld
  * @run main ExclusiveBind
  */
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
 import java.net.ServerSocket;
 import com.sun.jdi.Bootstrap;
 import com.sun.jdi.VirtualMachine;
 import com.sun.jdi.connect.Connector;
 import com.sun.jdi.connect.AttachingConnector;
+
+import java.util.ArrayList;
 import java.util.Map;
 import java.util.List;
 import java.util.Iterator;
+import java.util.concurrent.TimeUnit;
+
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
 
 public class ExclusiveBind {
-
-    /*
-     * Helper class to direct process output to the parent
-     * System.out
-     */
-    static class IOHandler implements Runnable {
-        InputStream in;
-
-        IOHandler(InputStream in) {
-            this.in = in;
-        }
-
-        static void handle(InputStream in) {
-            IOHandler handler = new IOHandler(in);
-            Thread thr = new Thread(handler);
-            thr.setDaemon(true);
-            thr.start();
-        }
-
-        public void run() {
-            try {
-                byte b[] = new byte[100];
-                for (;;) {
-                    int n = in.read(b);
-                    if (n < 0) return;
-                    for (int i=0; i<n; i++) {
-                        System.out.print((char)b[i]);
-                    }
-                }
-            } catch (IOException ioe) { }
-        }
-
-    }
-
     /*
      * Find a connector by name
      */
@@ -95,25 +66,23 @@
      * Launch (in server mode) a debuggee with the given address and
      * suspend mode.
      */
-    private static Process launch(String address, boolean suspend, String class_name) throws IOException {
-        String exe = System.getProperty("java.home") + File.separator + "bin" +
-            File.separator + "java";
-        String cmd = exe + " " + VMConnection.getDebuggeeVMOptions() +
-            " -agentlib:jdwp=transport=dt_socket,server=y,suspend=";
-        if (suspend) {
-            cmd += "y";
-        } else {
-            cmd += "n";
+    private static ProcessBuilder prepareLauncher(String address, boolean suspend, String class_name) throws Exception {
+        List<String> args = new ArrayList<>();
+        for(String dbgOption : VMConnection.getDebuggeeVMOptions().split(" ")) {
+            args.add(dbgOption);
         }
-        cmd += ",address=" + address + " " + class_name;
+        String lib = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=";
+        if (suspend) {
+            lib += "y";
+        } else {
+            lib += "n";
+        }
+        lib += ",address=" + address;
 
-        System.out.println("Starting: " + cmd);
+        args.add(lib);
+        args.add(class_name);
 
-        Process p = Runtime.getRuntime().exec(cmd);
-        IOHandler.handle(p.getInputStream());
-        IOHandler.handle(p.getErrorStream());
-
-        return p;
+        return ProcessTools.createJavaProcessBuilder(args.toArray(new String[args.size()]));
     }
 
     /*
@@ -132,16 +101,21 @@
         String address = String.valueOf(port);
 
         // launch the first debuggee
-        Process process1 = launch(address, true, "HelloWorld");
-
-        // give first debuggee time to suspend
-        Thread.currentThread().sleep(5000);
+        ProcessBuilder process1 = prepareLauncher(address, true, "HelloWorld");
+        // start the debuggee and wait for the "ready" message
+        Process p = ProcessTools.startProcess(
+                "process1",
+                process1,
+                line -> line.equals("Listening for transport dt_socket at address: " + address),
+                Math.round(5000 * Utils.TIMEOUT_FACTOR),
+                TimeUnit.MILLISECONDS
+        );
 
         // launch a second debuggee with the same address
-        Process process2 = launch(address, false, "HelloWorld");
+        ProcessBuilder process2 = prepareLauncher(address, false, "HelloWorld");
 
         // get exit status from second debuggee
-        int exitCode = process2.waitFor();
+        int exitCode = ProcessTools.startProcess("process2", process2).waitFor();
 
         // clean-up - attach to first debuggee and resume it
         AttachingConnector conn = (AttachingConnector)findConnector("com.sun.jdi.SocketAttach");
diff --git a/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.html b/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.html
new file mode 100644
index 0000000..85e187d
--- /dev/null
+++ b/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.html
@@ -0,0 +1,32 @@
+<!--
+ Copyright (c) 2013, 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.
+-->
+
+<html>
+    <head>
+        <title>High resolution custom cursor test, bug ID 8028212</title>
+    </head>
+    <body>
+    <applet CODE="MultiResolutionCursorTest.class" WIDTH=300 HEIGHT=100></applet>
+    <p> See the dialog box (usually in upper left corner) for instructions</p>
+</body>
+</html>
\ No newline at end of file
diff --git a/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java b/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java
new file mode 100644
index 0000000..9507bb4
--- /dev/null
+++ b/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java
@@ -0,0 +1,266 @@
+/*
+ * Copyright (c) 2013, 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 java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Dialog;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Label;
+import java.awt.Point;
+import java.awt.TextArea;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+import java.util.LinkedList;
+import java.util.List;
+import javax.swing.JApplet;
+import sun.awt.OSInfo;
+import sun.awt.image.MultiResolutionImage;
+
+/**
+ * @test
+ * @bug 8028212
+ * @summary [macosx] Custom Cursor HiDPI support
+ * @author Alexander Scherbatiy
+ * @run applet/manual=yesno MultiResolutionCursorTest.html
+ */
+public class MultiResolutionCursorTest extends JApplet {
+    //Declare things used in the test, like buttons and labels here
+
+    static final int sizes[] = {16, 32, 128};
+    static final Color colors[] = {Color.WHITE, Color.RED, Color.GREEN, Color.BLUE};
+
+    public void init() {
+        //Create instructions for the user here, as well as set up
+        // the environment -- set the layout manager, add buttons,
+        // etc.
+        this.setLayout(new BorderLayout());
+
+        if (OSInfo.getOSType().equals(OSInfo.OSType.MACOSX)) {
+            String[] instructions = {
+                "Verify that high resolution custom cursor is used"
+                + " on HiDPI displays.",
+                "1) Run the test on Retina display or enable the Quartz Debug"
+                + " and select the screen resolution with (HiDPI) label",
+                "2) Move the cursor to the Test Frame",
+                "3) Check that cursor has red, green or blue color",
+                "If so, press PASS, else press FAIL."
+            };
+            Sysout.createDialogWithInstructions(instructions);
+
+        } else {
+            String[] instructions = {
+                "This test is not applicable to the current platform. Press PASS."
+            };
+            Sysout.createDialogWithInstructions(instructions);
+        }
+    }//End  init()
+
+    public void start() {
+        //Get things going.  Request focus, set size, et cetera
+        setSize(200, 200);
+        setVisible(true);
+        validate();
+
+        final Image image = new MultiResolutionCursor();
+
+        int center = sizes[0] / 2;
+        Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(
+                image, new Point(center, center), "multi-resolution cursor");
+
+        Frame frame = new Frame("Test Frame");
+        frame.setSize(300, 300);
+        frame.setLocation(300, 50);
+        frame.add(new Label("Move cursor here"));
+        frame.setCursor(cursor);
+        frame.setVisible(true);
+    }// start()
+
+
+    static class MultiResolutionCursor extends BufferedImage implements MultiResolutionImage {
+
+        List<Image> highResolutionImages;
+
+        public MultiResolutionCursor() {
+            super(sizes[0], sizes[0], BufferedImage.TYPE_INT_RGB);
+
+            draw(getGraphics(), 0);
+            highResolutionImages = new LinkedList<>();
+            highResolutionImages.add(this);
+
+            for (int i = 1; i < sizes.length; i++) {
+                BufferedImage highResolutionImage =
+                        new BufferedImage(sizes[i], sizes[i], BufferedImage.TYPE_INT_RGB);
+                draw(highResolutionImage.getGraphics(), i);
+                highResolutionImages.add(highResolutionImage);
+            }
+        }
+
+        @Override
+        public Image getResolutionVariant(int width, int height) {
+
+            for (int i = 0; i < sizes.length; i++) {
+                Image image = highResolutionImages.get(i);
+                int w = image.getWidth(null);
+                int h = image.getHeight(null);
+
+                if (width <= w && height <= h) {
+                    return image;
+                }
+            }
+
+            return highResolutionImages.get(highResolutionImages.size() - 1);
+        }
+
+        void draw(Graphics graphics, int index) {
+            Graphics2D g2 = (Graphics2D) graphics;
+            Color color = colors[index];
+            g2.setColor(color);
+            g2.fillRect(0, 0, sizes[index], sizes[index]);
+        }
+
+        @Override
+        public List<Image> getResolutionVariants() {
+            return highResolutionImages;
+        }
+    }
+}// class BlockedWindowTest
+
+/* Place other classes related to the test after this line */
+/**
+ * **************************************************
+ * Standard Test Machinery DO NOT modify anything below -- it's a standard chunk
+ * of code whose purpose is to make user interaction uniform, and thereby make
+ * it simpler to read and understand someone else's test.
+ * **************************************************
+ */
+/**
+ * This is part of the standard test machinery. It creates a dialog (with the
+ * instructions), and is the interface for sending text messages to the user. To
+ * print the instructions, send an array of strings to Sysout.createDialog
+ * WithInstructions method. Put one line of instructions per array entry. To
+ * display a message for the tester to see, simply call Sysout.println with the
+ * string to be displayed. This mimics System.out.println but works within the
+ * test harness as well as standalone.
+ */
+class Sysout {
+
+    private static TestDialog dialog;
+
+    public static void createDialogWithInstructions(String[] instructions) {
+        dialog = new TestDialog(new Frame(), "Instructions");
+        dialog.printInstructions(instructions);
+        dialog.setVisible(true);
+        println("Any messages for the tester will display here.");
+    }
+
+    public static void createDialog() {
+        dialog = new TestDialog(new Frame(), "Instructions");
+        String[] defInstr = {"Instructions will appear here. ", ""};
+        dialog.printInstructions(defInstr);
+        dialog.setVisible(true);
+        println("Any messages for the tester will display here.");
+    }
+
+    public static void printInstructions(String[] instructions) {
+        dialog.printInstructions(instructions);
+    }
+
+    public static void println(String messageIn) {
+        dialog.displayMessage(messageIn);
+    }
+}// Sysout  class
+
+/**
+ * This is part of the standard test machinery. It provides a place for the test
+ * instructions to be displayed, and a place for interactive messages to the
+ * user to be displayed. To have the test instructions displayed, see Sysout. To
+ * have a message to the user be displayed, see Sysout. Do not call anything in
+ * this dialog directly.
+ */
+class TestDialog extends Dialog {
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog(Frame frame, String name) {
+        super(frame, name);
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
+        add("North", instructionsText);
+
+        messageText = new TextArea("", 5, maxStringLength, scrollBoth);
+        add("Center", messageText);
+
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions(String[] instructions) {
+        //Clear out any current instructions
+        instructionsText.setText("");
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for (int i = 0; i < instructions.length; i++) {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i];
+            while (remainingStr.length() > 0) {
+                //if longer than max then chop off first max chars to print
+                if (remainingStr.length() >= maxStringLength) {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.lastIndexOf(' ', maxStringLength - 1);
+
+                    if (posOfSpace <= 0) {
+                        posOfSpace = maxStringLength - 1;
+                    }
+
+                    printStr = remainingStr.substring(0, posOfSpace + 1);
+                    remainingStr = remainingStr.substring(posOfSpace + 1);
+                } //else just print
+                else {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append(printStr + "\n");
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage(String messageIn) {
+        messageText.append(messageIn + "\n");
+        System.out.println(messageIn);
+    }
+}// Te
\ No newline at end of file
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java
index d66982d..587db43 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/InterprocessMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -24,5 +24,6 @@
 interface InterprocessMessages {
     final static int EXECUTION_IS_SUCCESSFULL = 0;
     final static int DATA_IS_CORRUPTED = 212;
+    final static int NO_DROP_HAPPENED = 112;
 }
 
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
index af168b4..7f2a48d 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2013, 2014, 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
@@ -24,7 +24,7 @@
 <html>
 <!--  
   @test
-  @bug 8005932
+  @bug 8005932 8017456
   @summary Java 7 on mac os x only provides text clipboard formats
   @author mikhail.cherkasov@oracle.com
   @library ../../regtesthelpers
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java
index 598426f..4c303cc 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -21,17 +21,6 @@
  * questions.
  */
 
-/*
-  @bug 8005932
-  @summary Java 7 on mac os x only provides text clipboard formats
-  @author mikhail.cherkasov@oracle.com
-  @library ../../regtesthelpers
-  @library ../../regtesthelpers/process
-  @build Util
-  @build ProcessResults ProcessCommunicator
-  @run applet/othervm MissedHtmlAndRtfBug.html
-*/
-
 import java.awt.*;
 import java.awt.datatransfer.DataFlavor;
 import java.awt.event.*;
@@ -47,6 +36,7 @@
 import static java.lang.Thread.sleep;
 
 public class MissedHtmlAndRtfBug extends Applet {
+
     public void init() {
         setLayout(new BorderLayout());
     }//End  init()
@@ -82,9 +72,6 @@
         args.add(concatStrings(DataFlavorSearcher.RICH_TEXT_NAMES));
 
         ProcessResults processResults =
-//                ProcessCommunicator.executeChildProcess(this.getClass(), "/Users/mcherkasov/ws/clipboard/DataFlover/out/production/DataFlover" +
-//                        " -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 ",
-//                        args.toArray(new String[0]));
                 ProcessCommunicator.executeChildProcess(this.getClass(),
                         "." + File.separator + System.getProperty("java.class.path"), args.toArray(new String[]{}));
 
@@ -117,6 +104,13 @@
             throw new RuntimeException("TEST IS FAILED: Target has received" +
                     " corrupted data.");
         }
+        if (InterprocessMessages.NO_DROP_HAPPENED ==
+                processResults.getExitValue()) {
+            processResults.printProcessErrorOutput(System.err);
+            throw new RuntimeException("Error. Drop did not happen." +
+                " Target frame is possibly covered by a window of other application." +
+                " Please, rerun the test with all windows minimized.");
+        }
         processResults.verifyStdErr(System.err);
         processResults.verifyProcessExitValue(System.err);
         processResults.printProcessStandartOutput(System.out);
@@ -184,7 +178,7 @@
         }
     }
 
-    public static void main(String[] args) {
+    public static void main(String[] args) throws InterruptedException {
         Point dragSourcePoint = new Point(InterprocessArguments.DRAG_SOURCE_POINT_X_ARGUMENT.extractInt(args),
                 InterprocessArguments.DRAG_SOURCE_POINT_Y_ARGUMENT.extractInt(args));
         Point targetFrameLocation = new Point(InterprocessArguments.TARGET_FRAME_X_POSITION_ARGUMENT.extractInt(args),
@@ -197,6 +191,8 @@
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
+        sleep(5000);
+        System.exit(InterprocessMessages.NO_DROP_HAPPENED);
     }
 
 
diff --git a/jdk/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java b/jdk/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java
new file mode 100644
index 0000000..7a671b7
--- /dev/null
+++ b/jdk/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2014, 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 8031694
+  @summary [macosx] TwentyThousandTest test intermittently hangs
+  @author Oleg Pekhovskiy
+  @run main EDTShutdownTest
+ */
+
+import java.awt.EventQueue;
+import java.awt.Toolkit;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import sun.awt.AWTAccessor;
+
+public class EDTShutdownTest {
+
+    private static boolean passed = false;
+
+    public static void main(String[] args) {
+        // Force EDT start with InvocationEvent
+        EventQueue.invokeLater(() -> {
+            // EventQueue is empty now
+            EventQueue queue = Toolkit.getDefaultToolkit()
+                               .getSystemEventQueue();
+            Thread thread = AWTAccessor.getEventQueueAccessor()
+                            .getDispatchThread(queue);
+            try {
+                /*
+                 * Clear EventDispatchThread.doDispatch flag to break message
+                 * loop in EventDispatchThread.pumpEventsForFilter()
+                 */
+                Method stopDispatching = thread.getClass()
+                        .getDeclaredMethod("stopDispatching", null);
+                stopDispatching.setAccessible(true);
+                stopDispatching.invoke(thread, null);
+
+                /*
+                 * Post another InvocationEvent that must be handled by another
+                 * instance of EDT
+                 */
+                EventQueue.invokeLater(() -> {
+                    passed = true;
+                });
+            }
+            catch (InvocationTargetException | NoSuchMethodException
+                   | IllegalAccessException e) {
+            }
+        });
+
+        // Wait for EDT shutdown
+        EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
+        Thread thread = AWTAccessor.getEventQueueAccessor()
+                        .getDispatchThread(queue);
+        try {
+            thread.join();
+
+            /*
+             * Wait for another EDT instance to handle the InvocationEvent
+             * and shutdown
+             */
+            thread = AWTAccessor.getEventQueueAccessor()
+                     .getDispatchThread(queue);
+            if (thread != null) {
+                thread.join();
+            }
+        }
+        catch (InterruptedException e) {
+        }
+
+        if (passed) {
+            System.out.println("Test PASSED!");
+        }
+        else {
+            throw new RuntimeException("Test FAILED!");
+        }
+    }
+}
diff --git a/jdk/test/java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java b/jdk/test/java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java
new file mode 100644
index 0000000..b0f3c63
--- /dev/null
+++ b/jdk/test/java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2014, 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 8032078
+   @summary Frame.setExtendedState throws RuntimeException, if
+            windowState=ICONIFIED|MAXIMIZED_BOTH, on OS X
+   @author Anton Litvinov
+*/
+
+import java.awt.*;
+
+import sun.awt.SunToolkit;
+
+public class ExceptionOnSetExtendedStateTest {
+    private static final int[] frameStates = { Frame.NORMAL, Frame.ICONIFIED, Frame.MAXIMIZED_BOTH };
+    private static final SunToolkit toolkit = (SunToolkit)Toolkit.getDefaultToolkit();
+
+    private static boolean validatePlatform() {
+        String osName = System.getProperty("os.name");
+        if (osName == null) {
+            throw new RuntimeException("Name of the current OS could not be retrieved.");
+        }
+        return osName.startsWith("Mac");
+    }
+
+    private static void testStateChange(int oldState, int newState, boolean decoratedFrame) {
+        System.out.println(String.format(
+            "testStateChange: oldState='%d', newState='%d', decoratedFrame='%b'",
+            oldState, newState, decoratedFrame));
+
+        Frame frame = new Frame("ExceptionOnSetExtendedStateTest");
+        frame.setSize(200, 200);
+        frame.setUndecorated(!decoratedFrame);
+        frame.setVisible(true);
+        toolkit.realSync();
+
+        frame.setExtendedState(oldState);
+        sleep(1000);
+        frame.setExtendedState(newState);
+
+        boolean stateWasNotChanged = true;
+        int currentState = 0;
+        for (int i = 0; (i < 3) && stateWasNotChanged; i++) {
+            sleep(1000);
+            currentState = frame.getExtendedState();
+            if ((currentState == newState) ||
+                (((newState & Frame.ICONIFIED) != 0) && ((currentState & Frame.ICONIFIED) != 0))) {
+                stateWasNotChanged = false;
+            }
+        }
+        frame.dispose();
+
+        if (stateWasNotChanged) {
+            throw new RuntimeException(String.format(
+                "Frame state was not changed. currentState='%d'", currentState));
+        }
+    }
+
+    private static void sleep(int millis) {
+        try {
+            Thread.sleep(millis);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) {
+        if (!validatePlatform()) {
+            System.out.println("This test is only for OS X.");
+            return;
+        }
+
+        // Verify that changing states of decorated/undecorated frame to/from supported states
+        // and the state bit mask ICONIFIED | MAXIMIZED_BOTH does not raise RuntimeException.
+        for (int i = 0; i < frameStates.length; i++) {
+            testStateChange(frameStates[i], Frame.ICONIFIED | Frame.MAXIMIZED_BOTH, true);
+            testStateChange(frameStates[i], Frame.ICONIFIED | Frame.MAXIMIZED_BOTH, false);
+            testStateChange(Frame.ICONIFIED | Frame.MAXIMIZED_BOTH, frameStates[i], true);
+            testStateChange(Frame.ICONIFIED | Frame.MAXIMIZED_BOTH, frameStates[i], false);
+        }
+    }
+}
diff --git a/jdk/test/java/awt/Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java b/jdk/test/java/awt/Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java
new file mode 100644
index 0000000..6937a10
--- /dev/null
+++ b/jdk/test/java/awt/Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2014, 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 8013116
+  @summary Robot moves mouse to point which differs from set in mouseMove on
+ Unity shell
+  @author Oleg Pekhovskiy
+  @library ../../regtesthelpers
+  @build Util
+  @run main MultiScreenLocationTest
+ */
+
+import java.awt.AWTException;
+import java.awt.Color;
+import java.awt.Frame;
+import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
+import java.awt.MouseInfo;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Robot;
+import java.awt.image.BufferedImage;
+import test.java.awt.regtesthelpers.Util;
+
+public class MultiScreenLocationTest {
+    private static final Point mouseOffset = new Point(150, 150);
+    private static final Point frameOffset = new Point(100, 100);
+    private static final Color color = Color.YELLOW;
+
+    private static String getErrorText(final String name, int screen)
+    {
+        return name + " test failed on Screen #" + screen + "!";
+    }
+
+    public static void main(String[] args) throws AWTException
+    {
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        GraphicsDevice[] gds = ge.getScreenDevices();
+        if (gds.length < 2) {
+            System.out.println("It's a multiscreen test... skipping!");
+            return;
+        }
+
+        for (int i = 0; i < gds.length; ++i) {
+            GraphicsDevice gd = gds[i];
+            GraphicsConfiguration gc = gd.getDefaultConfiguration();
+            Rectangle screen = gc.getBounds();
+            Robot robot = new Robot(gd);
+
+            // check Robot.mouseMove()
+            robot.mouseMove(screen.x + mouseOffset.x, screen.y + mouseOffset.y);
+            Point mouse = MouseInfo.getPointerInfo().getLocation();
+            Point point = screen.getLocation();
+            point.translate(mouseOffset.x, mouseOffset.y);
+            if (!point.equals(mouse)) {
+                throw new RuntimeException(getErrorText("Robot.mouseMove", i));
+            }
+
+            // check Robot.getPixelColor()
+            Frame frame = new Frame(gc);
+            frame.setUndecorated(true);
+            frame.setSize(100, 100);
+            frame.setLocation(screen.x + frameOffset.x, screen.y + frameOffset.y);
+            frame.setBackground(color);
+            frame.setVisible(true);
+            robot.waitForIdle();
+            Rectangle bounds = frame.getBounds();
+            if (!Util.testBoundsColor(bounds, color, 5, 1000, robot)) {
+                throw new RuntimeException(getErrorText("Robot.getPixelColor", i));
+            }
+
+            // check Robot.createScreenCapture()
+            BufferedImage image = robot.createScreenCapture(bounds);
+            int rgb = color.getRGB();
+            if (image.getRGB(0, 0) != rgb
+                || image.getRGB(image.getWidth() - 1, 0) != rgb
+                || image.getRGB(image.getWidth() - 1, image.getHeight() - 1) != rgb
+                || image.getRGB(0, image.getHeight() - 1) != rgb) {
+                    throw new RuntimeException(
+                            getErrorText("Robot.createScreenCapture", i));
+            }
+            frame.dispose();
+        }
+
+        System.out.println("Test PASSED!");
+    }
+}
diff --git a/jdk/test/java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java b/jdk/test/java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java
new file mode 100644
index 0000000..b8bfb44
--- /dev/null
+++ b/jdk/test/java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2014, 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 8029979
+ * @summary Checks if acceptDrop() can be called several times
+ * @library ../../regtesthelpers
+ * @build Util
+ * @compile AcceptDropMultipleTimes.java
+ * @run main/othervm AcceptDropMultipleTimes
+ * @author anthony.petrov@oracle.com
+ */
+
+import test.java.awt.regtesthelpers.Util;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.awt.event.InputEvent;
+
+public class AcceptDropMultipleTimes {
+
+    private static final int FRAME_SIZE = 100;
+    private static final int FRAME_LOCATION = 100;
+
+    private static volatile Frame f;
+
+    private static void initAndShowUI() {
+        f = new Frame("Test frame");
+        f.setBounds(FRAME_LOCATION, FRAME_LOCATION, FRAME_SIZE, FRAME_SIZE);
+
+        final DraggablePanel dragSource = new DraggablePanel();
+        dragSource.setBackground(Color.yellow);
+        DropTarget dt = new DropTarget(dragSource, new DropTargetAdapter() {
+            @Override public void drop(DropTargetDropEvent dtde) {
+                // The first call always succeeds
+                dtde.acceptDrop(DnDConstants.ACTION_COPY);
+
+                // The second call should succeed if the fix works
+                dtde.acceptDrop(DnDConstants.ACTION_MOVE);
+
+                dtde.dropComplete(true);
+            }
+        });
+        dragSource.setDropTarget(dt);
+        f.add(dragSource);
+
+        f.setVisible(true);
+    }
+
+    public static void main(String[] args) throws Throwable {
+        try {
+
+            SwingUtilities.invokeAndWait(() -> initAndShowUI());
+
+            Robot r = new Robot();
+            Util.waitForIdle(r);
+            Util.drag(r,
+                    new Point(FRAME_LOCATION + FRAME_SIZE / 3, FRAME_LOCATION + FRAME_SIZE / 3),
+                    new Point(FRAME_LOCATION + FRAME_SIZE / 3 * 2, FRAME_LOCATION + FRAME_SIZE / 3 * 2),
+                    InputEvent.BUTTON1_MASK);
+            Util.waitForIdle(r);
+        } finally {
+            if (f != null) {
+                f.dispose();
+            }
+        }
+    }
+
+    private static class DraggablePanel extends Panel implements DragGestureListener {
+
+        public DraggablePanel() {
+            (new DragSource()).createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY, this);
+        }
+
+        @Override
+        public void dragGestureRecognized(DragGestureEvent dge) {
+            dge.startDrag(Cursor.getDefaultCursor(), new StringSelection("test"));
+        }
+    }
+}
diff --git a/jdk/test/java/awt/image/MultiResolutionImageTest.java b/jdk/test/java/awt/image/MultiResolutionImageTest.java
new file mode 100644
index 0000000..21864f9
--- /dev/null
+++ b/jdk/test/java/awt/image/MultiResolutionImageTest.java
@@ -0,0 +1,620 @@
+/*
+ * Copyright (c) 2013, 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 java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.lang.reflect.Method;
+import java.net.URL;
+import javax.imageio.ImageIO;
+import sun.awt.OSInfo;
+import sun.awt.SunHints;
+import java.awt.MediaTracker;
+import java.awt.geom.AffineTransform;
+import java.awt.image.ImageObserver;
+import java.util.Arrays;
+import java.util.List;
+import javax.swing.JPanel;
+import sun.awt.SunToolkit;
+import sun.awt.image.MultiResolutionImage;
+
+/**
+ * @test
+ * @bug 8011059
+ * @author Alexander Scherbatiy
+ * @summary [macosx] Make JDK demos look perfect on retina displays
+ * @run main MultiResolutionImageTest CUSTOM
+ * @run main MultiResolutionImageTest TOOLKIT_PREPARE
+ * @run main MultiResolutionImageTest TOOLKIT_LOAD
+ * @run main MultiResolutionImageTest TOOLKIT
+ */
+public class MultiResolutionImageTest {
+
+    private static final int IMAGE_WIDTH = 300;
+    private static final int IMAGE_HEIGHT = 200;
+    private static final Color COLOR_1X = Color.GREEN;
+    private static final Color COLOR_2X = Color.BLUE;
+    private static final String IMAGE_NAME_1X = "image.png";
+    private static final String IMAGE_NAME_2X = "image@2x.png";
+
+    public static void main(String[] args) throws Exception {
+
+        System.out.println("args: " + args.length);
+
+        if (args.length == 0) {
+            throw new RuntimeException("Not found a test");
+        }
+
+        String test = args[0];
+
+        System.out.println("TEST: " + test);
+        System.out.println("CHECK OS: " + checkOS());
+
+        if ("CUSTOM".equals(test)) {
+            testCustomMultiResolutionImage();
+        } else if (checkOS()) {
+            switch (test) {
+                case "CUSTOM":
+                    break;
+                case "TOOLKIT_PREPARE":
+                    testToolkitMultiResolutionImagePrepare();
+                    break;
+                case "TOOLKIT_LOAD":
+                    testToolkitMultiResolutionImageLoad();
+                    break;
+                case "TOOLKIT":
+                    testToolkitMultiResolutionImage();
+                    testImageNameTo2xParsing();
+                    break;
+                default:
+                    throw new RuntimeException("Unknown test: " + test);
+            }
+        }
+    }
+
+    static boolean checkOS() {
+        return OSInfo.getOSType() == OSInfo.OSType.MACOSX;
+    }
+
+    public static void testCustomMultiResolutionImage() {
+        testCustomMultiResolutionImage(false);
+        testCustomMultiResolutionImage(true);
+    }
+
+    public static void testCustomMultiResolutionImage(boolean enableImageScaling) {
+
+        Image image = new MultiResolutionBufferedImage();
+
+        // Same image size
+        BufferedImage bufferedImage = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT,
+                BufferedImage.TYPE_INT_RGB);
+        Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.drawImage(image, 0, 0, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 4, 3 * IMAGE_HEIGHT / 4), false);
+
+        // Twice image size
+        bufferedImage = new BufferedImage(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT,
+                BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.drawImage(image, 0, 0, 2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, 0, 0, IMAGE_WIDTH, IMAGE_HEIGHT, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+
+        // Scale 2x
+        bufferedImage = new BufferedImage(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.scale(2, 2);
+        g2d.drawImage(image, 0, 0, IMAGE_WIDTH, IMAGE_HEIGHT, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+
+        // Rotate
+        bufferedImage = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT,
+                BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.drawImage(image, 0, 0, null);
+        g2d.rotate(Math.PI / 4);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 4, 3 * IMAGE_HEIGHT / 4), false);
+
+        // Scale 2x and Rotate
+        bufferedImage = new BufferedImage(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.scale(-2, 2);
+        g2d.rotate(-Math.PI / 10);
+        g2d.drawImage(image, -IMAGE_WIDTH, 0, IMAGE_WIDTH, IMAGE_HEIGHT, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+
+        // General Transform
+        bufferedImage = new BufferedImage(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        float delta = 0.05f;
+        float cos = 1 - delta * delta / 2;
+        float sin = 1 + delta;
+        AffineTransform transform = new AffineTransform(2 * cos, 0.1, 0.3, -2 * sin, 10, -5);
+        g2d.setTransform(transform);
+        g2d.drawImage(image, 0, -IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_HEIGHT, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+
+        int D = 10;
+        // From Source to small Destination region
+        bufferedImage = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.drawImage(image, IMAGE_WIDTH / 2, IMAGE_HEIGHT / 2, IMAGE_WIDTH - D, IMAGE_HEIGHT - D,
+                D, D, IMAGE_WIDTH - D, IMAGE_HEIGHT - D, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 4, 3 * IMAGE_HEIGHT / 4), false);
+
+        // From Source to large Destination region
+        bufferedImage = new BufferedImage(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        g2d = (Graphics2D) bufferedImage.getGraphics();
+        setImageScalingHint(g2d, enableImageScaling);
+        g2d.drawImage(image, D, D, 2 * IMAGE_WIDTH - D, 2 * IMAGE_HEIGHT - D,
+                IMAGE_WIDTH / 2, IMAGE_HEIGHT / 2, IMAGE_WIDTH - D, IMAGE_HEIGHT - D, null);
+        checkColor(bufferedImage.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+    }
+
+    static class MultiResolutionBufferedImage extends BufferedImage
+            implements MultiResolutionImage {
+
+        Image highResolutionImage;
+
+        public MultiResolutionBufferedImage() {
+            super(IMAGE_WIDTH, IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+            highResolutionImage = new BufferedImage(
+                    2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+            draw(getGraphics(), 1);
+            draw(highResolutionImage.getGraphics(), 2);
+        }
+
+        void draw(Graphics graphics, float resolution) {
+            Graphics2D g2 = (Graphics2D) graphics;
+            g2.scale(resolution, resolution);
+            g2.setColor((resolution == 1) ? COLOR_1X : COLOR_2X);
+            g2.fillRect(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);
+        }
+
+        @Override
+        public Image getResolutionVariant(int width, int height) {
+            return ((width <= getWidth() && height <= getHeight()))
+                    ? this : highResolutionImage;
+        }
+
+        @Override
+        public List<Image> getResolutionVariants() {
+            return Arrays.asList(this, highResolutionImage);
+        }
+    }
+
+    static void testToolkitMultiResolutionImagePrepare() throws Exception {
+
+        generateImages();
+
+        File imageFile = new File(IMAGE_NAME_1X);
+        String fileName = imageFile.getAbsolutePath();
+
+        Image image = Toolkit.getDefaultToolkit().getImage(fileName);
+
+        SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+        toolkit.prepareImage(image, IMAGE_WIDTH, IMAGE_HEIGHT, new LoadImageObserver(image));
+
+        testToolkitMultiResolutionImageLoad(image);
+    }
+
+    static void testToolkitMultiResolutionImageLoad() throws Exception {
+
+        generateImages();
+
+        File imageFile = new File(IMAGE_NAME_1X);
+        String fileName = imageFile.getAbsolutePath();
+        Image image = Toolkit.getDefaultToolkit().getImage(fileName);
+        testToolkitMultiResolutionImageLoad(image);
+    }
+
+    static void testToolkitMultiResolutionImageLoad(Image image) throws Exception {
+
+        MediaTracker tracker = new MediaTracker(new JPanel());
+        tracker.addImage(image, 0);
+        tracker.waitForID(0);
+        if (tracker.isErrorAny()) {
+            throw new RuntimeException("Error during image loading");
+        }
+        tracker.removeImage(image, 0);
+
+        testImageLoaded(image);
+
+        int w = image.getWidth(null);
+        int h = image.getHeight(null);
+
+        Image resolutionVariant = ((MultiResolutionImage) image)
+                .getResolutionVariant(2 * w, 2 * h);
+
+        if (image == resolutionVariant) {
+            throw new RuntimeException("Resolution variant is not loaded");
+        }
+
+        testImageLoaded(resolutionVariant);
+    }
+
+    static void testImageLoaded(Image image) {
+
+        SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
+
+        int flags = toolkit.checkImage(image, IMAGE_WIDTH, IMAGE_WIDTH, new SilentImageObserver());
+        if ((flags & (ImageObserver.FRAMEBITS | ImageObserver.ALLBITS)) == 0) {
+            throw new RuntimeException("Image is not loaded!");
+        }
+    }
+
+    static class SilentImageObserver implements ImageObserver {
+
+        @Override
+        public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
+            throw new RuntimeException("Observer should not be called!");
+        }
+    }
+
+    static class LoadImageObserver implements ImageObserver {
+
+        Image image;
+
+        public LoadImageObserver(Image image) {
+            this.image = image;
+        }
+
+        @Override
+        public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
+
+            if (image != img) {
+                throw new RuntimeException("Original image is not passed to the observer");
+            }
+
+            if ((infoflags & ImageObserver.WIDTH) != 0) {
+                if (width != IMAGE_WIDTH) {
+                    throw new RuntimeException("Original width is not passed to the observer");
+                }
+            }
+
+            if ((infoflags & ImageObserver.HEIGHT) != 0) {
+                if (height != IMAGE_HEIGHT) {
+                    throw new RuntimeException("Original height is not passed to the observer");
+                }
+            }
+
+            return (infoflags & ALLBITS) == 0;
+        }
+
+    }
+
+    static void testToolkitMultiResolutionImage() throws Exception {
+
+        generateImages();
+
+        File imageFile = new File(IMAGE_NAME_1X);
+        String fileName = imageFile.getAbsolutePath();
+        URL url = imageFile.toURI().toURL();
+        testToolkitMultiResolutionImageChache(fileName, url);
+
+        Image image = Toolkit.getDefaultToolkit().getImage(fileName);
+        testToolkitImageObserver(image);
+        testToolkitMultiResolutionImage(image, false);
+        testToolkitMultiResolutionImage(image, true);
+
+        image = Toolkit.getDefaultToolkit().getImage(url);
+        testToolkitImageObserver(image);
+        testToolkitMultiResolutionImage(image, false);
+        testToolkitMultiResolutionImage(image, true);
+    }
+
+    static void testToolkitMultiResolutionImageChache(String fileName, URL url) {
+
+        Image img1 = Toolkit.getDefaultToolkit().getImage(fileName);
+        if (!(img1 instanceof MultiResolutionImage)) {
+            throw new RuntimeException("Not a MultiResolutionImage");
+        }
+
+        Image img2 = Toolkit.getDefaultToolkit().getImage(fileName);
+        if (img1 != img2) {
+            throw new RuntimeException("Image is not cached");
+        }
+
+        img1 = Toolkit.getDefaultToolkit().getImage(url);
+        if (!(img1 instanceof MultiResolutionImage)) {
+            throw new RuntimeException("Not a MultiResolutionImage");
+        }
+
+        img2 = Toolkit.getDefaultToolkit().getImage(url);
+        if (img1 != img2) {
+            throw new RuntimeException("Image is not cached");
+        }
+    }
+
+    static void testToolkitMultiResolutionImage(Image image, boolean enableImageScaling)
+            throws Exception {
+
+        MediaTracker tracker = new MediaTracker(new JPanel());
+        tracker.addImage(image, 0);
+        tracker.waitForID(0);
+        if (tracker.isErrorAny()) {
+            throw new RuntimeException("Error during image loading");
+        }
+
+        final BufferedImage bufferedImage1x = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT,
+                BufferedImage.TYPE_INT_RGB);
+        Graphics2D g1x = (Graphics2D) bufferedImage1x.getGraphics();
+        setImageScalingHint(g1x, false);
+        g1x.drawImage(image, 0, 0, null);
+        checkColor(bufferedImage1x.getRGB(3 * IMAGE_WIDTH / 4, 3 * IMAGE_HEIGHT / 4), false);
+
+        Image resolutionVariant = ((MultiResolutionImage) image).
+                getResolutionVariant(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT);
+
+        if (resolutionVariant == null) {
+            throw new RuntimeException("Resolution variant is null");
+        }
+
+        MediaTracker tracker2x = new MediaTracker(new JPanel());
+        tracker2x.addImage(resolutionVariant, 0);
+        tracker2x.waitForID(0);
+        if (tracker2x.isErrorAny()) {
+            throw new RuntimeException("Error during scalable image loading");
+        }
+
+        final BufferedImage bufferedImage2x = new BufferedImage(2 * IMAGE_WIDTH,
+                2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        Graphics2D g2x = (Graphics2D) bufferedImage2x.getGraphics();
+        setImageScalingHint(g2x, enableImageScaling);
+        g2x.drawImage(image, 0, 0, 2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, 0, 0, IMAGE_WIDTH, IMAGE_HEIGHT, null);
+        checkColor(bufferedImage2x.getRGB(3 * IMAGE_WIDTH / 2, 3 * IMAGE_HEIGHT / 2), enableImageScaling);
+
+        if (!(image instanceof MultiResolutionImage)) {
+            throw new RuntimeException("Not a MultiResolutionImage");
+        }
+
+        MultiResolutionImage multiResolutionImage = (MultiResolutionImage) image;
+
+        Image image1x = multiResolutionImage.getResolutionVariant(IMAGE_WIDTH, IMAGE_HEIGHT);
+        Image image2x = multiResolutionImage.getResolutionVariant(2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT);
+
+        if (image1x.getWidth(null) * 2 != image2x.getWidth(null)
+                || image1x.getHeight(null) * 2 != image2x.getHeight(null)) {
+            throw new RuntimeException("Wrong resolution variant size");
+        }
+    }
+
+    static void testToolkitImageObserver(final Image image) {
+
+        ImageObserver observer = new ImageObserver() {
+
+            @Override
+            public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
+
+                if (img != image) {
+                    throw new RuntimeException("Wrong image in observer");
+                }
+
+                if ((infoflags & (ImageObserver.ERROR | ImageObserver.ABORT)) != 0) {
+                    throw new RuntimeException("Error during image loading");
+                }
+
+                return (infoflags & ImageObserver.ALLBITS) == 0;
+
+            }
+        };
+
+        final BufferedImage bufferedImage2x = new BufferedImage(2 * IMAGE_WIDTH,
+                2 * IMAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
+        Graphics2D g2x = (Graphics2D) bufferedImage2x.getGraphics();
+        setImageScalingHint(g2x, true);
+
+        g2x.drawImage(image, 0, 0, 2 * IMAGE_WIDTH, 2 * IMAGE_HEIGHT, 0, 0, IMAGE_WIDTH, IMAGE_HEIGHT, observer);
+
+    }
+
+    static void setImageScalingHint(Graphics2D g2d, boolean enableImageScaling) {
+        g2d.setRenderingHint(SunHints.KEY_RESOLUTION_VARIANT, enableImageScaling
+                ? SunHints.VALUE_RESOLUTION_VARIANT_ON
+                : SunHints.VALUE_RESOLUTION_VARIANT_OFF);
+    }
+
+    static void checkColor(int rgb, boolean isImageScaled) {
+
+        if (!isImageScaled && COLOR_1X.getRGB() != rgb) {
+            throw new RuntimeException("Wrong 1x color: " + new Color(rgb));
+        }
+
+        if (isImageScaled && COLOR_2X.getRGB() != rgb) {
+            throw new RuntimeException("Wrong 2x color" + new Color(rgb));
+        }
+    }
+
+    static void generateImages() throws Exception {
+        if (!new File(IMAGE_NAME_1X).exists()) {
+            generateImage(1);
+        }
+
+        if (!new File(IMAGE_NAME_2X).exists()) {
+            generateImage(2);
+        }
+    }
+
+    static void generateImage(int scale) throws Exception {
+        BufferedImage image = new BufferedImage(scale * IMAGE_WIDTH, scale * IMAGE_HEIGHT,
+                BufferedImage.TYPE_INT_RGB);
+        Graphics g = image.getGraphics();
+        g.setColor(scale == 1 ? COLOR_1X : COLOR_2X);
+        g.fillRect(0, 0, scale * IMAGE_WIDTH, scale * IMAGE_HEIGHT);
+        File file = new File(scale == 1 ? IMAGE_NAME_1X : IMAGE_NAME_2X);
+        ImageIO.write(image, "png", file);
+    }
+
+    static void testImageNameTo2xParsing() throws Exception {
+
+        for (String[] testNames : TEST_FILE_NAMES) {
+            String testName = testNames[0];
+            String goldenName = testNames[1];
+            String resultName = getTestScaledImageName(testName);
+
+            if (!isValidPath(testName) && resultName == null) {
+                continue;
+            }
+
+            if (goldenName.equals(resultName)) {
+                continue;
+            }
+
+            throw new RuntimeException("Test name " + testName
+                    + ", result name: " + resultName);
+        }
+
+        for (URL[] testURLs : TEST_URLS) {
+            URL testURL = testURLs[0];
+            URL goldenURL = testURLs[1];
+            URL resultURL = getTestScaledImageURL(testURL);
+
+            if (!isValidPath(testURL.getPath()) && resultURL == null) {
+                continue;
+            }
+
+            if (goldenURL.equals(resultURL)) {
+                continue;
+            }
+
+            throw new RuntimeException("Test url: " + testURL
+                    + ", result url: " + resultURL);
+        }
+
+    }
+
+    static URL getTestScaledImageURL(URL url) throws Exception {
+        Method method = getScalableImageMethod("getScaledImageURL", URL.class);
+        return (URL) method.invoke(null, url);
+    }
+
+    static String getTestScaledImageName(String name) throws Exception {
+        Method method = getScalableImageMethod("getScaledImageName", String.class);
+        return (String) method.invoke(null, name);
+    }
+
+    private static boolean isValidPath(String path) {
+        return !path.isEmpty() && !path.endsWith("/") && !path.endsWith(".")
+                && !path.contains("@2x");
+    }
+
+    private static Method getScalableImageMethod(String name,
+            Class... parameterTypes) throws Exception {
+        Toolkit toolkit = Toolkit.getDefaultToolkit();
+        Method method = toolkit.getClass().getDeclaredMethod(name, parameterTypes);
+        method.setAccessible(true);
+        return method;
+    }
+    private static final String[][] TEST_FILE_NAMES;
+    private static final URL[][] TEST_URLS;
+
+    static {
+        TEST_FILE_NAMES = new String[][]{
+            {"", null},
+            {".", null},
+            {"..", null},
+            {"/", null},
+            {"/.", null},
+            {"dir/", null},
+            {"dir/.", null},
+            {"aaa@2x.png", null},
+            {"/dir/aaa@2x.png", null},
+            {"image", "image@2x"},
+            {"image.ext", "image@2x.ext"},
+            {"image.aaa.ext", "image.aaa@2x.ext"},
+            {"dir/image", "dir/image@2x"},
+            {"dir/image.ext", "dir/image@2x.ext"},
+            {"dir/image.aaa.ext", "dir/image.aaa@2x.ext"},
+            {"dir/aaa.bbb/image", "dir/aaa.bbb/image@2x"},
+            {"dir/aaa.bbb/image.ext", "dir/aaa.bbb/image@2x.ext"},
+            {"dir/aaa.bbb/image.ccc.ext", "dir/aaa.bbb/image.ccc@2x.ext"},
+            {"/dir/image", "/dir/image@2x"},
+            {"/dir/image.ext", "/dir/image@2x.ext"},
+            {"/dir/image.aaa.ext", "/dir/image.aaa@2x.ext"},
+            {"/dir/aaa.bbb/image", "/dir/aaa.bbb/image@2x"},
+            {"/dir/aaa.bbb/image.ext", "/dir/aaa.bbb/image@2x.ext"},
+            {"/dir/aaa.bbb/image.ccc.ext", "/dir/aaa.bbb/image.ccc@2x.ext"}
+        };
+        try {
+            TEST_URLS = new URL[][]{
+                // file
+                {new URL("file:/aaa"), new URL("file:/aaa@2x")},
+                {new URL("file:/aaa.ext"), new URL("file:/aaa@2x.ext")},
+                {new URL("file:/aaa.bbb.ext"), new URL("file:/aaa.bbb@2x.ext")},
+                {new URL("file:/ccc/aaa.bbb.ext"),
+                    new URL("file:/ccc/aaa.bbb@2x.ext")},
+                {new URL("file:/ccc.ddd/aaa.bbb.ext"),
+                    new URL("file:/ccc.ddd/aaa.bbb@2x.ext")},
+                {new URL("file:///~/image"), new URL("file:///~/image@2x")},
+                {new URL("file:///~/image.ext"),
+                    new URL("file:///~/image@2x.ext")},
+                // http
+                {new URL("http://www.test.com"), null},
+                {new URL("http://www.test.com/"), null},
+                {new URL("http://www.test.com///"), null},
+                {new URL("http://www.test.com/image"),
+                    new URL("http://www.test.com/image@2x")},
+                {new URL("http://www.test.com/image.ext"),
+                    new URL("http://www.test.com/image@2x.ext")},
+                {new URL("http://www.test.com/dir/image"),
+                    new URL("http://www.test.com/dir/image@2x")},
+                {new URL("http://www.test.com:80/dir/image.aaa.ext"),
+                    new URL("http://www.test.com:80/dir/image.aaa@2x.ext")},
+                {new URL("http://www.test.com:8080/dir/image.aaa.ext"),
+                    new URL("http://www.test.com:8080/dir/image.aaa@2x.ext")},
+                // jar
+                {new URL("jar:file:/dir/Java2D.jar!/image"),
+                    new URL("jar:file:/dir/Java2D.jar!/image@2x")},
+                {new URL("jar:file:/dir/Java2D.jar!/image.aaa.ext"),
+                    new URL("jar:file:/dir/Java2D.jar!/image.aaa@2x.ext")},
+                {new URL("jar:file:/dir/Java2D.jar!/images/image"),
+                    new URL("jar:file:/dir/Java2D.jar!/images/image@2x")},
+                {new URL("jar:file:/dir/Java2D.jar!/images/image.ext"),
+                    new URL("jar:file:/dir/Java2D.jar!/images/image@2x.ext")},
+                {new URL("jar:file:/aaa.bbb/Java2D.jar!/images/image.ext"),
+                    new URL("jar:file:/aaa.bbb/Java2D.jar!/images/image@2x.ext")},
+                {new URL("jar:file:/dir/Java2D.jar!/aaa.bbb/image.ext"),
+                    new URL("jar:file:/dir/Java2D.jar!/aaa.bbb/image@2x.ext")},};
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    static class PreloadedImageObserver implements ImageObserver {
+
+        @Override
+        public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
+            throw new RuntimeException("Image should be already preloaded");
+        }
+    }
+}
diff --git a/jdk/test/java/awt/regtesthelpers/Util.java b/jdk/test/java/awt/regtesthelpers/Util.java
index 2a606bc..95ad563 100644
--- a/jdk/test/java/awt/regtesthelpers/Util.java
+++ b/jdk/test/java/awt/regtesthelpers/Util.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -51,6 +51,7 @@
 import java.awt.IllegalComponentStateException;
 import java.awt.AWTException;
 import java.awt.AWTEvent;
+import java.awt.Color;
 
 import java.awt.event.InputEvent;
 import java.awt.event.WindowAdapter;
@@ -184,6 +185,57 @@
         }
     }
 
+    /**
+     * Tests whether screen pixel has the expected color performing several
+     * attempts. This method is useful for asynchronous window manager where
+     * it's impossible to determine when drawing actually takes place.
+     *
+     * @param x X position of pixel
+     * @param y Y position of pixel
+     * @param color expected color
+     * @param attempts number of attempts to undertake
+     * @param delay delay before each attempt
+     * @param robot a robot to use for retrieving pixel color
+     * @return true if pixel color matches the color expected, otherwise false
+     */
+    public static boolean testPixelColor(int x, int y, final Color color, int attempts, int delay, final Robot robot) {
+        while (attempts-- > 0) {
+            robot.delay(delay);
+            Color screen = robot.getPixelColor(x, y);
+            if (screen.equals(color)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Tests whether the area within boundaries has the expected color
+     * performing several attempts. This method is useful for asynchronous
+     * window manager where it's impossible to determine when drawing actually
+     * takes place.
+     *
+     * @param bounds position of area
+     * @param color expected color
+     * @param attempts number of attempts to undertake
+     * @param delay delay before each attempt
+     * @param robot a robot to use for retrieving pixel color
+     * @return true if area color matches the color expected, otherwise false
+     */
+    public static boolean testBoundsColor(final Rectangle bounds, final Color color, int attempts, int delay, final Robot robot) {
+        int right = bounds.x + bounds.width - 1;
+        int bottom = bounds.y + bounds.height - 1;
+        while (attempts-- > 0) {
+            if (testPixelColor(bounds.x, bounds.y, color, 1, delay, robot)
+                && testPixelColor(right, bounds.y, color, 1, 0, robot)
+                && testPixelColor(right, bottom, color, 1, 0, robot)
+                && testPixelColor(bounds.x, bottom, color, 1, 0, robot)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     public static void waitForIdle(final Robot robot) {
         // we do not use robot for now, use SunToolkit.realSync() instead
         ((sun.awt.SunToolkit)Toolkit.getDefaultToolkit()).realSync();
diff --git a/jdk/test/java/lang/ClassLoader/Assert.sh b/jdk/test/java/lang/ClassLoader/Assert.sh
index 00822b6..24dadd1 100644
--- a/jdk/test/java/lang/ClassLoader/Assert.sh
+++ b/jdk/test/java/lang/ClassLoader/Assert.sh
@@ -23,6 +23,21 @@
 
 #
 
+OS=`uname -s`
+case "$OS" in
+  SunOS | Linux | Darwin )
+    FS="/"
+    CHMOD="${FS}bin${FS}chmod"
+    ;;
+  Windows* | CYGWIN* )
+    CHMOD="chmod"
+    ;;
+  * )
+    echo "Unrecognized system!"
+    exit 1;
+    ;;
+esac
+
 if [ "${TESTSRC}" = "" ]
 then
   echo "TESTSRC not set.  Test cannot execute.  Failed."
@@ -50,6 +65,7 @@
 cp ${TESTSRC}/Assert.java .
 cp -R ${TESTSRC}/package1 .
 cp -R ${TESTSRC}/package2 .
+${CHMOD} -R u+w *
 
 ${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} Assert.java 
 
diff --git a/jdk/test/java/lang/instrument/DaemonThread/DummyAgent.java b/jdk/test/java/lang/instrument/DaemonThread/DummyAgent.java
new file mode 100644
index 0000000..64b4d59
--- /dev/null
+++ b/jdk/test/java/lang/instrument/DaemonThread/DummyAgent.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2014 Goldman Sachs.
+ * Copyright (c) 2014, 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 java.lang.instrument.ClassFileTransformer;
+import java.lang.instrument.IllegalClassFormatException;
+import java.lang.instrument.Instrumentation;
+import java.security.ProtectionDomain;
+
+public class DummyAgent implements ClassFileTransformer {
+    @Override
+    public byte[] transform(ClassLoader loader, String className,
+                            Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
+                            byte[] classfileBuffer) throws IllegalClassFormatException {
+
+        /* The Daemon Thread bug is timing dependent and you want the transform method
+         * to return ASAP - so just return the buffer will be fine
+         */
+        return classfileBuffer;
+    }
+
+    public static void premain(String agentArgs, Instrumentation inst) {
+        inst.addTransformer(new DummyAgent(), false);
+    }
+
+}
diff --git a/jdk/test/java/lang/instrument/DaemonThread/DummyClass.java b/jdk/test/java/lang/instrument/DaemonThread/DummyClass.java
new file mode 100644
index 0000000..18d671a
--- /dev/null
+++ b/jdk/test/java/lang/instrument/DaemonThread/DummyClass.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2014 Goldman Sachs.
+ * Copyright (c) 2014, 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.
+ */
+
+/* Just a dummy class for loading */
+public class DummyClass {
+}
diff --git a/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThread.java b/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThread.java
new file mode 100644
index 0000000..20c9077
--- /dev/null
+++ b/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThread.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2014 Goldman Sachs.
+ * Copyright (c) 2014, 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 7142035
+ * @summary Assert in java.lang.instrument agents during shutdown when classloading occurs after shutdown
+ * @library /lib/testlibrary
+ *
+ * @build DummyAgent DummyClass TestDaemonThreadLauncher TestDaemonThread
+ * @run shell ../MakeJAR3.sh DummyAgent
+ * @run main TestDaemonThreadLauncher /timeout=240
+ *
+ */
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+public class TestDaemonThread implements Runnable{
+    File classpath;
+
+    public TestDaemonThread(File classpath) {
+        this.classpath = classpath;
+    }
+
+    @Override
+    public void run() {
+
+
+        try {
+            URL u = this.getClass().getClassLoader().getResource("DummyClass.class");
+            String path = u.getPath();
+            String parent = u.getPath().substring(0, path.lastIndexOf('/')+1);
+            URL parentURL = new URL(u, parent);
+            System.out.println(parentURL);
+            /* Load lots of class by creating multiple classloaders */
+            for(;;) {
+                ClassLoader cl = new URLClassLoader(new URL[] {parentURL}, null);
+                cl.loadClass("DummyClass");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+           Thread t = new Thread(new TestDaemonThread(new File(args[0])));
+           /* The important part of the bug is that a Daemon thread can continue to load classes after shutdown */
+           t.setDaemon(true);
+           t.start();
+           Thread.sleep(200);
+    }
+}
diff --git a/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThreadLauncher.java b/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThreadLauncher.java
new file mode 100644
index 0000000..9660bbf
--- /dev/null
+++ b/jdk/test/java/lang/instrument/DaemonThread/TestDaemonThreadLauncher.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2014 Goldman Sachs.
+ * Copyright (c) 2014, 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 jdk.testlibrary.JDKToolLauncher;
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.ProcessTools;
+
+import java.io.IOException;
+import java.nio.file.Path;
+
+public class TestDaemonThreadLauncher {
+
+    private static ProcessBuilder processBuilder = new ProcessBuilder();
+
+    public static void main(String args[]) throws Exception {
+        for(int i=0; i<50; i++) {
+            ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-javaagent:DummyAgent.jar", "TestDaemonThread", ".");
+            OutputAnalyzer analyzer = new OutputAnalyzer(pb.start());
+            analyzer.shouldNotContain("ASSERTION FAILED");
+        }
+    }
+}
diff --git a/jdk/test/java/lang/management/MemoryMXBean/MemoryManagement.java b/jdk/test/java/lang/management/MemoryMXBean/MemoryManagement.java
index d9c8d47..4077d2a 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/MemoryManagement.java
+++ b/jdk/test/java/lang/management/MemoryMXBean/MemoryManagement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -23,9 +23,9 @@
 
 /*
  * @test
- * @bug     4530538
+ * @bug     4530538 6980984
  * @summary Basic unit test of memory management testing:
- *          1) setUsatgeThreshold() and getUsageThreshold()
+ *          1) setUsageThreshold() and getUsageThreshold()
  *          2) test low memory detection on the old generation.
  *
  * @author  Mandy Chung
@@ -40,16 +40,18 @@
 import javax.management.openmbean.CompositeData;
 
 public class MemoryManagement {
-    private static MemoryMXBean mm = ManagementFactory.getMemoryMXBean();
-    private static List pools = ManagementFactory.getMemoryPoolMXBeans();
-    private static List managers = ManagementFactory.getMemoryManagerMXBeans();
-    private static MemoryPoolMXBean mpool = null;
-    private static boolean trace = false;
-    private static boolean testFailed = false;
+    private static final MemoryMXBean mm = ManagementFactory.getMemoryMXBean();
+    private static final List pools =
+            Collections.synchronizedList(ManagementFactory.getMemoryPoolMXBeans());
+    private static final List managers =
+            Collections.synchronizedList(ManagementFactory.getMemoryManagerMXBeans());
+    private static volatile MemoryPoolMXBean mpool = null;
+    private static volatile boolean trace = false;
+    private static volatile boolean testFailed = false;
     private static final int NUM_CHUNKS = 2;
-    private static long chunkSize;
+    private static volatile long chunkSize;
+    private static volatile int listenerInvoked = 0;
 
-    private static int listenerInvoked = 0;
     static class SensorListener implements NotificationListener {
         public void handleNotification(Notification notif, Object handback) {
             String type = notif.getType();
@@ -101,7 +103,13 @@
 
         // Now set threshold
         MemoryUsage mu = mpool.getUsage();
-        chunkSize = (mu.getMax() - mu.getUsed()) / 20;
+        long max = mu.getMax();
+        if (max != -1) {
+            chunkSize = (max - mu.getUsed()) / 20;
+        } else { // 6980984
+            System.gc();
+            chunkSize = Runtime.getRuntime().freeMemory()/20;
+        }
         newThreshold = mu.getUsed() + (chunkSize * NUM_CHUNKS);
 
         System.out.println("Setting threshold for " + mpool.getName() +
diff --git a/jdk/test/java/lang/management/ThreadMXBean/Locks.java b/jdk/test/java/lang/management/ThreadMXBean/Locks.java
index 9bc147d..e65d363 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/Locks.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/Locks.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -27,18 +27,19 @@
  * @summary Basic unit test of ThreadInfo.getLockName()
  *          and ThreadInfo.getLockOwnerName()
  * @author  Mandy Chung
+ * @author  Jaroslav Bachorik
  *
- * @build ThreadExecutionSynchronizer
  * @run main/othervm Locks
  */
 
 import java.lang.management.*;
+import java.util.concurrent.Phaser;
 
 public class Locks {
-    private static Object objA = new Object();
-    private static Object objB = new Object();
-    private static Object objC = new Object();
-    private static ThreadMXBean tm = ManagementFactory.getThreadMXBean();
+    private static final Object objA = new Object();
+    private static final Object objB = new Object();
+    private static final Object objC = new Object();
+    private static final ThreadMXBean tm = ManagementFactory.getThreadMXBean();
 
     private static boolean testFailed = false;
 
@@ -46,48 +47,62 @@
         if (lock == null) return null;
 
         return lock.getClass().getName() + '@' +
-            Integer.toHexString(System.identityHashCode(lock));
+                Integer.toHexString(System.identityHashCode(lock));
+    }
+
+    private static void assertNoLock(Thread t) {
+        long tid = t.getId();
+        ThreadInfo info = tm.getThreadInfo(tid);
+        String result = info.getLockName();
+
+        if (result != null) {
+            throw new RuntimeException("Thread " + t.getName() + " is not supposed to hold any lock. " +
+                                       "Currently owning lock: " + result);
+        }
     }
 
     private static void checkBlockedObject(Thread t, Object lock, Thread owner,
                                            Thread.State expectedState) {
-        ThreadInfo info = tm.getThreadInfo(t.getId());
+        long tid = t.getId();
+        ThreadInfo info = tm.getThreadInfo(tid);
         String result = info.getLockName();
         String expectedLock = (lock != null ? getLockName(lock) : null);
         String expectedOwner = (owner != null ? owner.getName() : null);
 
         if (lock != null) {
-            if (expectedState ==Thread.State.BLOCKED) {
+            if (expectedState == Thread.State.BLOCKED) {
                 int retryCount=0;
                 while(info.getThreadState() != Thread.State.BLOCKED) {
                     if (retryCount++ > 500) {
                         throw new RuntimeException("Thread " + t.getName() +
-                                  " is expected to block on " + expectedLock +
-                                  " but got " + result +
-                                  " Thread.State = " + info.getThreadState());
+                                " is expected to block on " + expectedLock +
+                                " but got " + result +
+                                " Thread.State = " + info.getThreadState());
                     }
                     goSleep(100);
+                    info = tm.getThreadInfo(tid);
+                    result = info.getLockName();
                 }
             }
             if (expectedState == Thread.State.WAITING &&
-                info.getThreadState() != Thread.State.WAITING) {
+                    info.getThreadState() != Thread.State.WAITING) {
                 throw new RuntimeException("Thread " + t.getName() +
-                    " is expected to wait on " + expectedLock +
-                    " but got " + result +
-                    " Thread.State = " + info.getThreadState());
+                        " is expected to wait on " + expectedLock +
+                        " but got " + result +
+                        " Thread.State = " + info.getThreadState());
             }
         }
 
         if ((result != null && !result.equals(expectedLock)) ||
-            (result == null && expectedLock != null)) {
+                (result == null && expectedLock != null)) {
             throw new RuntimeException("Thread " + t.getName() + " is blocked on " +
-                expectedLock + " but got " + result);
+                    expectedLock + " but got " + result);
         }
         result = info.getLockOwnerName();
         if ((result != null && !result.equals(expectedOwner)) ||
-            (result == null && expectedOwner != null)) {
+                (result == null && expectedOwner != null)) {
             throw new RuntimeException("Owner of " + lock + " should be " +
-                expectedOwner + " but got " + result);
+                    expectedOwner + " but got " + result);
         }
     }
 
@@ -100,53 +115,49 @@
         }
     }
 
-    static ThreadExecutionSynchronizer thrsync = new ThreadExecutionSynchronizer();
-    static ThreadExecutionSynchronizer thrsync1 = new ThreadExecutionSynchronizer();
+    private static volatile int dummyCounter = 0;
 
     static class LockAThread extends Thread {
-        public LockAThread() {
+        private final Phaser p;
+        public LockAThread(Phaser p) {
             super("LockAThread");
+            this.p = p;
         }
         public void run() {
             synchronized(objA) {
-               // stop here  for LockBThread to hold objB
-               thrsync.waitForSignal();
-
-               System.out.println("LockAThread about to block on objB");
-               synchronized(objB) {};
+                // stop here  for LockBThread to hold objB
+                System.out.println("LockAThread about to block on objB");
+                p.arriveAndAwaitAdvance(); // Phase 1 (blocking)
+                synchronized(objB) {
+                    dummyCounter++;
+                };
             }
+            p.arriveAndAwaitAdvance(); // Phase 2 (blocking)
             System.out.println("LockAThread about to exit");
-            // The state could be anything. The expected state value
-            // passed with this method is not verified.
-            checkBlockedObject(this, null, null, Thread.State.TERMINATED);
+            // Make sure the current thread is not holding any lock
+            assertNoLock(this);
         }
     }
 
     static class LockBThread extends Thread {
-        public LockBThread() {
+        private final Phaser p;
+        public LockBThread(Phaser p) {
             super("LockBThread");
+            this.p = p;
         }
         public void run() {
             synchronized(objB) {
-               // signal waiting LockAThread.
-               thrsync.signal();
-
-               System.out.println("LockBThread about to block on objC");
-               // Signal main thread about to block on objC
-               thrsync1.signal();
-               synchronized(objC) {};
+                System.out.println("LockBThread about to block on objC");
+                p.arriveAndAwaitAdvance(); // Phase 1 (blocking)
+                // Signal main thread about to block on objC
+                synchronized(objC) {
+                    dummyCounter++;
+                };
             }
+            p.arriveAndAwaitAdvance(); // Phase 2 (blocking)
             System.out.println("LockBThread about to exit");
-            // The state could be anything. The expected state value
-            // passed with this method is not verified.
-            checkBlockedObject(this, null, null, Thread.State.TERMINATED);
-        }
-
-        public void aboutToLockC() {
-            // Stop here till LockBThread about to blocked
-            // for lock objC.
-            thrsync1.waitForSignal();
-            goSleep(500);
+            // Make sure the current thread is not holding any lock
+            assertNoLock(this);
         }
     }
 
@@ -154,32 +165,36 @@
     private static Object ready = new Object();
     private static CheckerThread checker;
     static class WaitingThread extends Thread {
-        public WaitingThread() {
+        private final Phaser p;
+        public WaitingThread(Phaser p) {
             super("WaitingThread");
+            this.p = p;
         }
         public void run() {
             synchronized(objC) {
-               System.out.println("WaitingThread about to wait on objC");
-               try {
-                   // Signal checker thread, about to wait on objC.
-                   thrsync.signal();
-                   objC.wait();
-               } catch (InterruptedException e) {
-                   e.printStackTrace();
-                   testFailed = true;
-               }
+                System.out.println("WaitingThread about to wait on objC");
+                try {
+                    // Signal checker thread, about to wait on objC.
+                    p.arriveAndAwaitAdvance(); // Phase 1 (waiting)
+                    objC.wait();
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                    testFailed = true;
+                }
 
-               // block until CheckerThread finishes checking
-               System.out.println("WaitingThread about to block on ready");
-               // signal checker thread that it is about acquire
-               // object ready.
-               thrsync.signal();
-               synchronized(ready) {};
+                // block until CheckerThread finishes checking
+                System.out.println("WaitingThread about to block on ready");
+                // signal checker thread that it is about acquire
+                // object ready.
+                p.arriveAndAwaitAdvance(); // Phase 2 (waiting)
+                synchronized(ready) {
+                    dummyCounter++;
+                };
             }
             synchronized(objC) {
                 try {
                     // signal checker thread, about to wait on objC
-                    thrsync.signal();
+                    p.arriveAndAwaitAdvance(); // Phase 3 (waiting)
                     objC.wait();
                 } catch (InterruptedException e) {
                     e.printStackTrace();
@@ -190,21 +205,23 @@
         }
     }
     static class CheckerThread extends Thread {
-        public CheckerThread() {
+        private final Phaser p;
+        public CheckerThread(Phaser p) {
             super("CheckerThread");
+            this.p = p;
         }
 
         private void waitForState(Thread.State state) {
-            thrsync.waitForSignal();
-            while (waiter.getState() != state) {
-               goSleep(10);
+            p.arriveAndAwaitAdvance();
+            while (!waiter.isInterrupted() && waiter.getState() != state) {
+                goSleep(10);
             }
         }
 
         public void run() {
             synchronized (ready) {
                 // wait until WaitingThread about to wait for objC
-                waitForState(Thread.State.WAITING);
+                waitForState(Thread.State.WAITING); // Phase 1 (waiting)
                 checkBlockedObject(waiter, objC, null, Thread.State.WAITING);
 
                 synchronized (objC) {
@@ -213,13 +230,13 @@
 
                 // wait for waiter thread to about to enter
                 // synchronized object ready.
-                waitForState(Thread.State.BLOCKED);
+                waitForState(Thread.State.BLOCKED); // Phase 2 (waiting)
                 checkBlockedObject(waiter, ready, this, Thread.State.BLOCKED);
             }
 
             // wait for signal from waiting thread that it is about
             // wait for objC.
-            waitForState(Thread.State.WAITING);
+            waitForState(Thread.State.WAITING); // Phase 3 (waiting)
             synchronized(objC) {
                 checkBlockedObject(waiter, objC, Thread.currentThread(), Thread.State.WAITING);
                 objC.notify();
@@ -235,24 +252,24 @@
         LockAThread t1;
         LockBThread t2;
 
+        Phaser p = new Phaser(3);
         synchronized(objC) {
-            // The state could be anything. The expected state value
-            // passed with this method is not verified.
-            checkBlockedObject(mainThread, null, null, Thread.State.RUNNABLE);
+            // Make sure the main thread is not holding any lock
+            assertNoLock(mainThread);
 
             // Test deadlock case
             // t1 holds lockA and attempts to lock B
             // t2 holds lockB and attempts to lock C
-            t1 = new LockAThread();
+
+            t1 = new LockAThread(p);
             t1.start();
 
-            t2 = new LockBThread();
+            t2 = new LockBThread(p);
             t2.start();
 
-            t2.aboutToLockC();
-
-            checkBlockedObject(t1, objB, t2, Thread.State.BLOCKED);
+            p.arriveAndAwaitAdvance(); // Phase 1 (blocking)
             checkBlockedObject(t2, objC, mainThread, Thread.State.BLOCKED);
+            checkBlockedObject(t1, objB, t2, Thread.State.BLOCKED);
 
             long[] expectedThreads = new long[3];
             expectedThreads[0] = t1.getId(); // blocked on lockB
@@ -260,13 +277,14 @@
             expectedThreads[2] = mainThread.getId(); // owner of lockC
             findThreadsBlockedOn(objB, expectedThreads);
         }
-        goSleep(100);
+        p.arriveAndAwaitAdvance(); // Phase 2 (blocking)
 
+        p = new Phaser(2);
         // Test Object.wait() case
-        waiter = new WaitingThread();
+        waiter = new WaitingThread(p);
         waiter.start();
 
-        checker = new CheckerThread();
+        checker = new CheckerThread(p);
         checker.start();
 
         try {
@@ -284,7 +302,7 @@
     }
 
     private static ThreadInfo findOwnerInfo(ThreadInfo[] infos, String lock)
-        throws Exception {
+            throws Exception {
         ThreadInfo ownerInfo = null;
         for (int i = 0; i < infos.length; i++) {
             String blockedLock = infos[i].getLockName();
@@ -292,7 +310,7 @@
                 long threadId = infos[i].getLockOwnerId();
                 if (threadId == -1) {
                     throw new RuntimeException("TEST FAILED: " +
-                        lock + " expected to have owner");
+                            lock + " expected to have owner");
                 }
                 for (int j = 0; j < infos.length; j++) {
                     if (infos[j].getThreadId() == threadId) {
@@ -305,7 +323,7 @@
         return ownerInfo;
     }
     private static void findThreadsBlockedOn(Object o, long[] expectedThreads)
-        throws Exception {
+            throws Exception {
         String lock = getLockName(o);
         // Check with ThreadInfo with no stack trace (i.e. no safepoint)
         ThreadInfo[] infos = tm.getThreadInfo(tm.getAllThreadIds());
@@ -317,14 +335,14 @@
     }
 
     private static void doCheck(ThreadInfo[] infos, String lock, long[] expectedThreads)
-        throws Exception {
+            throws Exception {
         ThreadInfo ownerInfo = null;
         // Find the thread who is blocking on lock
         for (int i = 0; i < infos.length;  i++) {
             String blockedLock = infos[i].getLockName();
             if (lock.equals(blockedLock)) {
                 System.out.print(infos[i].getThreadName() +
-                    " blocked on " + blockedLock);
+                        " blocked on " + blockedLock);
                 ownerInfo = infos[i];
             }
         }
@@ -336,7 +354,7 @@
             ownerInfo = findOwnerInfo(infos, lock);
             threads[count++] = ownerInfo.getThreadId();
             System.out.println(" Owner = " + ownerInfo.getThreadName() +
-                " id = " + ownerInfo.getThreadId());
+                    " id = " + ownerInfo.getThreadId());
             lock = ownerInfo.getLockName();
             System.out.print(ownerInfo.getThreadName() + " Id = " +
                     ownerInfo.getThreadId() +
@@ -346,13 +364,13 @@
 
         if (count != expectedThreads.length) {
             throw new RuntimeException("TEST FAILED: " +
-                "Expected chain of threads not matched; current count =" + count);
+                    "Expected chain of threads not matched; current count =" + count);
         }
         for (int i = 0; i < count; i++) {
             if (threads[i] != expectedThreads[i]) {
                 System.out.println("TEST FAILED: " +
-                    "Unexpected thread in the chain " + threads[i] +
-                    " expected to be " + expectedThreads[i]);
+                        "Unexpected thread in the chain " + threads[i] +
+                        " expected to be " + expectedThreads[i]);
             }
         }
     }
diff --git a/jdk/test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java b/jdk/test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java
index f18b13c..6986adc 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/SynchronizationStatistics.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -27,45 +27,28 @@
  * @summary Basic unit test of the synchronization statistics support:
  *
  * @author  Mandy Chung
+ * @author  Jaroslav Bachorik
  *
- * @ignore  6309226
- * @build Semaphore
  * @run main/othervm SynchronizationStatistics
  */
 
 import java.lang.management.*;
+import java.util.concurrent.Phaser;
 
 public class SynchronizationStatistics {
-    private static ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
-
-    private static boolean blockedTimeCheck =
-        mbean.isThreadContentionMonitoringSupported();
-    private static boolean trace = false;
-
-    private static Object lockA = new Object();
-    private static Object lockB = new Object();
-    private static Object lockC = new Object();
-    private static Object lockD = new Object();
-    private static Object waiter = new Object();
-    private static volatile boolean testFailed = false;
-
-    private static Object go = new Object();
-
-    private static void goSleep(long ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            System.out.println("Unexpected exception.");
-            testFailed = true;
+    private static class LockerThread extends Thread {
+        public LockerThread(Runnable r) {
+            super(r, "LockerThread");
         }
     }
 
-    public static void main(String args[]) throws Exception {
-        if (args.length > 0 && args[0].equals("trace")) {
-            trace = true;
-        }
+    private static final ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
 
+    private static final boolean blockedTimeCheck =
+        mbean.isThreadContentionMonitoringSupported();
+
+
+    public static void main(String args[]) throws Exception {
         if (blockedTimeCheck) {
             mbean.setThreadContentionMonitoringEnabled(true);
         }
@@ -75,457 +58,317 @@
                 "Thread Contention Monitoring is not enabled");
         }
 
-        Examiner examiner = new Examiner("Examiner");
-        BlockedThread blocked = new BlockedThread("BlockedThread");
-        examiner.setThread(blocked);
-
-        // Start the threads and check them in  Blocked and Waiting states
-        examiner.start();
-
-        // wait until the examiner acquires all the locks and waiting
-        // for the BlockedThread to start
-        examiner.waitUntilWaiting();
-
-        System.out.println("Checking the thread state for the examiner thread " +
-                           "is waiting to begin.");
-
-        // The Examiner should be waiting to be notified by the BlockedThread
-        checkThreadState(examiner, Thread.State.WAITING);
-
-        System.out.println("Now starting the blocked thread");
-        blocked.start();
-
-        try {
-            examiner.join();
-            blocked.join();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            System.out.println("Unexpected exception.");
-            testFailed = true;
-        }
-
-        if (testFailed)
-            throw new RuntimeException("TEST FAILED.");
+        testBlockingOnSimpleMonitor();
+        testBlockingOnNestedMonitor();
+        testWaitingOnSimpleMonitor();
+        testMultiWaitingOnSimpleMonitor();
+        testWaitingOnNestedMonitor();
 
         System.out.println("Test passed.");
     }
 
-    private static String INDENT = "    ";
-    private static void printStack(Thread t, StackTraceElement[] stack) {
-        System.out.println(INDENT +  t +
-                           " stack: (length = " + stack.length + ")");
-        if (t != null) {
-            for (int j = 0; j < stack.length; j++) {
-                System.out.println(INDENT + stack[j]);
+    private static LockerThread newLockerThread(Runnable r) {
+        LockerThread t = new LockerThread(r);
+        t.setDaemon(true);
+        return t;
+    }
+
+    private static void waitForThreadState(Thread t, Thread.State state) throws InterruptedException {
+        while (!t.isInterrupted() && t.getState() != state) {
+            Thread.sleep(3);
+        }
+    }
+
+    /**
+     * Tests that blocking on a single monitor properly increases the
+     * blocked count at least by 1. Also asserts that the correct lock name is provided.
+     */
+    private static void testBlockingOnSimpleMonitor() throws Exception {
+        System.out.println("testBlockingOnSimpleMonitor");
+        final Object lock1 = new Object();
+        final Phaser p = new Phaser(2);
+        LockerThread lt = newLockerThread(new Runnable() {
+            @Override
+            public void run() {
+                p.arriveAndAwaitAdvance(); // phase[1]
+                synchronized(lock1) {
+                    System.out.println("[LockerThread obtained Lock1]");
+                    p.arriveAndAwaitAdvance(); // phase[2]
+                }
+                p.arriveAndAwaitAdvance(); // phase[3]
             }
-            System.out.println();
+        });
+
+        lt.start();
+        long tid = lt.getId();
+        ThreadInfo ti = mbean.getThreadInfo(tid);
+        String lockName = null;
+        synchronized(lock1) {
+            p.arriveAndAwaitAdvance(); // phase[1]
+            waitForThreadState(lt, Thread.State.BLOCKED);
+            lockName = mbean.getThreadInfo(tid).getLockName();
         }
+
+        p.arriveAndAwaitAdvance(); // phase[2]
+        testBlocked(ti, mbean.getThreadInfo(tid), lockName, lock1);
+        p.arriveAndDeregister(); // phase[3]
+
+        lt.join();
+
+        System.out.println("OK");
     }
 
-    private static void checkThreadState(Thread thread, Thread.State s)
-        throws Exception {
+    /**
+     * Tests that blocking on a nested monitor properly increases the
+     * blocked count at least by 1 - it is not affected by the nesting depth.
+     * Also asserts that the correct lock name is provided.
+     */
+    private static void testBlockingOnNestedMonitor() throws Exception {
+        System.out.println("testBlockingOnNestedMonitor");
+        final Object lock1 = new Object();
+        final Object lock2 = new Object();
 
-        ThreadInfo ti = mbean.getThreadInfo(thread.getId());
-        if (ti.getThreadState() != s) {
-            ThreadInfo info = mbean.getThreadInfo(thread.getId(),
-                                                  Integer.MAX_VALUE);
-            System.out.println(INDENT + "TEST FAILED:");
-            printStack(thread, info.getStackTrace());
-            System.out.println(INDENT + "Thread state: " + info.getThreadState());
-
-            throw new RuntimeException("TEST FAILED: " +
-                "Thread state for " + thread + " returns " + ti.getThreadState() +
-                ".  Expected to be " + s);
-        }
-    }
-
-    private static void checkThreadState(Thread thread,
-                                         Thread.State s1, Thread.State s2)
-        throws Exception {
-
-        ThreadInfo ti = mbean.getThreadInfo(thread.getId());
-        if (ti.getThreadState() != s1 && ti.getThreadState() != s2) {
-            throw new RuntimeException("TEST FAILED: " +
-                "Thread state for " + thread + " returns " + ti.getThreadState() +
-                ".  Expected to be " + s1 + " or " + s2);
-        }
-    }
-
-    static class StatThread extends Thread {
-        private long blockingBaseTime = 0;
-        private long totalWaitTime = 0;
-        private long totalBlockedEnterTime = 0;
-
-        StatThread(String name) {
-            super(name);
-        }
-
-        void addWaitTime(long ns) {
-            totalWaitTime = totalWaitTime + ns;
-        }
-        void addBlockedEnterTime(long ns) {
-            totalBlockedEnterTime = totalBlockedEnterTime + ns;
-        }
-        void setBlockingBaseTime(long time) {
-            blockingBaseTime = time;
-        }
-
-        long totalBlockedTimeMs() {
-            return totalBlockedEnterTime / 1000000;
-        }
-
-        long totalBlockedTimeMs(long now) {
-            long t = totalBlockedEnterTime + (now - blockingBaseTime);
-            return t / 1000000;
-        }
-
-        long totalWaitTimeMs() {
-            return totalWaitTime / 1000000;
-        }
-
-        long totalWaitTimeMs(long now) {
-            long t = totalWaitTime + (now - blockingBaseTime);
-            return t / 1000000;
-        }
-    }
-
-    static class BlockedThread extends StatThread {
-        private Semaphore handshake = new Semaphore();
-        BlockedThread(String name) {
-            super(name);
-        }
-        void waitUntilBlocked() {
-            handshake.semaP();
-
-            // give a chance for the examiner thread to really wait
-            goSleep(20);
-        }
-
-        void waitUntilWaiting() {
-            waitUntilBlocked();
-        }
-
-        boolean hasWaitersForBlocked() {
-            return (handshake.getWaiterCount() > 0);
-        }
-
-        private void notifyWaiter() {
-            // wait until the examiner waits on the semaphore
-            while (handshake.getWaiterCount() == 0) {
-                goSleep(20);
-            }
-            handshake.semaV();
-        }
-
-        private void waitObj(long ms) {
-            synchronized (waiter) {
-                try {
-                    // notify examinerabout to wait on a monitor
-                    notifyWaiter();
-
-                    long base = System.nanoTime();
-                    setBlockingBaseTime(base);
-                    waiter.wait(ms);
-                    long now = System.nanoTime();
-                    addWaitTime(now - base);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    System.out.println("Unexpected exception.");
-                    testFailed = true;
+        final Phaser p = new Phaser(2);
+        LockerThread lt = newLockerThread(new Runnable() {
+            @Override
+            public void run() {
+                p.arriveAndAwaitAdvance(); // phase[1]
+                synchronized(lock1) {
+                    System.out.println("[LockerThread obtained Lock1]");
+                    p.arriveAndAwaitAdvance(); // phase[2]
+                    p.arriveAndAwaitAdvance(); // phase[3]
+                    synchronized(lock2) {
+                        System.out.println("[LockerThread obtained Lock2]");
+                        p.arriveAndAwaitAdvance(); // phase[4]
+                    }
+                    p.arriveAndAwaitAdvance(); // phase[5]
                 }
             }
+        });
+
+        lt.start();
+        long tid = lt.getId();
+        ThreadInfo ti = mbean.getThreadInfo(tid);
+        ThreadInfo ti1 = null;
+        String lockName = null;
+        synchronized(lock1) {
+            p.arriveAndAwaitAdvance(); // phase[1]
+            waitForThreadState(lt, Thread.State.BLOCKED);
+            lockName = mbean.getThreadInfo(tid).getLockName();
         }
+        p.arriveAndAwaitAdvance(); // phase[2]
 
-        private void test() {
-            // notify examiner about to block on lockA
-            notifyWaiter();
+        ti1 = mbean.getThreadInfo(tid);
+        testBlocked(ti, ti1, lockName, lock1);
+        ti = ti1;
 
-            long base = System.nanoTime();
-            setBlockingBaseTime(base);
-            synchronized (lockA) {
-                long now = System.nanoTime();
-                addBlockedEnterTime(now - base);
-
-                A(); // Expected blocked count = 1
-            }
-            E();
+        synchronized(lock2) {
+            p.arriveAndAwaitAdvance(); // phase [3]
+            waitForThreadState(lt, Thread.State.BLOCKED);
+            lockName = mbean.getThreadInfo(tid).getLockName();
         }
-        private void A() {
-            // notify examiner about to block on lockB
-            notifyWaiter();
+        p.arriveAndAwaitAdvance(); // phase [4]
+        testBlocked(ti, mbean.getThreadInfo(tid), lockName, lock2);
+        p.arriveAndDeregister();
 
-            long base = System.nanoTime();
-            setBlockingBaseTime(base);
-            synchronized (lockB) {
-                long now = System.nanoTime();
-                addBlockedEnterTime(now - base);
+        lt.join();
 
-                B(); // Expected blocked count = 2
+        System.out.println("OK");
+    }
+
+    /**
+     * Tests that waiting on a single monitor properly increases the waited
+     * count by 1 and the waited time by a positive number.
+     */
+    private static void testWaitingOnSimpleMonitor() throws Exception {
+        System.out.println("testWaitingOnSimpleMonitor");
+        final Object lock1 = new Object();
+        final Phaser p = new Phaser(2);
+        LockerThread lt = newLockerThread(new Runnable() {
+            @Override
+            public void run() {
+                p.arriveAndAwaitAdvance(); // phase[1]
+                synchronized(lock1) {
+                    System.out.println("[LockerThread obtained Lock1]");
+                    try {
+                        lock1.wait(300);
+                    } catch (InterruptedException ex) {
+                        // ignore
+                    }
+                    p.arriveAndAwaitAdvance(); // phase[2]
+                }
+                p.arriveAndAwaitAdvance(); // phase[3]
             }
+        });
+
+        lt.start();
+        ThreadInfo ti1 = mbean.getThreadInfo(lt.getId());
+        synchronized(lock1) {
+            p.arriveAndAwaitAdvance(); // phase[1]
+            waitForThreadState(lt, Thread.State.BLOCKED);
         }
-        private void B() {
-            // notify examiner about to block on lockC
-            notifyWaiter();
+        p.arriveAndAwaitAdvance(); // phase[2]
 
-            long base = System.nanoTime();
-            setBlockingBaseTime(base);
-            synchronized (lockC) {
-                long now = System.nanoTime();
-                addBlockedEnterTime(now - base);
+        ThreadInfo ti2 = mbean.getThreadInfo(lt.getId());
+        p.arriveAndDeregister(); // phase[3]
 
-                C();  // Expected blocked count = 3
+        lt.join();
+
+        testWaited(ti1, ti2, 1);
+        System.out.println("OK");
+    }
+
+    /**
+     * Tests that waiting multiple times on the same monitor subsequently
+     * increases the waited count by the number of subsequent calls and the
+     * waited time by a positive number.
+     */
+    private static void testMultiWaitingOnSimpleMonitor() throws Exception {
+        System.out.println("testWaitingOnMultipleMonitors");
+        final Object lock1 = new Object();
+
+        final Phaser p = new Phaser(2);
+        LockerThread lt = newLockerThread(new Runnable() {
+            @Override
+            public void run() {
+                p.arriveAndAwaitAdvance(); // phase[1]
+                synchronized(lock1) {
+                    System.out.println("[LockerThread obtained Lock1]");
+                    for (int i = 0; i < 3; i++) {
+                        try {
+                            lock1.wait(300);
+                        } catch (InterruptedException ex) {
+                            // ignore
+                        }
+                        p.arriveAndAwaitAdvance(); // phase[2-4]
+                    }
+                }
+                p.arriveAndAwaitAdvance(); // phase[5]
             }
+        });
+
+        lt.start();
+        ThreadInfo ti1 = mbean.getThreadInfo(lt.getId());
+        synchronized(lock1) {
+            p.arriveAndAwaitAdvance(); //phase[1]
+            waitForThreadState(lt, Thread.State.BLOCKED);
         }
-        private void C() {
-            // notify examiner about to block on lockD
-            notifyWaiter();
+        int phase = p.getPhase();
+        while ((p.arriveAndAwaitAdvance() - phase) < 3); // phase[2-4]
 
-            long base = System.nanoTime();
-            setBlockingBaseTime(base);
-            synchronized (lockD) {
-                long now = System.nanoTime();
-                addBlockedEnterTime(now - base);
+        ThreadInfo ti2 = mbean.getThreadInfo(lt.getId());
+        p.arriveAndDeregister(); // phase[5]
 
-                D();  // Expected blocked count = 4
-            }
-        }
-        private void D() {
-            goSleep(50);
-        }
-        private void E() {
-            final int WAIT = 1000;
-            waitObj(WAIT);
-            waitObj(WAIT);
-            waitObj(WAIT);
-        }
+        lt.join();
+        testWaited(ti1, ti2, 3);
+        System.out.println("OK");
+    }
 
-        public void run() {
-            test();
-        } // run()
-    } // BlockedThread
+    /**
+     * Tests that waiting on monitors places in nested synchronized blocks
+     * properly increases the waited count by the number of times the "lock.wait()"
+     * was invoked and the waited time by a positive number.
+     */
+    private static void testWaitingOnNestedMonitor() throws Exception {
+        System.out.println("testWaitingOnNestedMonitor");
+        final Object lock1 = new Object();
+        final Object lock2 = new Object();
+        final Object lock3 = new Object();
 
-    static int blockedCount = 0;
-    static int waitedCount = 0;
-    static class Examiner extends StatThread {
-        private BlockedThread blockedThread;
-        private Semaphore semaphore = new Semaphore();
+        final Phaser p = new Phaser(2);
+        LockerThread lt = newLockerThread(new Runnable() {
+            @Override
+            public void run() {
+                p.arriveAndAwaitAdvance(); // phase[1]
+                synchronized(lock1) {
+                    System.out.println("[LockerThread obtained Lock1]");
+                    try {
+                        lock1.wait(300);
+                    } catch (InterruptedException ex) {
+                        // ignore
+                    }
 
-        Examiner(String name) {
-            super(name);
-        }
-
-        public void setThread(BlockedThread thread) {
-            blockedThread = thread;
-        }
-
-        private void blockedTimeRangeCheck(StatThread t,
-                                           long blockedTime,
-                                           long nowNano)
-            throws Exception {
-            long expected = t.totalBlockedTimeMs(nowNano);
-
-            // accept 5% range
-            timeRangeCheck(blockedTime, expected, 5);
-        }
-        private void waitedTimeRangeCheck(StatThread t,
-                                          long waitedTime,
-                                          long nowNano)
-            throws Exception {
-            long expected = t.totalWaitTimeMs(nowNano);
-
-            // accept 5% range
-            timeRangeCheck(waitedTime, expected, 5);
-        }
-
-        private void timeRangeCheck(long time, long expected, int percent)
-            throws Exception {
-
-            double diff = expected - time;
-
-            if (trace) {
-                 System.out.println("  Time = " + time +
-                    " expected = " + expected +
-                    ".  Diff = " + diff);
-
-            }
-            // throw an exception if blockedTime and expectedTime
-            // differs > percent%
-            if (diff < 0) {
-                diff = diff * -1;
-            }
-
-            long range = (expected * percent) / 100;
-            // minimum range = 2 ms
-            if (range < 2) {
-                range = 2;
-            }
-            if (diff > range) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Time returned = " + time +
-                    " expected = " + expected + ".  Diff = " + diff);
-            }
-        }
-        private void checkInfo(StatThread t, Thread.State s, Object lock,
-                               String lockName, int bcount, int wcount)
-            throws Exception {
-
-            String action = "ERROR";
-            if (s == Thread.State.WAITING || s == Thread.State.TIMED_WAITING) {
-                action = "wait on ";
-            } else if (s == Thread.State.BLOCKED) {
-                action = "block on ";
-            }
-            System.out.println(t + " expected to " + action + lockName +
-                " with blocked count = " + bcount +
-                " and waited count = " + wcount);
-
-            long now = System.nanoTime();
-            ThreadInfo info = mbean.getThreadInfo(t.getId());
-            if (info.getThreadState() != s) {
-                printStack(t, info.getStackTrace());
-                throw new RuntimeException("TEST FAILED: " +
-                    "Thread state returned is " + info.getThreadState() +
-                    ". Expected to be " + s);
-            }
-
-            if (info.getLockName() == null ||
-                !info.getLockName().equals(lock.toString())) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "getLockName() returned " + info.getLockName() +
-                    ". Expected to be " + lockName + " - "  + lock.toString());
-            }
-
-            if (info.getBlockedCount() != bcount) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Blocked Count returned is " + info.getBlockedCount() +
-                    ". Expected to be " + bcount);
-            }
-            if (info.getWaitedCount() != wcount) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Waited Count returned is " + info.getWaitedCount() +
-                    ". Expected to be " + wcount);
-            }
-
-            String lockObj = info.getLockName();
-            if (lockObj == null || !lockObj.equals(lock.toString())) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Object blocked on is " + lockObj  +
-                    ". Expected to be " + lock.toString());
-            }
-
-            if (!blockedTimeCheck) {
-                return;
-            }
-            long blockedTime = info.getBlockedTime();
-            if (blockedTime < 0) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Blocked time returned is negative = " + blockedTime);
-            }
-
-            if (s == Thread.State.BLOCKED) {
-                blockedTimeRangeCheck(t, blockedTime, now);
-            } else {
-                timeRangeCheck(blockedTime, t.totalBlockedTimeMs(), 5);
-            }
-
-            long waitedTime = info.getWaitedTime();
-            if (waitedTime < 0) {
-                throw new RuntimeException("TEST FAILED: " +
-                    "Waited time returned is negative = " + waitedTime);
-            }
-            if (s == Thread.State.WAITING || s == Thread.State.TIMED_WAITING) {
-                waitedTimeRangeCheck(t, waitedTime, now);
-            } else {
-                timeRangeCheck(waitedTime, t.totalWaitTimeMs(), 5);
-            }
-
-        }
-
-        private void examine() {
-            try {
-                synchronized (lockD) {
-                    synchronized (lockC) {
-                        synchronized (lockB) {
-                            synchronized (lockA) {
-                                // notify main thread to continue
-                                semaphore.semaV();
-
-                                // wait until BlockedThread has started
-                                blockedThread.waitUntilBlocked();
-
-                                blockedCount++;
-                                checkInfo(blockedThread, Thread.State.BLOCKED,
-                                          lockA, "lockA",
-                                          blockedCount, waitedCount);
-                            }
-
-                           // wait until BlockedThread to block on lockB
-                            blockedThread.waitUntilBlocked();
-
-                            blockedCount++;
-                            checkInfo(blockedThread, Thread.State.BLOCKED,
-                                      lockB, "lockB",
-                                      blockedCount, waitedCount);
+                    p.arriveAndAwaitAdvance(); // phase[2]
+                    synchronized(lock2) {
+                        System.out.println("[LockerThread obtained Lock2]");
+                        try {
+                            lock2.wait(300);
+                        } catch (InterruptedException ex) {
+                            // ignore
                         }
 
-                        // wait until BlockedThread to block on lockC
-                        blockedThread.waitUntilBlocked();
-
-                        blockedCount++;
-                        checkInfo(blockedThread, Thread.State.BLOCKED,
-                                  lockC, "lockC",
-                                  blockedCount, waitedCount);
+                        p.arriveAndAwaitAdvance(); // phase[3]
+                        synchronized(lock3) {
+                            System.out.println("[LockerThread obtained Lock3]");
+                            try {
+                                lock3.wait(300);
+                            } catch (InterruptedException ex) {
+                                // ignore
+                            }
+                            p.arriveAndAwaitAdvance(); // phase[4]
+                        }
                     }
-                    // wait until BlockedThread to block on lockD
-                    blockedThread.waitUntilBlocked();
-                    blockedCount++;
-
-                    checkInfo(blockedThread, Thread.State.BLOCKED,
-                              lockD, "lockD",
-                              blockedCount, waitedCount);
                 }
-
-                // wait until BlockedThread about to call E()
-                // BlockedThread will wait on waiter for 3 times
-                blockedThread.waitUntilWaiting();
-
-                waitedCount++;
-                checkInfo(blockedThread, Thread.State.TIMED_WAITING,
-                          waiter, "waiter", blockedCount, waitedCount);
-
-                blockedThread.waitUntilWaiting();
-
-                waitedCount++;
-                checkInfo(blockedThread, Thread.State.TIMED_WAITING,
-                          waiter, "waiter", blockedCount, waitedCount);
-
-                blockedThread.waitUntilWaiting();
-
-                waitedCount++;
-                checkInfo(blockedThread, Thread.State.TIMED_WAITING,
-                          waiter, "waiter", blockedCount, waitedCount);
-
-            } catch (Exception e) {
-                e.printStackTrace();
-                System.out.println("Unexpected exception.");
-                testFailed = true;
+                p.arriveAndAwaitAdvance(); // phase[5]
             }
+        });
+
+        lt.start();
+        ThreadInfo ti1 = mbean.getThreadInfo(lt.getId());
+        synchronized(lock1) {
+            p.arriveAndAwaitAdvance(); // phase[1]
+            waitForThreadState(lt, Thread.State.BLOCKED);
         }
 
-        public void run() {
-            examine();
-        } // run()
-
-        public void waitUntilWaiting() {
-            semaphore.semaP();
-
-            // wait until the examiner is waiting for
-            while (!blockedThread.hasWaitersForBlocked()) {
-                goSleep(50);
-            }
-            // give a chance for the examiner thread to really wait
-            goSleep(20);
-
+        synchronized(lock2) {
+            p.arriveAndAwaitAdvance(); // phase[2]
+            waitForThreadState(lt, Thread.State.BLOCKED);
         }
-    } // Examiner
+
+        synchronized(lock3) {
+            p.arriveAndAwaitAdvance(); // phase[3]
+            waitForThreadState(lt, Thread.State.BLOCKED);
+        }
+
+        p.arriveAndAwaitAdvance(); // phase[4]
+        ThreadInfo ti2 = mbean.getThreadInfo(lt.getId());
+        p.arriveAndDeregister(); // phase[5]
+
+        lt.join();
+        testWaited(ti1, ti2, 3);
+        System.out.println("OK");
+    }
+
+    private static void testWaited(ThreadInfo ti1, ThreadInfo ti2, int waited) throws Error {
+        long waitCntDiff = ti2.getWaitedCount() - ti1.getWaitedCount();
+        long waitTimeDiff = ti2.getWaitedTime() - ti1.getWaitedTime();
+        if (waitCntDiff < waited) {
+            throw new Error("Unexpected diff in waited count. Expecting at least "
+                            + waited + " , got " + waitCntDiff);
+        }
+        if (waitTimeDiff <= 0) {
+            throw new Error("Unexpected diff in waited time. Expecting increasing " +
+                            "value, got " + waitTimeDiff + "ms");
+        }
+    }
+
+    private static void testBlocked(ThreadInfo ti1, ThreadInfo ti2,
+                                    String lockName, final Object lock)
+    throws Error {
+        long blkCntDiff = ti2.getBlockedCount() - ti1.getBlockedCount();
+        long blkTimeDiff = ti2.getBlockedTime() - ti1.getBlockedTime();
+        if (blkCntDiff < 1) {
+            throw new Error("Unexpected diff in blocked count. Expecting at least 1, " +
+                            "got " + blkCntDiff);
+        }
+        if (blkTimeDiff < 0) {
+            throw new Error("Unexpected diff in blocked time. Expecting a positive " +
+                            "number, got " + blkTimeDiff);
+        }
+        if (!lockName.equals(lock.toString())) {
+            throw new Error("Unexpected blocked monitor name. Expecting " +
+                    lock.toString() + ", got " +
+                    lockName);
+        }
+    }
 }
diff --git a/jdk/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java b/jdk/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java
index 1cd9032..7fed519 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/ThreadBlockedCount.java
@@ -26,177 +26,127 @@
  * @bug     4530538
  * @summary Basic unit test of ThreadInfo.getBlockedCount()
  * @author  Alexei Guibadoulline and Mandy Chung
- *
- * @build ThreadExecutionSynchronizer
+ * @author  Jaroslav Bachorik
  * @run main ThreadBlockedCount
  */
 
 import java.lang.management.*;
+import java.util.concurrent.Phaser;
 
 public class ThreadBlockedCount {
-    final static long EXPECTED_BLOCKED_COUNT = 3;
+        final static long EXPECTED_BLOCKED_COUNT = 3;
     final static int  DEPTH = 10;
-    private static ThreadMXBean mbean
+    private static final ThreadMXBean mbean
         = ManagementFactory.getThreadMXBean();
 
-    private static Object a = new Object();
-    private static Object b = new Object();
-    private static Object c = new Object();
-    private static boolean aNotified = false;
-    private static boolean bNotified = false;
-    private static boolean cNotified = false;
-    private static Object blockedObj1 = new Object();
-    private static Object blockedObj2 = new Object();
-    private static Object blockedObj3 = new Object();
-    private static volatile boolean testFailed = false;
+    private static final Object a = new Object();
+    private static final Object b = new Object();
+    private static final Object c = new Object();
+
+    private static final Object blockedObj1 = new Object();
+    private static final Object blockedObj2 = new Object();
+    private static final Object blockedObj3 = new Object();
+    private static volatile boolean testOk = true;
     private static BlockingThread blocking;
     private static BlockedThread blocked;
-    private static ThreadExecutionSynchronizer thrsync;
-
-
 
     public static void main(String args[]) throws Exception {
-        // Create the BlockingThread before BlockedThread
-        // to make sure BlockingThread enter the lock before BlockedThread
-        thrsync = new ThreadExecutionSynchronizer();
-
-        blocking = new BlockingThread();
-        blocking.start();
-
-        blocked = new BlockedThread();
-        blocked.start();
-
-        try {
-            blocking.join();
-            blocked.join();
-        } catch (InterruptedException e) {
-            System.err.println("Unexpected exception.");
-            e.printStackTrace(System.err);
-            throw e;
-        }
-
-        if (testFailed) {
+        // real run
+        runTest();
+        if (!testOk) {
             throw new RuntimeException("TEST FAILED.");
         }
         System.out.println("Test passed.");
     }
 
+    private static void runTest() throws Exception {
+        final Phaser p = new Phaser(2);
+
+        blocking = new BlockingThread(p);
+        blocking.start();
+
+        blocked = new BlockedThread(p);
+        blocked.start();
+
+        try {
+            blocking.join();
+
+            testOk = checkBlocked();
+            p.arriveAndAwaitAdvance(); // #5
+
+        } catch (InterruptedException e) {
+            System.err.println("Unexpected exception.");
+            e.printStackTrace(System.err);
+            throw e;
+        }
+    }
+
 
     static class BlockedThread extends Thread {
-        // NOTE: We can't use a.wait() here because wait() call is counted
-        // as blockedCount.  Instead, we use a boolean flag and sleep.
-        //
+        private final Phaser p;
+
+        BlockedThread(Phaser p) {
+            super("BlockedThread");
+            this.p = p;
+        }
+
         public void run() {
-            // wait Blocking thread
-            thrsync.signal();
+            int accumulator = 0;
+            p.arriveAndAwaitAdvance(); // #1
 
             // Enter lock a without blocking
             synchronized (a) {
-                // wait until BlockingThread holds blockedObj1
-                while (!aNotified) {
-                    try {
-                        Thread.sleep(50);
-                    } catch (InterruptedException e) {
-                        System.err.println("Unexpected exception.");
-                        e.printStackTrace(System.err);
-                        testFailed = true;
-                        break;
-                    }
-                }
-
-                // signal BlockingThread.
-                thrsync.signal();
+                p.arriveAndAwaitAdvance(); // #2
 
                 // Block to enter blockedObj1
                 // blockedObj1 should be owned by BlockingThread
                 synchronized (blockedObj1) {
-                    System.out.println("BlockedThread entered lock blockedObj1.");
+                    accumulator++; // filler
                 }
             }
 
-            // signal BlockingThread.
-            thrsync.signal();
-
             // Enter lock a without blocking
             synchronized (b) {
                 // wait until BlockingThread holds blockedObj2
-                while (!bNotified) {
-                    try {
-                        Thread.sleep(50);
-                    } catch (InterruptedException e) {
-                        System.err.println("Unexpected exception.");
-                        e.printStackTrace(System.err);
-                        testFailed = true;
-                        break;
-                    }
-                }
-
-                // signal BlockingThread.
-                thrsync.signal();
+                p.arriveAndAwaitAdvance(); // #3
 
                 // Block to enter blockedObj2
                 // blockedObj2 should be owned by BlockingThread
                 synchronized (blockedObj2) {
-                    System.out.println("BlockedThread entered lock blockedObj2.");
+                    accumulator++; // filler
                 }
             }
 
-            // signal BlockingThread.
-            thrsync.signal();
-
             // Enter lock a without blocking
             synchronized (c) {
                 // wait until BlockingThread holds blockedObj3
-                while (!cNotified) {
-                    try {
-                        Thread.sleep(50);
-                    } catch (InterruptedException e) {
-                        System.err.println("Unexpected exception.");
-                        e.printStackTrace(System.err);
-                        testFailed = true;
-                        break;
-                    }
-                }
-
-                // signal BlockingThread.
-                thrsync.signal();
+                p.arriveAndAwaitAdvance(); // #4
 
                 // Block to enter blockedObj3
                 // blockedObj3 should be owned by BlockingThread
                 synchronized (blockedObj3) {
-                    System.out.println("BlockedThread entered lock blockedObj3.");
+                    accumulator++; // filler
                 }
             }
 
-            // wait for the thread stats to be updated for 10 seconds
-            for (int i = 0; i < 100; i++) {
-                if (getBlockedCount() == EXPECTED_BLOCKED_COUNT) {
-                    return;
-                }
-                try {
-                    Thread.sleep(100);
-                } catch (InterruptedException e) {
-                    System.err.println("Unexpected exception.");
-                    e.printStackTrace(System.err);
-                    testFailed = true;
-                    return;
-                }
-            }
-            long count = getBlockedCount();
-            if (count != EXPECTED_BLOCKED_COUNT) {
-                System.err.println("TEST FAILED: Blocked thread has " + count +
-                                    " blocked counts. Expected " +
-                                    EXPECTED_BLOCKED_COUNT);
-                testFailed = true;
-            }
+            // wait for the main thread to check the blocked count
+            System.out.println("Acquired " + accumulator + " monitors");
+            p.arriveAndAwaitAdvance(); // #5
+            // ... and we can leave now
         } // run()
-    } // BlockingThread
+    } // BlockedThread
 
     static class BlockingThread extends Thread {
-        private void waitForSignalToRelease() {
+        private final Phaser p;
 
+        BlockingThread(Phaser p) {
+            super("BlockingThread");
+            this.p = p;
+        }
+
+        private void waitForBlocked() {
             // wait for BlockedThread.
-            thrsync.waitForSignal();
+            p.arriveAndAwaitAdvance();
 
             boolean threadBlocked = false;
             while (!threadBlocked) {
@@ -206,7 +156,7 @@
                 } catch (InterruptedException e) {
                     System.err.println("Unexpected exception.");
                     e.printStackTrace(System.err);
-                    testFailed = true;
+                    testOk = false;
                     break;
                 }
                 ThreadInfo info = mbean.getThreadInfo(blocked.getId());
@@ -215,44 +165,55 @@
         }
 
         public void run() {
-            // wait for BlockedThread.
-            thrsync.waitForSignal();
+            p.arriveAndAwaitAdvance(); // #1
 
             synchronized (blockedObj1) {
                 System.out.println("BlockingThread attempts to notify a");
-                aNotified = true;
-                waitForSignalToRelease();
+                waitForBlocked(); // #2
             }
 
-            // wait for BlockedThread.
-            thrsync.waitForSignal();
-
             // block until BlockedThread is ready
             synchronized (blockedObj2) {
                 System.out.println("BlockingThread attempts to notify b");
-                bNotified = true;
-                waitForSignalToRelease();
+                waitForBlocked(); // #3
             }
 
-            // wait for BlockedThread.
-            thrsync.waitForSignal();
-
             // block until BlockedThread is ready
             synchronized (blockedObj3) {
                 System.out.println("BlockingThread attempts to notify c");
-                cNotified = true;
-                waitForSignalToRelease();
+                waitForBlocked(); // #4
             }
 
         } // run()
-    } // BlockedThread
+    } // BlockingThread
 
     private static long getBlockedCount() {
         long count;
         // Check the mbean now
-        ThreadInfo ti = mbean.getThreadInfo(Thread.currentThread().
-                getId());
+        ThreadInfo ti = mbean.getThreadInfo(blocked.getId());
         count = ti.getBlockedCount();
         return count;
     }
+
+    private static boolean checkBlocked() {
+        // wait for the thread stats to be updated for 10 seconds
+        long count = -1;
+        for (int i = 0; i < 100; i++) {
+            count = getBlockedCount();
+            if (count >= EXPECTED_BLOCKED_COUNT) {
+                return true;
+            }
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException e) {
+                System.err.println("Unexpected exception.");
+                e.printStackTrace(System.err);
+                return false;
+            }
+        }
+        System.err.println("TEST FAILED: Blocked thread has " + count +
+                            " blocked counts. Expected at least " +
+                            EXPECTED_BLOCKED_COUNT);
+        return false;
+    }
 }
diff --git a/jdk/test/java/lang/management/ThreadMXBean/ThreadExecutionSynchronizer.java b/jdk/test/java/lang/management/ThreadMXBean/ThreadExecutionSynchronizer.java
deleted file mode 100644
index 46c7d50..0000000
--- a/jdk/test/java/lang/management/ThreadMXBean/ThreadExecutionSynchronizer.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2004, 2013, 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.
- */
-
-/*
- *
- * @summary This class is used to synchronize execution of two threads.
- * @author  Swamy Venkataramanappa
- */
-
-import java.util.concurrent.Semaphore;
-
-public class ThreadExecutionSynchronizer {
-
-    private volatile boolean waiting;
-    private final Semaphore semaphore;
-
-    public ThreadExecutionSynchronizer() {
-        semaphore = new Semaphore(1);
-        waiting = false;
-    }
-
-    // Synchronizes two threads execution points.
-    // Basically any thread could get scheduled to run and
-    // it is not possible to know which thread reaches expected
-    // execution point. So whichever thread reaches a execution
-    // point first wait for the second thread. When the second thread
-    // reaches the expected execution point will wake up
-    // the thread which is waiting here.
-    void stopOrGo() {
-        semaphore.acquireUninterruptibly(); // Thread can get blocked.
-        if (!waiting) {
-            waiting = true;
-            // Wait for second thread to enter this method.
-            while(!semaphore.hasQueuedThreads()) {
-                try {
-                    Thread.sleep(20);
-                } catch (InterruptedException xx) {}
-            }
-            semaphore.release();
-        } else {
-            waiting = false;
-            semaphore.release();
-        }
-    }
-
-    // Wrapper function just for code readability.
-    void waitForSignal() {
-        stopOrGo();
-        goSleep(50);
-    }
-
-    void signal() {
-        stopOrGo();
-        goSleep(50);
-    }
-
-    private static void goSleep(long ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            System.out.println("Unexpected exception.");
-        }
-    }
-}
diff --git a/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java b/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java
new file mode 100644
index 0000000..391c5fb
--- /dev/null
+++ b/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2014, 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 8035897
+ * @summary FD_SETSIZE should be set on macosx
+ * @run main/othervm AnotherSelectFdsLimit 1023
+ * @run main/othervm AnotherSelectFdsLimit 1024
+ * @run main/othervm AnotherSelectFdsLimit 1025
+ * @run main/othervm AnotherSelectFdsLimit 1600
+ */
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.SocketTimeoutException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AnotherSelectFdsLimit {
+    static final int DEFAULT_FDS_TO_USE = 1600;
+
+    public static void main(String [] args) throws Exception {
+        if (!System.getProperty("os.name").contains("OS X")) {
+            System.out.println("Test only run on MAC. Exiting.");
+            return;
+        }
+
+        int fdsToUse = DEFAULT_FDS_TO_USE;
+        if (args.length == 1)
+            fdsToUse = Integer.parseInt(args[0]);
+
+        System.out.println("Using " + fdsToUse + " fds.");
+
+        List<Thread> threads = new ArrayList<>();
+        for (int i=0; i<fdsToUse; i++)
+            threads.add(new WorkerThread());
+
+        for (Thread t : threads)
+            t.start();
+
+        for (Thread t : threads)
+            t.join();
+    }
+
+    static class WorkerThread extends Thread {
+        public void run() {
+            try (ServerSocket ss = new ServerSocket(0)) {
+                ss.setSoTimeout(2000);
+                ss.accept();
+            } catch (SocketTimeoutException x) {
+                // expected
+            } catch (IOException x) {
+                throw new java.io.UncheckedIOException(x);
+            }
+        }
+    }
+}
diff --git a/jdk/test/java/nio/channels/Selector/ByteServer.java b/jdk/test/java/nio/channels/Selector/ByteServer.java
index eefd1fb..40d8adf 100644
--- a/jdk/test/java/nio/channels/Selector/ByteServer.java
+++ b/jdk/test/java/nio/channels/Selector/ByteServer.java
@@ -22,52 +22,54 @@
  */
 
 /**
- *
- * Utility class for tests. A simple server, which waits for a connection,
- * writes out n bytes and waits.
+ * Utility class for tests. A simple "in-thread" server to accept connections
+ * and write bytes.
  * @author kladko
  */
 
 import java.net.Socket;
 import java.net.ServerSocket;
+import java.net.SocketAddress;
+import java.net.InetSocketAddress;
+import java.io.IOException;
+import java.io.Closeable;
 
-public class ByteServer {
+public class ByteServer implements Closeable {
 
-    public static final String LOCALHOST = "localhost";
-    private int bytecount;
-    private Socket  socket;
-    private ServerSocket  serversocket;
-    private Thread serverthread;
-    volatile Exception savedException;
+    private final ServerSocket ss;
+    private Socket s;
 
-    public ByteServer(int bytecount) throws Exception{
-        this.bytecount = bytecount;
-        serversocket = new ServerSocket(0);
+    ByteServer() throws IOException {
+        this.ss = new ServerSocket(0);
     }
 
-    public int port() {
-        return serversocket.getLocalPort();
+    SocketAddress address() {
+        return new InetSocketAddress(ss.getInetAddress(), ss.getLocalPort());
     }
 
-    public void start() {
-        serverthread = new Thread() {
-            public void run() {
-                try {
-                    socket = serversocket.accept();
-                    socket.getOutputStream().write(new byte[bytecount]);
-                    socket.getOutputStream().flush();
-                } catch (Exception e) {
-                    System.err.println("Exception in ByteServer: " + e);
-                    System.exit(1);
-                }
-            }
-        };
-        serverthread.start();
+    void acceptConnection() throws IOException {
+        if (s != null)
+            throw new IllegalStateException("already connected");
+        this.s = ss.accept();
     }
 
-    public void exit() throws Exception {
-        serverthread.join();
-        socket.close();
-        serversocket.close();
+    void closeConnection() throws IOException {
+        Socket s = this.s;
+        if (s != null) {
+            this.s = null;
+            s.close();
+        }
+    }
+
+    void write(int count) throws IOException {
+        if (s == null)
+            throw new IllegalStateException("no connection");
+        s.getOutputStream().write(new byte[count]);
+    }
+
+    public void close() throws IOException {
+        if (s != null)
+            s.close();
+        ss.close();
     }
 }
diff --git a/jdk/test/java/nio/channels/Selector/ReadAfterConnect.java b/jdk/test/java/nio/channels/Selector/ReadAfterConnect.java
index e5d0b09..93318fb 100644
--- a/jdk/test/java/nio/channels/Selector/ReadAfterConnect.java
+++ b/jdk/test/java/nio/channels/Selector/ReadAfterConnect.java
@@ -27,27 +27,25 @@
  * @author kladko
  */
 
-import java.net.*;
-import java.nio.*;
-import java.nio.channels.*;
+import java.nio.channels.Selector;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.SocketChannel;
 
 public class ReadAfterConnect {
-
     public static void main(String[] argv) throws Exception {
-        ByteServer server = new ByteServer(0); // server: accept connection and do nothing
-        server.start();
-        InetSocketAddress isa = new InetSocketAddress(
-                InetAddress.getByName(ByteServer.LOCALHOST), server.port());
-        Selector sel = Selector.open();
-        SocketChannel sc = SocketChannel.open();
-        sc.connect(isa);
-        sc.configureBlocking(false);
-        sc.register(sel, SelectionKey.OP_READ);
-        // Previously channel would get selected here, although there is nothing to read
-        if (sel.selectNow() != 0)
-            throw new Exception("Select returned nonzero value");
-        sc.close();
-        server.exit();
+        try (ByteServer server = new ByteServer();
+             SocketChannel sc = SocketChannel.open(server.address())) {
+
+            server.acceptConnection();
+
+            try (Selector sel = Selector.open()) {
+                sc.configureBlocking(false);
+                sc.register(sel, SelectionKey.OP_READ);
+                // Previously channel would get selected here, although there is nothing to read
+                if (sel.selectNow() != 0)
+                    throw new Exception("Select returned nonzero value");
+            }
+        }
     }
 
 }
diff --git a/jdk/test/java/nio/channels/Selector/SelectAfterRead.java b/jdk/test/java/nio/channels/Selector/SelectAfterRead.java
index fccd9dd..3563146 100644
--- a/jdk/test/java/nio/channels/Selector/SelectAfterRead.java
+++ b/jdk/test/java/nio/channels/Selector/SelectAfterRead.java
@@ -28,60 +28,62 @@
  * @author kladko
  */
 
-import java.net.*;
-import java.nio.*;
-import java.nio.channels.*;
+import java.nio.ByteBuffer;
+import java.nio.channels.Selector;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.SocketChannel;
 
 public class SelectAfterRead {
 
-    final static int TIMEOUT = 1000;
+    private static final int TIMEOUT = 1000;
 
     public static void main(String[] argv) throws Exception {
-        InetAddress lh = InetAddress.getByName(ByteServer.LOCALHOST);
 
         // server: accept connection and write one byte
-        ByteServer server = new ByteServer(1);
-        server.start();
-        Selector sel = Selector.open();
-        SocketChannel sc = SocketChannel.open();
-        sc.connect(new InetSocketAddress(lh, server.port()));
-        sc.read(ByteBuffer.allocate(1));
-        sc.configureBlocking(false);
-        sc.register(sel, SelectionKey.OP_READ);
-        // previously on Windows select would select channel here, although there was
-        // nothing to read
-        if (sel.selectNow() != 0)
-            throw new Exception("Select returned nonzero value");
-        sc.close();
-        sel.close();
-        server.exit();
+        try (ByteServer server = new ByteServer();
+             SocketChannel sc = SocketChannel.open(server.address())) {
+
+            server.acceptConnection();
+            server.write(1);
+
+            try (Selector sel = Selector.open()) {
+                sc.read(ByteBuffer.allocate(1));
+                sc.configureBlocking(false);
+                sc.register(sel, SelectionKey.OP_READ);
+                // previously on Windows select would select channel here, although there was
+                // nothing to read
+                if (sel.selectNow() != 0)
+                    throw new Exception("Select returned nonzero value");
+            }
+        }
 
         // Now we will test a two reads combination
         // server: accept connection and write two bytes
-        server = new ByteServer(2);
-        server.start();
-        sc = SocketChannel.open();
-        sc.connect(new InetSocketAddress(lh, server.port()));
-        sc.configureBlocking(false);
-        sel = Selector.open();
-        sc.register(sel, SelectionKey.OP_READ);
-        if (sel.select(TIMEOUT) != 1)
-            throw new Exception("One selected key expected");
-        sel.selectedKeys().clear();
-        // previously on Windows a channel would get selected only once
-        if (sel.selectNow() != 1)
-            throw new Exception("One selected key expected");
-        // Previously on Windows two consequent reads would cause select()
-        // to select a channel, although there was nothing remaining to
-        // read in the channel
-        if (sc.read(ByteBuffer.allocate(1)) != 1)
-            throw new Exception("One byte expected");
-        if (sc.read(ByteBuffer.allocate(1)) != 1)
-            throw new Exception("One byte expected");
-        if (sel.selectNow() != 0)
-            throw new Exception("Select returned nonzero value");
-        sc.close();
-        sel.close();
-        server.exit();
+        try (ByteServer server = new ByteServer();
+             SocketChannel sc = SocketChannel.open(server.address())) {
+
+            server.acceptConnection();
+            server.write(2);
+
+            try (Selector sel = Selector.open()) {
+                sc.configureBlocking(false);
+                sc.register(sel, SelectionKey.OP_READ);
+                if (sel.select(TIMEOUT) != 1)
+                    throw new Exception("One selected key expected");
+                sel.selectedKeys().clear();
+                // previously on Windows a channel would get selected only once
+                if (sel.selectNow() != 1)
+                    throw new Exception("One selected key expected");
+                // Previously on Windows two consequent reads would cause select()
+                // to select a channel, although there was nothing remaining to
+                // read in the channel
+                if (sc.read(ByteBuffer.allocate(1)) != 1)
+                    throw new Exception("One byte expected");
+                if (sc.read(ByteBuffer.allocate(1)) != 1)
+                    throw new Exception("One byte expected");
+                if (sel.selectNow() != 0)
+                    throw new Exception("Select returned nonzero value");
+            }
+        }
     }
 }
diff --git a/jdk/test/java/nio/channels/Selector/SelectWrite.java b/jdk/test/java/nio/channels/Selector/SelectWrite.java
index 3c2d3d8..ab305ed 100644
--- a/jdk/test/java/nio/channels/Selector/SelectWrite.java
+++ b/jdk/test/java/nio/channels/Selector/SelectWrite.java
@@ -22,36 +22,33 @@
  */
 
 /* @test
-   @bug 4645302
-   @summary Socket with OP_WRITE would get selected only once
-   @author kladko
+ * @bug 4645302
+ * @summary Socket with OP_WRITE would get selected only once
+ * @author kladko
  */
 
-import java.net.*;
-import java.nio.*;
-import java.nio.channels.*;
-
+import java.nio.channels.Selector;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.SocketChannel;
 
 public class SelectWrite {
 
     public static void main(String[] argv) throws Exception {
-        ByteServer server = new ByteServer(0);
-        // server: accept connection and do nothing
-        server.start();
-        InetSocketAddress isa = new InetSocketAddress(
-                InetAddress.getByName(ByteServer.LOCALHOST), server.port());
-        Selector sel = Selector.open();
-        SocketChannel sc = SocketChannel.open();
-        sc.connect(isa);
-        sc.configureBlocking(false);
-        sc.register(sel, SelectionKey.OP_WRITE);
-        sel.select();
-        sel.selectedKeys().clear();
-        if (sel.select() == 0) {
-            throw new Exception("Select returned zero");
+        try (ByteServer server = new ByteServer();
+             SocketChannel sc = SocketChannel.open(server.address())) {
+
+            server.acceptConnection();
+
+            try (Selector sel = Selector.open()) {
+                sc.configureBlocking(false);
+                sc.register(sel, SelectionKey.OP_WRITE);
+                sel.select();
+                sel.selectedKeys().clear();
+                if (sel.select() == 0) {
+                    throw new Exception("Select returned zero");
+                }
+            }
         }
-        sc.close();
-        sel.close();
     }
 
 }
diff --git a/jdk/test/java/rmi/registry/readTest/readTest.sh b/jdk/test/java/rmi/registry/readTest/readTest.sh
index ff527b0..586460f 100644
--- a/jdk/test/java/rmi/registry/readTest/readTest.sh
+++ b/jdk/test/java/rmi/registry/readTest/readTest.sh
@@ -37,11 +37,13 @@
   SunOS | Linux | Darwin )
     PS=":"
     FS="/"
+    CHMOD="${FS}bin${FS}chmod"
     FILEURL="file:"
     ;;
   Windows* )
     PS=";"
     FS="\\"
+    CHMOD="chmod"
     FILEURL="file:/"
     if [ "$VER" -eq "5" ]; then
         ARGS="-Djdk.net.ephemeralPortRange.low=1024 -Djdk.net.ephemeralPortRange.high=65000"
@@ -51,6 +53,7 @@
   CYGWIN* )
     PS=";"
     FS="/"
+    CHMOD="chmod"
     FILEURL="file:/"
     if [ "$VER" -eq "5" ]; then
         ARGS="-Djdk.net.ephemeralPortRange.low=1024 -Djdk.net.ephemeralPortRange.high=65000"
@@ -65,6 +68,7 @@
 
 TEST_CLASSPATH=.$PS${TESTCLASSPATH:-$TESTCLASSES}
 cp -r ${TESTSRC}${FS}* .
+${CHMOD} -R u+w *
 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} testPkg${FS}*java
 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -cp $TEST_CLASSPATH readTest.java
 
diff --git a/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java b/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java
new file mode 100644
index 0000000..e8ab65d
--- /dev/null
+++ b/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2014, 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 8025708
+ * @summary make sure a PKIX CertPathBuilder can build a path when an
+ *     intermediate CA certificate contains an AKI extension with a key
+ *     identifier and no serial number and the end-entity certificate contains
+ *     an AKI extension with both a key identifier and a serial number.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.security.cert.*;
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.Collections;
+
+public class AKISerialNumber {
+
+    private static final String ROOT_CERT =
+        "MIICfTCCAeagAwIBAgIBATANBgkqhkiG9w0BAQUFADB3MQ0wCwYDVQQDEwRSb290\n" +
+        "MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0IE9yZzEWMBQG\n" +
+        "A1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czELMAkG\n" +
+        "A1UEBhMCVVMwHhcNMTQwMjAxMDUwMDAwWhcNMjQwMjAxMDUwMDAwWjB3MQ0wCwYD\n" +
+        "VQQDEwRSb290MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0\n" +
+        "IE9yZzEWMBQGA1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVz\n" +
+        "ZXR0czELMAkGA1UEBhMCVVMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJvL\n" +
+        "cZu6Rzf9IrduEDjJxEFv5uBvUNMlIAph7NhfmFH9puPW3Ksci4a5yTCzxI9VeVf3\n" +
+        "oYZ/UrZdF+mNZmS23RUh71X5tjMO+xew196M1xNpCRLbjcZ6i4tNdZYkdRIe8ejN\n" +
+        "sbBoD7OAvPbQqTygeG4jYjK6ODofSrba3BndNoFxAgMBAAGjGTAXMBUGA1UdEwEB\n" +
+        "/wQLMAkBAf8CBH////8wDQYJKoZIhvcNAQEFBQADgYEATvCqn69pNHv0zLiZAXk7\n" +
+        "3AKwAoza0wa+1S2rVuZGfBWbV7CxmBHbgcDDbU7/I8pQVkCwOHNkVFnBgNpMuAvU\n" +
+        "aDyrHSNS/av5d1yk5WAuGX2B9mSwZdhnAvtz2fsV1q9NptdF54EkIiKtQQmTGnr9\n" +
+        "TID8CFEk/qje+AB272B1UJw=\n";
+
+    /**
+     * This certificate contains an AuthorityKeyIdentifier with only the
+     * keyIdentifier field filled in.
+     */
+    private static final String INT_CERT_WITH_KEYID_AKI =
+        "MIICqTCCAhKgAwIBAgIBAjANBgkqhkiG9w0BAQUFADB3MQ0wCwYDVQQDEwRSb290\n" +
+        "MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0IE9yZzEWMBQG\n" +
+        "A1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czELMAkG\n" +
+        "A1UEBhMCVVMwHhcNMTQwMjAxMDUwMDAwWhcNMjQwMjAxMDUwMDAwWjCBhDEaMBgG\n" +
+        "A1UEAxMRSW50ZXJtZWRpYXRlIENBIDIxFjAUBgNVBAsTDVRlc3QgT3JnIFVuaXQx\n" +
+        "ETAPBgNVBAoTCFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5MRYwFAYD\n" +
+        "VQQIEw1NYXNzYWNodXNldHRzMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEF\n" +
+        "AAOBjQAwgYkCgYEAwKTZekCqb9F9T54s2IXjkQbmLIjQamMpkUlZNrpjjNq9CpTT\n" +
+        "POkfxv2UPwzTz3Ij4XFL/kJFBLm8NUOsS5xPJ62pGoZBPw9R0iMTsTce+Fpukqnr\n" +
+        "I+8jTRaAvr0tR3pqrE6uHKg7dWYN2SsWesDia/LHhwEN38yyWtSuTTLo4hcCAwEA\n" +
+        "AaM3MDUwHwYDVR0jBBgwFoAU6gZP1pO8v7+i8gsFf1gWTf/j3PkwEgYDVR0TAQH/\n" +
+        "BAgwBgEB/wIBADANBgkqhkiG9w0BAQUFAAOBgQAQxeQruav4AqQM4gmEfrHr5hOq\n" +
+        "mB2CNJ1ZqVfpDZ8GHijncKTpjNoXzzQtV23Ge+39JHOVBNWtk+aghB3iu6xGq7Qn\n" +
+        "HlBhg9meqHFqd3igDDD/jhABL2/bEo/M9rv6saYWDFZ8nCIEE6iTLTpRRko4W2Xb\n" +
+        "DyzMzMsO1kPNrJaxRg==\n";
+
+    /**
+     * This certificate contains an AuthorityKeyIdentifier with all 3 fields
+     * (keyIdentifier, authorityCertIssuer, and authorityCertSerialNumber)
+     * filled in.
+     */
+    private static final String EE_CERT_WITH_FULL_AKI =
+        "MIIDLjCCApegAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBhDEaMBgGA1UEAxMRSW50\n" +
+        "ZXJtZWRpYXRlIENBIDIxFjAUBgNVBAsTDVRlc3QgT3JnIFVuaXQxETAPBgNVBAoT\n" +
+        "CFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5MRYwFAYDVQQIEw1NYXNz\n" +
+        "YWNodXNldHRzMQswCQYDVQQGEwJVUzAeFw0xNDAyMDEwNTAwMDBaFw0yNDAyMDEw\n" +
+        "NTAwMDBaMH0xEzARBgNVBAMTCkVuZCBFbnRpdHkxFjAUBgNVBAsTDVRlc3QgT3Jn\n" +
+        "IFVuaXQxETAPBgNVBAoTCFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5\n" +
+        "MRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG\n" +
+        "9w0BAQEFAAOBjQAwgYkCgYEAqady46PdwlKHVP1iaP11CxVyL6cDlPjpwhHCcIUv\n" +
+        "nKHbzdamqmHebDcWVBNN/I0TLNCl3ga7n8KyygSN379fG7haU8SNjpy4IDAXM0/x\n" +
+        "mwTWNTbKfJEkSoiqx1WUy2JTzRUMhgYPguQNECPxBXAdQrthZ7wQosv6Ro2ySP9O\n" +
+        "YqsCAwEAAaOBtTCBsjCBoQYDVR0jBIGZMIGWgBQdeoKxTvlTgW2KgprD69vgHV4X\n" +
+        "kKF7pHkwdzENMAsGA1UEAxMEUm9vdDEWMBQGA1UECxMNVGVzdCBPcmcgVW5pdDER\n" +
+        "MA8GA1UEChMIVGVzdCBPcmcxFjAUBgNVBAcTDVRlc3QgTG9jYWxpdHkxFjAUBgNV\n" +
+        "BAgTDU1hc3NhY2h1c2V0dHMxCzAJBgNVBAYTAlVTggECMAwGA1UdEwEB/wQCMAAw\n" +
+        "DQYJKoZIhvcNAQEFBQADgYEAuG4mM1nLF7STQWwmceELZEl49ntapH/RVoekknmd\n" +
+        "aNzcL4XQf6BTl8KFUXuThHaukQnGIzFbSZV0hrpSQ5fTN2cSZgD4Fji+HuNURmmd\n" +
+        "+Kayl0piHyO1FSbrty0TFhlVNvzKXjmMp6Jdn42KyGOSCoROQcvUWN6xkV3Hvrei\n" +
+        "0ZE=\n";
+
+    private static Base64.Decoder b64Decoder = Base64.getMimeDecoder();
+    private static CertificateFactory cf;
+
+    public static void main(String[] args) throws Exception {
+
+        cf = CertificateFactory.getInstance("X.509");
+
+        X509Certificate rootCert = getCertFromMimeEncoding(ROOT_CERT);
+        TrustAnchor anchor = new TrustAnchor(rootCert, null);
+
+        X509Certificate eeCert = getCertFromMimeEncoding(EE_CERT_WITH_FULL_AKI);
+        X509Certificate intCert = getCertFromMimeEncoding(INT_CERT_WITH_KEYID_AKI);
+
+        X509CertSelector sel = new X509CertSelector();
+        sel.setCertificate(eeCert);
+        PKIXBuilderParameters params = new PKIXBuilderParameters
+            (Collections.singleton(anchor), sel);
+        params.setRevocationEnabled(false);
+
+        ArrayList<X509Certificate> certs = new ArrayList<>();
+        certs.add(intCert);
+        certs.add(eeCert);
+        CollectionCertStoreParameters ccsp =
+            new CollectionCertStoreParameters(certs);
+        CertStore cs = CertStore.getInstance("Collection", ccsp);
+        params.addCertStore(cs);
+
+        CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");
+        CertPathBuilderResult res = cpb.build(params);
+    }
+
+    private static X509Certificate getCertFromMimeEncoding(String encoded)
+        throws CertificateException
+    {
+        byte[] bytes = b64Decoder.decode(encoded);
+        ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
+        return (X509Certificate)cf.generateCertificate(stream);
+    }
+}
diff --git a/jdk/test/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java b/jdk/test/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java
index 3ba69e7..fbdb611 100644
--- a/jdk/test/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java
+++ b/jdk/test/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java
@@ -57,8 +57,8 @@
      * that was present in the last LogRecord instance published.
      */
     static final class TestHandler extends Handler {
-        ResourceBundle lastBundle = null;
-        String lastBundleName = null;
+        volatile ResourceBundle lastBundle = null;
+        volatile String lastBundleName = null;
         @Override
         public void publish(LogRecord record) {
             lastBundle = record.getResourceBundle();
@@ -186,6 +186,8 @@
 
     public static void test(String loggerName) throws Exception {
 
+        System.out.println("Starting test for " + loggerName);
+
         final ResourceBundle bundle = ResourceBundle.getBundle(LIST_BUNDLE_NAME);
         Logger foobar = Logger.getLogger(loggerName);
 
@@ -235,16 +237,21 @@
         }
 
         // Create a child logger
-        Logger foobaz = Logger.getLogger(loggerName + ".baz");
+        final Logger foobaz = Logger.getLogger(loggerName + ".baz");
+
+        if (foobar != foobaz.getParent()) {
+            throw new RuntimeException("Unexpected parent: " +
+                    foobaz.getParent() + " != " + foobar);
+        }
 
         // Check that the child logger does not have a bundle set locally
         if (foobaz.getResourceBundle() != null) {
             throw new RuntimeException("Unexpected bundle: "
-                    + foobar.getResourceBundle());
+                    + foobaz.getResourceBundle());
         }
         if (foobaz.getResourceBundleName() != null) {
             throw new RuntimeException("Unexpected bundle: "
-                    + foobar.getResourceBundleName());
+                    + foobaz.getResourceBundleName());
         }
 
 
@@ -258,39 +265,65 @@
         // checks that the message has been logged with the bundle
         // inherited from the parent logger
         if (!LIST_BUNDLE_NAME.equals(handler.lastBundleName)) {
+            debugLogger(foobaz, foobar, handler);
             throw new RuntimeException("Unexpected bundle name: "
                     + handler.lastBundleName);
         }
         if (!bundle_fr.equals(handler.lastBundle)) {
+            debugLogger(foobaz, foobar, handler);
             throw new RuntimeException("Unexpected bundle: "
                     + handler.lastBundle);
         }
 
         // Check that we can get set a bundle on the child logger
         // using Logger.getLogger.
-        foobaz = Logger.getLogger(loggerName + ".baz", PROPERTY_BUNDLE_NAME);
+        final Logger foobaz2 = Logger.getLogger(loggerName + ".baz", PROPERTY_BUNDLE_NAME);
+        if (foobaz2 != foobaz) {
+            throw new RuntimeException("Unexpected logger: " + foobaz2 + " != " + foobaz);
+        }
+        if (foobar != foobaz.getParent()) {
+            throw new RuntimeException("Unexpected parent: " +
+                    foobaz.getParent() + " != " + foobar);
+        }
 
         // check that the child logger has the correct bundle.
         // it should no longer inherit it from its parent.
-        if (!PROPERTY_BUNDLE_NAME.equals(foobaz.getResourceBundleName())) {
+        if (!PROPERTY_BUNDLE_NAME.equals(foobaz2.getResourceBundleName())) {
             throw new RuntimeException("Unexpected bundle name: "
-                    + foobaz.getResourceBundleName());
+                    + foobaz2.getResourceBundleName());
         }
-        if (!PROPERTY_BUNDLE_NAME.equals(foobaz.getResourceBundle().getBaseBundleName())) {
+
+        if (!PROPERTY_BUNDLE_NAME.equals(foobaz2.getResourceBundle().getBaseBundleName())) {
             throw new RuntimeException("Unexpected bundle name: "
-                    + foobaz.getResourceBundle().getBaseBundleName());
+                    + foobaz2.getResourceBundle().getBaseBundleName());
+        }
+
+        boolean found = false;
+        for (Handler h : foobaz2.getHandlers()) {
+            if (h == handler) {
+                found = true;
+                break;
+            }
+        }
+
+        if (!found) {
+            throw new RuntimeException("Expected handler not found in: " +
+                    foobaz2.getName() + "(" + foobaz2.getClass().getName()+")" );
         }
 
         // log a message on the child logger
-        foobaz.severe("dummy");
+        foobaz2.severe("dummy");
+
 
         // check that the last published log record has the appropriate
         // bundle.
         if (!PROPERTY_BUNDLE_NAME.equals(handler.lastBundleName)) {
+            debugLogger(foobaz2, foobar, handler);
             throw new RuntimeException("Unexpected bundle name: "
                     + handler.lastBundleName);
         }
-        if (foobaz.getResourceBundle() != handler.lastBundle) {
+        if (foobaz2.getResourceBundle() != handler.lastBundle) {
+            debugLogger(foobaz2, foobar, handler);
             throw new RuntimeException("Unexpected bundle: "
                     + handler.lastBundle);
         }
@@ -298,7 +331,7 @@
         // try to set a bundle that has a different name, and checks that
         // it fails in IAE.
         try {
-            foobaz.setResourceBundle(bundle_fr);
+            foobaz2.setResourceBundle(bundle_fr);
             throw new RuntimeException("Expected exception not raised!");
         } catch (IllegalArgumentException x) {
             System.out.println("Got expected exception: " + x);
@@ -333,10 +366,12 @@
 
         // check that the log record had the correct bundle.
         if (! PROPERTY_BUNDLE_NAME.equals(handler2.lastBundleName)) {
+            debugLogger(customLogger, foobar, handler2);
             throw new RuntimeException("Unexpected bundle name: "
                     + handler2.lastBundleName);
         }
         if (! PROPERTY_BUNDLE_NAME.equals(customLogger.getResourceBundleName())) {
+            debugLogger(customLogger, foobar, handler2);
             throw new RuntimeException("Unexpected bundle name: "
                     + customLogger.getResourceBundleName());
         }
@@ -356,6 +391,7 @@
         // because getResourceBundleName() is called on parent logger
         //         we will have handler2.lastBundleName = PROPERTY_BUNDLE_NAME
         if (!PROPERTY_BUNDLE_NAME.equals(handler2.lastBundleName)) {
+            debugLogger(biebar, customLogger, handler2);
             throw new RuntimeException("Unexpected bundle name: "
                     + handler2.lastBundleName);
         }
@@ -363,13 +399,70 @@
         //         we will have getBaseName(handler2.lastBundle) = PROPERTY_BUNDLE_NAME
         //         and not handler2.lastBundle = bundle_fr
         if (handler2.lastBundle == null) {
+            debugLogger(biebar, customLogger, handler2);
             throw new RuntimeException("Unexpected bundle: "
                     + handler2.lastBundle);
         }
         if (!PROPERTY_BUNDLE_NAME.equals(getBaseName(handler2.lastBundle))) {
+            debugLogger(biebar, customLogger, handler2);
             throw new RuntimeException("Unexpected bundle name: "
                     + getBaseName(handler2.lastBundle));
         }
+
+        // Just make sure that these loggers won't be eagerly GCed...
+        if (foobar == null || !loggerName.equals(foobar.getName())) {
+            throw new RuntimeException("foobar is null "
+                    + "- or doesn't have the expected  name: " + foobar);
+        }
+        if (foobaz == null || !foobaz.getName().startsWith(loggerName)) {
+            throw new RuntimeException("foobaz is null "
+                    + "- or doesn't have the expected  name: " + foobaz);
+        }
+        if (foobaz2 == null || !foobaz2.getName().startsWith(loggerName)) {
+            throw new RuntimeException("foobaz2 is null "
+                    + "- or doesn't have the expected  name: " + foobaz2);
+        }
+        if (!customLogger.getName().startsWith(loggerName)) {
+            throw new RuntimeException("customLogger "
+                    + "doesn't have the expected name: " + customLogger);
+        }
+        if (!biebar.getName().startsWith(loggerName)) {
+            throw new RuntimeException("biebar "
+                    + "doesn't have the expected  name: " + biebar.getName());
+        }
+        System.out.println("Test passed for " + loggerName);
+    }
+
+    static void debugLogger(Logger logger, Logger expectedParent, TestHandler handler) {
+        final String logName = logger.getName();
+        final String prefix = "    " + logName;
+        System.err.println("Logger " + logName
+                + " logged with bundle name " + handler.lastBundleName
+                + " (" + handler.lastBundle + ")");
+        System.err.println(prefix + ".getResourceBundleName() is "
+                + logger.getResourceBundleName());
+        System.err.println(prefix + ".getResourceBundle() is "
+                + logger.getResourceBundle());
+        final Logger parent = logger.getParent();
+        final String pname = parent == null ? null : parent.getName();
+        final String pclass = parent == null ? ""
+                : ("(" + parent.getClass().getName() + ")");
+        final String presn = parent == null ? null
+                : parent.getResourceBundleName();
+        final ResourceBundle pres = parent == null ? null
+                : parent.getResourceBundle();
+        System.err.println(prefix + ".getParent() is "
+                + pname + (pname == null ? ""
+                        : (" " + pclass + ": " + parent)));
+        System.err.println("    expected parent is :" + expectedParent);
+        System.err.println(prefix + ".parent.getResourceBundleName() is "
+                + presn);
+        System.err.println(prefix + ".parent.getResourceBundle() is "
+                + pres);
+        System.err.println("    expected parent getResourceBundleName() is "
+                + expectedParent.getResourceBundleName());
+        System.err.println("    expected parent.getResourceBundle() is "
+                + expectedParent.getResourceBundle());
     }
 
     public static class SimplePolicy extends Policy {
diff --git a/jdk/test/java/util/logging/ParentLoggersTest.java b/jdk/test/java/util/logging/ParentLoggersTest.java
index 9f54fd9..66e8789 100644
--- a/jdk/test/java/util/logging/ParentLoggersTest.java
+++ b/jdk/test/java/util/logging/ParentLoggersTest.java
@@ -63,7 +63,9 @@
     static final String LOGGER_NAME_1   = PARENT_NAME_1 + ".myLogger";
     static final String LOGGER_NAME_2   = PARENT_NAME_2 + ".myBar.myLogger";
 
-    static final List<String> initialLoggerNames = new ArrayList<String>();
+    static final List<String> initialLoggerNames = new ArrayList<>();
+    static final List<Logger> createdLoggers = new ArrayList<>();
+
     public static void main(String args[]) throws Exception {
         // cache the initial set of loggers before this test begins
         // to add any loggers
@@ -74,7 +76,7 @@
             if (!defaultLoggers.contains(logger)) {
                 initialLoggerNames.add(logger);
             }
-        };
+        }
 
         String tstSrc = System.getProperty(TST_SRC_PROP);
         File   fname  = new File(tstSrc, LM_PROP_FNAME);
@@ -92,7 +94,7 @@
     }
 
     public static List<String> getDefaultLoggerNames() {
-        List<String> expectedLoggerNames = new ArrayList<String>();
+        List<String> expectedLoggerNames = new ArrayList<>();
 
         // LogManager always creates two loggers:
         expectedLoggerNames.add("");       // root   logger: ""
@@ -106,56 +108,43 @@
      */
     public static boolean checkLoggers() {
         String failMsg = "# checkLoggers: getLoggerNames() returned unexpected loggers";
-        Vector<String> expectedLoggerNames = new Vector<String>(getDefaultLoggerNames());
+        List<String> expectedLoggerNames = new ArrayList<>(getDefaultLoggerNames());
 
         // Create the logger LOGGER_NAME_1
-        Logger.getLogger(LOGGER_NAME_1);
-        expectedLoggerNames.addElement(PARENT_NAME_1);
-        expectedLoggerNames.addElement(LOGGER_NAME_1);
+        createdLoggers.add(Logger.getLogger(LOGGER_NAME_1));
+        expectedLoggerNames.add(PARENT_NAME_1);
+        expectedLoggerNames.add(LOGGER_NAME_1);
 
         // Create the logger LOGGER_NAME_2
-        Logger.getLogger(LOGGER_NAME_2);
-        expectedLoggerNames.addElement(PARENT_NAME_2);
-        expectedLoggerNames.addElement(LOGGER_NAME_2);
+        createdLoggers.add(Logger.getLogger(LOGGER_NAME_2));
+        expectedLoggerNames.add(PARENT_NAME_2);
+        expectedLoggerNames.add(LOGGER_NAME_2);
+
 
         Enumeration<String> returnedLoggersEnum = logMgr.getLoggerNames();
-        Vector<String>      returnedLoggerNames = new Vector<String>(0);
+        List<String>      returnedLoggerNames = new ArrayList<>(0);
         while (returnedLoggersEnum.hasMoreElements()) {
            String logger = returnedLoggersEnum.nextElement();
             if (!initialLoggerNames.contains(logger)) {
                 // filter out the loggers that have been added before this test runs
-                returnedLoggerNames.addElement(logger);
+                returnedLoggerNames.add(logger);
             }
 
-        };
-
+        }
+        System.out.println(returnedLoggerNames);
         return checkNames(expectedLoggerNames, returnedLoggerNames, failMsg);
     }
 
     // Returns boolean values: PASSED or FAILED
-    private static boolean checkNames(Vector<String> expNames,
-                                      Vector<String> retNames,
+    private static boolean checkNames(List<String> expNames,
+                                      List<String> retNames,
                                       String failMsg) {
         boolean status = PASSED;
 
         if (expNames.size() != retNames.size()) {
             status = FAILED;
-        } else {
-            boolean checked[] = new boolean[retNames.size()];
-            for (int i = 0; i < expNames.size(); i++) {
-                 int j = 0;
-                for (; j < retNames.size(); j++) {
-                    if (!checked[j] &&
-                        expNames.elementAt(i).equals(retNames.elementAt(j))) {
-                        checked[j] = true;
-                        break;
-                    }
-                }
-                if (j >= retNames.size()) {
-                    status = FAILED;
-                    break;
-                }
-            }
+        } else if (!new HashSet<>(expNames).equals(new HashSet<>(retNames))) {
+            status = FAILED;
         }
         if (!status) {
             printFailMsg(expNames, retNames, failMsg);
@@ -163,25 +152,25 @@
         return status;
     }
 
-    private static void printFailMsg(Vector<String> expNames,
-                                     Vector<String> retNames,
+    private static void printFailMsg(List<String> expNames,
+                                     List<String> retNames,
                                      String failMsg) {
         out.println();
         out.println(failMsg);
-        if (expNames.size() == 0) {
+        if (expNames.isEmpty()) {
             out.println("# there are NO expected logger names");
         } else {
             out.println("# expected logger names (" + expNames.size() + "):");
             for (int i = 0; i < expNames.size(); i++) {
-               out.println(" expNames[" + i + "] = " + expNames.elementAt(i));
+               out.println(" expNames[" + i + "] = " + expNames.get(i));
             }
         }
-        if (retNames.size() == 0) {
+        if (retNames.isEmpty()) {
             out.println("# there are NO returned logger names");
         } else {
             out.println("# returned logger names (" + retNames.size() + "):");
             for (int i = 0; i < retNames.size(); i++) {
-               out.println("  retNames[" + i + "] = " + retNames.elementAt(i));
+               out.println("  retNames[" + i + "] = " + retNames.get(i));
             }
         }
     }
diff --git a/jdk/test/java/util/logging/SimpleLogManager.java b/jdk/test/java/util/logging/SimpleLogManager.java
index f469727..1e1da79 100644
--- a/jdk/test/java/util/logging/SimpleLogManager.java
+++ b/jdk/test/java/util/logging/SimpleLogManager.java
@@ -98,16 +98,14 @@
             return false;
         }
         CustomLogger newLogger = new CustomLogger(logger);
-        super.addLogger(newLogger);
-        return true;
+        return super.addLogger(newLogger);
     }
 
     public class CustomLogger extends Logger {
+        final Logger keepRef; // keep a strong reference to avoid GC.
         CustomLogger(Logger logger) {
             super(logger.getName(), logger.getResourceBundleName());
-        }
-        CustomLogger(String name) {
-            super(name, null);
+            keepRef = logger;
         }
     }
 }
diff --git a/jdk/test/java/util/logging/TestGetLoggerNPE.java b/jdk/test/java/util/logging/TestGetLoggerNPE.java
new file mode 100644
index 0000000..55ed6e0
--- /dev/null
+++ b/jdk/test/java/util/logging/TestGetLoggerNPE.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2013, 2014, 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 java.io.PrintStream;
+import java.security.Permission;
+import java.security.Policy;
+import java.security.ProtectionDomain;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
+import sun.misc.JavaAWTAccess;
+import sun.misc.SharedSecrets;
+
+/*
+ * @test
+ * @bug 8025512
+ *
+ * @summary NPE with logging while launching webstart
+ *
+ * @build TestGetLoggerNPE
+ * @run main/othervm TestGetLoggerNPE getLogger
+ * @run main/othervm TestGetLoggerNPE getLogManager
+ */
+public class TestGetLoggerNPE {
+    static volatile Throwable thrown = null;
+    public static void main(String[] args) throws Exception {
+        final String testCase = args.length == 0 ? "getLogger" : args[0];
+        final JavaAWTAccessStub access = new JavaAWTAccessStub();
+        SharedSecrets.setJavaAWTAccess(access);
+        final ThreadGroup tg = new ThreadGroup("TestGroup");
+        Thread t = new Thread(tg, "test") {
+            public void run() {
+                try {
+                    access.setContext(Context.ONE);
+                    final PrintStream out = System.out;
+                    System.setOut(null);
+                    try {
+                        if ("getLogger".equals(testCase)) {
+                           Logger.getLogger("sun.plugin");
+                        } else {
+                           LogManager.getLogManager();
+                        }
+                    } finally {
+                        System.setOut(out);
+                    }
+
+                    System.out.println(Logger.global);
+                } catch (Throwable x) {
+                    x.printStackTrace();
+                    thrown = x;
+                }
+            }
+        };
+        Policy.setPolicy(new Policy() {
+             public boolean implies(ProtectionDomain domain,
+                                    Permission permission) {
+                 return true; // all permissions
+             }
+        });
+        System.setSecurityManager(new SecurityManager());
+        t.start();
+        t.join();
+        if (thrown == null) {
+            System.out.println("PASSED: " + testCase);
+        } else {
+            System.err.println("FAILED: " + testCase);
+            throw new Error("Test failed: " + testCase + " - " + thrown, thrown);
+        }
+
+    }
+
+    static enum Context { ONE, TWO };
+
+    static final class JavaAWTAccessStub implements JavaAWTAccess {
+        private static final InheritableThreadLocal<Context> context = new InheritableThreadLocal<>();
+
+
+        public void setContext(Context context) {
+            JavaAWTAccessStub.context.set(context);
+        }
+
+        @Override
+        public Object getAppletContext() {
+            return context.get();
+        }
+
+     }
+
+}
diff --git a/jdk/test/java/util/logging/TestLogConfigurationDeadLock.java b/jdk/test/java/util/logging/TestLogConfigurationDeadLock.java
index 3d1e3d2..70badde1 100644
--- a/jdk/test/java/util/logging/TestLogConfigurationDeadLock.java
+++ b/jdk/test/java/util/logging/TestLogConfigurationDeadLock.java
@@ -196,7 +196,8 @@
                     if (ids.length == 1) {
                         throw new RuntimeException("Found 1 deadlocked thread: "+ids[0]);
                     } else if (ids.length > 0) {
-                        ThreadInfo[] infos = ManagementFactory.getThreadMXBean().getThreadInfo(ids);
+                        ThreadInfo[] infos = ManagementFactory.getThreadMXBean()
+                            .getThreadInfo(ids, Integer.MAX_VALUE);
                         System.err.println("Found "+ids.length+" deadlocked threads: ");
                         for (ThreadInfo inf : infos) {
                             System.err.println(inf.toString());
diff --git a/jdk/test/java/util/logging/TestLogConfigurationDeadLockWithConf.java b/jdk/test/java/util/logging/TestLogConfigurationDeadLockWithConf.java
new file mode 100644
index 0000000..9bde8d5
--- /dev/null
+++ b/jdk/test/java/util/logging/TestLogConfigurationDeadLockWithConf.java
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2014, 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 java.io.File;
+import java.io.PrintStream;
+import java.lang.management.ManagementFactory;
+import java.lang.management.ThreadInfo;
+import java.security.Permission;
+import java.security.Policy;
+import java.security.ProtectionDomain;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Random;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.logging.Level;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
+
+
+/**
+ * @test
+ * @bug 8027670 8029281
+ * @summary Deadlock in drainLoggerRefQueueBounded / readConfiguration
+ *          caused by synchronization issues in Logger and LogManager.
+ * @run main/othervm TestLogConfigurationDeadLockWithConf
+ * @author danielfuchs
+ */
+// This test is a best effort to try & detect issues. The test itself will run
+// for 8secs. This is usually sufficient to detect issues.
+// However to get a greater confidence it is recommended to run this test in a loop:
+// e.g. use something like:
+// $ while jtreg -jdk:$JDK -verbose:all  \
+//      test/java/util/logging/TestLogConfigurationDeadLockWithConf.java ; \
+//      do echo Running test again ; done
+// and let it run for a few hours...
+//
+public class TestLogConfigurationDeadLockWithConf {
+
+    static volatile Exception thrown = null;
+    static volatile boolean goOn = true;
+
+    static final int READERS = 2;
+    static final int LOGGERS = 2;
+    static final long TIME = 4 * 1000; // 4 sec.
+    static final long STEP = 1 * 1000;  // message every 1 sec.
+    static final int  LCOUNT = 50; // 50 loggers created in a row...
+    static final AtomicLong nextLogger = new AtomicLong(0);
+    static final AtomicLong readCount = new AtomicLong(0);
+    static final AtomicLong checkCount = new AtomicLong(0);
+
+    /**
+     * This test will run both with and without a security manager.
+     *
+     * The test starts a number of threads that will call
+     *     LogManager.readConfiguration() concurrently (ReadConf), then starts
+     *     a number of threads that will create new loggers concurrently
+     *     (AddLogger), and then two additional threads: one (Stopper) that
+     *     will stop the test after 4secs (TIME ms), and one DeadlockDetector
+     *     that will attempt to detect deadlocks.
+     * If after 4secs no deadlock was detected and no exception was thrown
+     * then the test is considered a success and passes.
+     *
+     * This procedure is done twice: once without a security manager and once
+     * again with a security manager - which means the test takes ~8secs to
+     * run.
+     *
+     * Note that 8sec may not be enough to detect issues if there are some.
+     * This is a best effort test.
+     *
+     * @param args the command line arguments
+     * @throws java.lang.Exception if the test fails.
+     */
+    public static void main(String[] args) throws Exception {
+        File config =  new File(System.getProperty("test.src", "."),
+                        "deadlockconf.properties");
+        if (!config.canRead()) {
+            System.err.println("Can't read config file: test cannot execute.");
+            System.err.println("Please check your test environment: ");
+            System.err.println("\t -Dtest.src=" + System.getProperty("test.src", "."));
+            System.err.println("\t config file is: " + config.getAbsolutePath());
+            throw new RuntimeException("Can't read config file: "
+                + config.getAbsolutePath());
+        }
+
+        System.setProperty("java.util.logging.config.file",
+               config.getAbsolutePath());
+
+        // test without security
+        System.out.println("No security");
+        test();
+
+        // test with security
+        System.out.println("\nWith security");
+        Policy.setPolicy(new Policy() {
+            @Override
+            public boolean implies(ProtectionDomain domain, Permission permission) {
+                if (super.implies(domain, permission)) return true;
+                // System.out.println("Granting " + permission);
+                return true; // all permissions
+            }
+        });
+        System.setSecurityManager(new SecurityManager());
+        test();
+    }
+
+    static Random rand = new Random(System.currentTimeMillis());
+    private static int getBarCount() {
+        return rand.nextInt(10);
+    }
+
+    /**
+     * Starts all threads, wait 4secs, then stops all threads.
+     * @throws Exception if a deadlock was detected or an error occurred.
+     */
+    public static void test() throws Exception {
+          goOn = true;
+          thrown = null;
+          long sNextLogger = nextLogger.get();
+          long sReadCount  = readCount.get();
+          long sCheckCount = checkCount.get();
+          List<Thread> threads = new ArrayList<>();
+          for (int i = 0; i<READERS; i++) {
+              threads.add(new ReadConf());
+          }
+          for (int i = 0; i<LOGGERS; i++) {
+              threads.add(new AddLogger());
+          }
+          DeadlockDetector detector = new DeadlockDetector();
+          threads.add(detector);
+          threads.add(0, new Stopper(TIME));
+          for (Thread t : threads) {
+              t.start();
+          }
+
+          // wait for the detector to finish.
+          detector.join();
+
+          final PrintStream out = thrown == null ? System.out : System.err;
+
+          // Try to wait for all threads to finish.
+          // This is a best effort: if some threads are in deadlock we can't
+          //    obviously wait for them, and other threads may have joined in
+          //    the deadlock since we last checked.
+          //    However, all threads which are succeptible of deadlocking
+          //    extend DeamonThread.
+          for (Thread t : threads) {
+              if (t == detector) {
+                  continue;
+              }
+              if (detector.deadlocked.contains(t.getId())) {
+                  out.println("Skipping deadlocked thread "
+                          + t.getClass().getSimpleName() + ": " + t);
+                  continue; // don't wait for deadlocked thread: they won't terminate
+              }
+              try {
+                  if (detector.deadlocked.isEmpty()) {
+                      t.join();
+                  } else {
+                      if (t instanceof DaemonThread) {
+                          // Some other threads may have join the deadlock.
+                          // don't wait forever.
+                          t.join(100);
+                      } else {
+                          // Those threads that don't extend DaemonThread
+                          // should be safe from deadlock.
+                          out.println("Waiting for "
+                                  + t.getClass().getSimpleName() + ": " + t);
+                          t.join();
+                      }
+                  }
+              } catch (Exception x) {
+                  fail(x);
+              }
+          }
+          out.println("All threads joined.");
+
+          final String status = thrown == null ? "Passed" : "FAILED";
+
+          out.println(status + ": " + (nextLogger.get() - sNextLogger)
+                  + " loggers created by " + LOGGERS + " Thread(s),");
+          out.println("\t LogManager.readConfiguration() called "
+                  + (readCount.get() - sReadCount) + " times by " + READERS
+                  + " Thread(s).");
+          out.println("\t ThreadMXBean.findDeadlockedThreads called "
+                  + (checkCount.get() -sCheckCount) + " times by 1 Thread.");
+
+          if (thrown != null) {
+              out.println("\t Error is: "+thrown.getMessage());
+              throw thrown;
+          }
+    }
+
+    static class DaemonThread extends Thread {
+        public DaemonThread() {
+            this.setDaemon(true);
+        }
+    }
+
+    final static class ReadConf extends DaemonThread {
+        @Override
+        public void run() {
+            while (goOn) {
+                try {
+                    LogManager.getLogManager().readConfiguration();
+                    readCount.incrementAndGet();
+                    Thread.sleep(1);
+                } catch (Exception x) {
+                    fail(x);
+                }
+            }
+        }
+    }
+
+    final static class AddLogger extends DaemonThread {
+        @Override
+        public void run() {
+            try {
+                while (goOn) {
+                    Logger l;
+                    int barcount = getBarCount();
+                    for (int i=0; i < LCOUNT ; i++) {
+                        l = Logger.getLogger("foo.bar"+barcount+".l"+nextLogger.incrementAndGet());
+                        l.fine("I'm fine");
+                        if (!goOn) break;
+                        Thread.sleep(1);
+                    }
+                }
+            } catch (InterruptedException | RuntimeException x ) {
+                fail(x);
+            }
+        }
+    }
+
+    final static class DeadlockDetector extends Thread {
+
+        final Set<Long> deadlocked = Collections.synchronizedSet(new HashSet<Long>());
+
+        static List<Long> asList(long... ids) {
+            final List<Long> list = new ArrayList<>(ids.length);
+            for (long id : ids) {
+                list.add(id);
+            }
+            return list;
+        }
+
+        @Override
+        public void run() {
+            while(goOn) {
+                try {
+                    long[] ids = ManagementFactory.getThreadMXBean().findDeadlockedThreads();
+                    checkCount.incrementAndGet();
+                    ids = ids == null ? new long[0] : ids;
+                    if (ids.length > 0) {
+                        deadlocked.addAll(asList(ids));
+                    }
+                    if (ids.length == 1) {
+                        throw new RuntimeException("Found 1 deadlocked thread: "+ids[0]);
+                    } else if (ids.length > 0) {
+                        ThreadInfo[] infos = ManagementFactory.getThreadMXBean().getThreadInfo(ids, Integer.MAX_VALUE);
+                        System.err.println("Found "+ids.length+" deadlocked threads: ");
+                        for (ThreadInfo inf : infos) {
+                            System.err.println(inf.toString());
+                        }
+                        throw new RuntimeException("Found "+ids.length+" deadlocked threads");
+                    }
+                    Thread.sleep(100);
+                } catch(InterruptedException | RuntimeException x) {
+                    fail(x);
+                }
+            }
+        }
+
+    }
+
+    static final class Stopper extends Thread {
+        long start;
+        long time;
+
+        static final Logger logger = Logger.getLogger("remaining");
+
+        Stopper(long time) {
+            start = System.currentTimeMillis();
+            this.time = time;
+        }
+
+        @Override
+        public void run() {
+            try {
+                long rest, previous;
+                previous = time;
+                while (goOn && (rest = start - System.currentTimeMillis() + time) > 0) {
+                    if (previous == time || previous - rest >= STEP) {
+                        logger.log(Level.INFO,
+                                "{0}ms remaining...", String.valueOf(rest));
+                        previous = rest == time ? rest -1 : rest;
+                        System.gc();
+                    }
+                    if (goOn == false) break;
+                    Thread.sleep(Math.min(rest, 100));
+                }
+                System.out.println(System.currentTimeMillis() - start
+                        + " ms elapsed ("+time+ " requested)");
+                goOn = false;
+            } catch(InterruptedException | RuntimeException x) {
+                fail(x);
+            }
+        }
+
+    }
+
+    static void fail(Exception x) {
+        x.printStackTrace();
+        if (thrown == null) {
+            thrown = x;
+        }
+        goOn = false;
+    }
+}
diff --git a/jdk/test/java/util/logging/TestLoggerBundleSync.java b/jdk/test/java/util/logging/TestLoggerBundleSync.java
index bbac23c..48933c9 100644
--- a/jdk/test/java/util/logging/TestLoggerBundleSync.java
+++ b/jdk/test/java/util/logging/TestLoggerBundleSync.java
@@ -190,8 +190,10 @@
         final static class MyHandler extends Handler {
             volatile ResourceBundle rb;
             volatile String rbName;
+            volatile int count = 0;
             @Override
             public synchronized void publish(LogRecord record) {
+                count++;
                 rb = record.getResourceBundle();
                 rbName = record.getResourceBundleName();
             }
@@ -227,23 +229,51 @@
                         Logger ll = Logger.getLogger(l.getName()+".bie.bye");
                         ResourceBundle hrb;
                         String hrbName;
+                        if (handler.getLevel() != Level.FINEST) {
+                            throw new RuntimeException("Handler level is not finest: "
+                                    + handler.getLevel());
+                        }
+                        final int countBefore = handler.count;
                         ll.setLevel(Level.FINEST);
                         ll.addHandler(handler);
                         ll.fine("dummy");
                         ll.removeHandler(handler);
+                        final int countAfter = handler.count;
+                        if (countBefore == countAfter) {
+                            throw new RuntimeException("Handler not called for "
+                                    + ll.getName() + "("+ countAfter +")");
+                        }
                         hrb = handler.rb;
                         hrbName = handler.rbName;
                         if (name != null) {
+                            // if name is not null, then it implies that it
+                            // won't change, since setResourceBundle() cannot
+                            // replace a non null name.
+                            // Since we never set the resource bundle on 'll',
+                            // then ll must inherit its resource bundle [name]
+                            // from l - and therefor we should find it in
+                            // handler.rb/handler.rbName
                             if (!name.equals(hrbName)) {
                                 throw new RuntimeException("Unexpected bundle name: "
-                                        +hrb.getBaseBundleName());
+                                        +hrbName);
                             }
+                            // here we know that hrbName is not null so hrb
+                            // should not be null either.
                             if (!name.equals(hrb.getBaseBundleName())) {
                                 throw new RuntimeException("Unexpected bundle name: "
                                         +hrb.getBaseBundleName());
                             }
                         }
 
+                        // Make sure to refer to 'l' explicitly in order to
+                        // prevent eager garbage collecting before the end of
+                        // the test (JDK-8030192)
+                        if (!ll.getName().startsWith(l.getName())) {
+                            throw new RuntimeException("Logger " + ll.getName()
+                                    + "does not start with expected prefix "
+                                    + l.getName());
+                        }
+
                         getRBcount.incrementAndGet();
                         if (!goOn) break;
                         Thread.sleep(1);
diff --git a/jdk/test/java/util/logging/deadlockconf.properties b/jdk/test/java/util/logging/deadlockconf.properties
new file mode 100644
index 0000000..e81742fa
--- /dev/null
+++ b/jdk/test/java/util/logging/deadlockconf.properties
@@ -0,0 +1,22 @@
+# This file is used by TestLogConfigurationDeadLockWithConf
+handlers= java.util.logging.ConsoleHandler
+.level= INFO
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+foo.bar0.level = INFO
+foo.bar1.level = INFO
+foo.bar2.level = INFO
+foo.bar3.level = INFO
+foo.bar4.level = INFO
+
+# We leave foo.bar5 out so that we have at least
+# one logger whose parent won't be in the configuration
+# file
+#foo.bar5.level = INFO
+
+foo.bar6.level = INFO
+foo.bar7.level = INFO
+foo.bar8.level = INFO
+foo.bar9.level = INFO
diff --git a/jdk/test/java/util/zip/ZipFile/ReadZip.java b/jdk/test/java/util/zip/ZipFile/ReadZip.java
index b0e7571..44f1d9e 100644
--- a/jdk/test/java/util/zip/ZipFile/ReadZip.java
+++ b/jdk/test/java/util/zip/ZipFile/ReadZip.java
@@ -63,6 +63,8 @@
         Files.copy(Paths.get(System.getProperty("test.src", ""), "input.zip"),
                    newZip.toPath(), StandardCopyOption.REPLACE_EXISTING);
 
+        newZip.setWritable(true);
+
         // pad some bytes
         try (OutputStream os = Files.newOutputStream(newZip.toPath(),
                                                      StandardOpenOption.APPEND)) {
diff --git a/jdk/test/javax/management/monitor/StartStopTest.java b/jdk/test/javax/management/monitor/StartStopTest.java
index 98eca29..80694c6 100644
--- a/jdk/test/javax/management/monitor/StartStopTest.java
+++ b/jdk/test/javax/management/monitor/StartStopTest.java
@@ -27,6 +27,8 @@
  * @summary Test that tasks are cancelled properly when
  *          monitors are started and stopped in a loop.
  * @author Luis-Miguel Alventosa
+ * @library /lib/testlibrary
+ * @run build jdk.testlibrary.Utils
  * @run clean StartStopTest
  * @run build StartStopTest
  * @run main/othervm/timeout=300 StartStopTest 1
@@ -52,14 +54,15 @@
 import javax.management.monitor.MonitorNotification;
 import javax.management.monitor.StringMonitor;
 
-public class StartStopTest {
+import jdk.testlibrary.Utils;
 
+public class StartStopTest {
     static int maxPoolSize;
     static final AtomicInteger counter = new AtomicInteger();
 
     // MBean class
     public class ObservedObject implements ObservedObjectMBean {
-        public boolean called = false;
+        volatile public boolean called = false;
         public Integer getInteger() {
             task("Integer");
             return 0;
@@ -142,7 +145,7 @@
                 for (int i = 0; i < nTasks; i++)
                     monitor[i].start();
                 echo(">>> MONITORS started");
-                Thread.sleep(500);
+                doSleep(500);
                 echo(">>> Check FLAGS true");
                 for (int i = 0; i < nTasks; i++)
                     if (!monitored[i].called) {
@@ -154,7 +157,7 @@
                 for (int i = 0; i < nTasks; i++)
                     monitor[i].stop();
                 echo(">>> MONITORS stopped");
-                Thread.sleep(500);
+                doSleep(500);
                 echo(">>> Set FLAGS to false");
                 for (int i = 0; i < nTasks; i++)
                     monitored[i].called = false;
@@ -208,4 +211,8 @@
             echo(">>> Happy Bye, Bye!");
         }
     }
+
+    private static void doSleep(long ms) throws Exception {
+        Thread.sleep(Math.round(ms * Utils.TIMEOUT_FACTOR));
+    }
 }
diff --git a/jdk/test/javax/print/PrintServiceLookup/CountPrintServices.java b/jdk/test/javax/print/PrintServiceLookup/CountPrintServices.java
new file mode 100644
index 0000000..fc1dc8d
--- /dev/null
+++ b/jdk/test/javax/print/PrintServiceLookup/CountPrintServices.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2014, 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 java.io.BufferedReader;
+import java.io.InputStreamReader;
+import javax.print.PrintService;
+import javax.print.PrintServiceLookup;
+import javax.print.attribute.AttributeSet;
+import javax.print.attribute.HashAttributeSet;
+import javax.print.attribute.standard.PrinterName;
+
+/*
+ * @test
+ * @bug 8032693
+ * @summary Test that lpstat and JDK agree whether there are printers.
+ */
+public class CountPrintServices {
+
+  public static void main(String[] args) throws Exception {
+    String os = System.getProperty("os.name").toLowerCase();
+    System.out.println("OS is " + os);
+    if (!os.equals("linux")) {
+        System.out.println("Linux specific test. No need to continue");
+        return;
+    }
+    PrintService services[] =
+        PrintServiceLookup.lookupPrintServices(null, null);
+    if (services.length > 0) {
+       System.out.println("Services found. No need to test further.");
+       return;
+    }
+    String[] lpcmd = { "lpstat", "-a" };
+    Process proc = Runtime.getRuntime().exec(lpcmd);
+    proc.waitFor();
+    InputStreamReader ir = new InputStreamReader(proc.getInputStream());
+    BufferedReader br = new BufferedReader(ir);
+    int count = 0;
+    String printer;
+    while ((printer = br.readLine()) != null) {
+       System.out.println("lpstat:: " + printer);
+       count++;
+    }
+    if (count > 0) {
+        throw new RuntimeException("Services exist, but not found by JDK.");
+    }
+ }
+}
+
diff --git a/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.html b/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.html
new file mode 100644
index 0000000..b61bbf8
--- /dev/null
+++ b/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.html
@@ -0,0 +1,40 @@
+<!--
+ Copyright (c) 2014, 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.
+-->
+
+<html>
+<body>
+
+Verify that high resolution system icons are used JCheckBoxMenuItem 
+on HiDPI displays.
+
+If the display does not support HiDPI mode press PASS.
+
+1. Run the test on HiDPI Display.
+2. Press the Menu in the applet
+3. Check that the icon on the JCheckBoxMenuItem is smooth
+If so, press PASS, else press FAIL.
+
+<applet  code="bug8031573.class" width=250 height=250></applet>
+
+</body>
+</html>
diff --git a/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.java b/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.java
new file mode 100644
index 0000000..5cb1dc5
--- /dev/null
+++ b/jdk/test/javax/swing/JMenuItem/8031573/bug8031573.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2014, 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 java.awt.FlowLayout;
+import javax.swing.JApplet;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.SwingUtilities;
+
+/* @test
+ * @bug 8031573
+ * @summary [macosx] Checkmarks of JCheckBoxMenuItems aren't rendered
+ *           in high resolution on Retina
+ * @author Alexander Scherbatiy
+ * @run applet/manual=yesno bug8031573.html
+ */
+public class bug8031573 extends JApplet {
+
+    @Override
+    public void init() {
+        try {
+            SwingUtilities.invokeAndWait(new Runnable() {
+
+                @Override
+                public void run() {
+                    JMenuBar bar = new JMenuBar();
+                    JMenu menu = new JMenu("Menu");
+                    JCheckBoxMenuItem checkBoxMenuItem
+                            = new JCheckBoxMenuItem("JCheckBoxMenuItem");
+                    checkBoxMenuItem.setSelected(true);
+                    menu.add(checkBoxMenuItem);
+                    bar.add(menu);
+                    setJMenuBar(bar);
+                }
+            });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
diff --git a/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.html b/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.html
new file mode 100644
index 0000000..e63e0ea
--- /dev/null
+++ b/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.html
@@ -0,0 +1,32 @@
+<!--
+ Copyright (c) 2013, 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.
+-->
+
+<html>
+    <head>
+        <title>High resolution icon test, bug ID 8024926</title>
+    </head>
+    <body>
+    <applet CODE="bug8024926.class" WIDTH=300 HEIGHT=100></applet>
+    <p> See the dialog box (usually in upper left corner) for instructions</p>
+</body>
+</html>
diff --git a/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.java b/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.java
new file mode 100644
index 0000000..42f976b
--- /dev/null
+++ b/jdk/test/javax/swing/JOptionPane/8024926/bug8024926.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2013, 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 java.awt.BorderLayout;
+import java.awt.Dialog;
+import java.awt.EventQueue;
+import java.awt.Frame;
+import java.awt.TextArea;
+import javax.swing.JApplet;
+import javax.swing.JOptionPane;
+import sun.awt.OSInfo;
+
+/**
+ * @test
+ * @bug 8024926
+ * @summary [macosx] AquaIcon HiDPI support
+ * @author Alexander Scherbatiy
+ * @run applet/manual=yesno bug8024926.html
+ */
+public class bug8024926 extends JApplet {
+    //Declare things used in the test, like buttons and labels here
+
+    public void init() {
+        //Create instructions for the user here, as well as set up
+        // the environment -- set the layout manager, add buttons,
+        // etc.
+        this.setLayout(new BorderLayout());
+
+
+        if (OSInfo.getOSType().equals(OSInfo.OSType.MACOSX)) {
+            String[] instructions = {
+                "Verify that high resolution system icons are used"
+                + " in JOptionPane on HiDPI displays.",
+                "1) Run the test on Retina display or enable the Quartz Debug"
+                + " and select the screen resolution with (HiDPI) label",
+                "2) Check that the error icon on the JOptionPane is smooth",
+                "If so, press PASS, else press FAIL."
+            };
+            Sysout.createDialogWithInstructions(instructions);
+
+        } else {
+            String[] instructions = {
+                "This test is not applicable to the current platform. Press PASS."
+            };
+            Sysout.createDialogWithInstructions(instructions);
+        }
+
+
+    }//End  init()
+
+    public void start() {
+        //Get things going.  Request focus, set size, et cetera
+        setSize(200, 200);
+        setVisible(true);
+        validate();
+        EventQueue.invokeLater(new Runnable() {
+
+            public void run() {
+                createAndShowGUI();
+            }
+        });
+    }// start()
+
+    //The rest of this class is the actions which perform the test...
+    //Use Sysout.println to communicate with the user NOT System.out!!
+    //Sysout.println ("Something Happened!");
+    private static void createAndShowGUI() {
+        JOptionPane.showMessageDialog(null,
+                "Icons should have high resolution.",
+                "High resolution icon test.",
+                JOptionPane.ERROR_MESSAGE);
+    }
+}// class BlockedWindowTest
+
+/* Place other classes related to the test after this line */
+/**
+ * **************************************************
+ * Standard Test Machinery DO NOT modify anything below -- it's a standard chunk
+ * of code whose purpose is to make user interaction uniform, and thereby make
+ * it simpler to read and understand someone else's test.
+ * **************************************************
+ */
+/**
+ * This is part of the standard test machinery. It creates a dialog (with the
+ * instructions), and is the interface for sending text messages to the user. To
+ * print the instructions, send an array of strings to Sysout.createDialog
+ * WithInstructions method. Put one line of instructions per array entry. To
+ * display a message for the tester to see, simply call Sysout.println with the
+ * string to be displayed. This mimics System.out.println but works within the
+ * test harness as well as standalone.
+ */
+class Sysout {
+
+    private static TestDialog dialog;
+
+    public static void createDialogWithInstructions(String[] instructions) {
+        dialog = new TestDialog(new Frame(), "Instructions");
+        dialog.printInstructions(instructions);
+        dialog.setVisible(true);
+        println("Any messages for the tester will display here.");
+    }
+
+    public static void createDialog() {
+        dialog = new TestDialog(new Frame(), "Instructions");
+        String[] defInstr = {"Instructions will appear here. ", ""};
+        dialog.printInstructions(defInstr);
+        dialog.setVisible(true);
+        println("Any messages for the tester will display here.");
+    }
+
+    public static void printInstructions(String[] instructions) {
+        dialog.printInstructions(instructions);
+    }
+
+    public static void println(String messageIn) {
+        dialog.displayMessage(messageIn);
+    }
+}// Sysout  class
+
+/**
+ * This is part of the standard test machinery. It provides a place for the test
+ * instructions to be displayed, and a place for interactive messages to the
+ * user to be displayed. To have the test instructions displayed, see Sysout. To
+ * have a message to the user be displayed, see Sysout. Do not call anything in
+ * this dialog directly.
+ */
+class TestDialog extends Dialog {
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog(Frame frame, String name) {
+        super(frame, name);
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
+        add("North", instructionsText);
+
+        messageText = new TextArea("", 5, maxStringLength, scrollBoth);
+        add("Center", messageText);
+
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions(String[] instructions) {
+        //Clear out any current instructions
+        instructionsText.setText("");
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for (int i = 0; i < instructions.length; i++) {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i];
+            while (remainingStr.length() > 0) {
+                //if longer than max then chop off first max chars to print
+                if (remainingStr.length() >= maxStringLength) {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.lastIndexOf(' ', maxStringLength - 1);
+
+                    if (posOfSpace <= 0) {
+                        posOfSpace = maxStringLength - 1;
+                    }
+
+                    printStr = remainingStr.substring(0, posOfSpace + 1);
+                    remainingStr = remainingStr.substring(posOfSpace + 1);
+                } //else just print
+                else {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append(printStr + "\n");
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage(String messageIn) {
+        messageText.append(messageIn + "\n");
+        System.out.println(messageIn);
+    }
+}// TestDialog  class
diff --git a/jdk/test/javax/swing/text/html/parser/Parser/8028616/bug8028616.java b/jdk/test/javax/swing/text/html/parser/Parser/8028616/bug8028616.java
new file mode 100644
index 0000000..9b713d3
--- /dev/null
+++ b/jdk/test/javax/swing/text/html/parser/Parser/8028616/bug8028616.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2014, 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 8028616
+ * @summary Tests correct parsing of the text with leading slash (/)
+ * @author Dmitry Markov
+ */
+
+import javax.swing.text.html.HTMLDocument;
+import javax.swing.text.html.HTMLEditorKit;
+import java.io.StringReader;
+
+public class bug8028616 {
+    private static final String text = "/ at start is bad";
+    private static Object lock = new Object();
+    private static boolean isCallbackInvoked = false;
+    private static Exception exception = null;
+
+    public static void main(String[] args) throws Exception {
+        ParserCB cb = new ParserCB();
+        HTMLEditorKit htmlKit = new HTMLEditorKit();
+        HTMLDocument htmlDoc = (HTMLDocument) htmlKit.createDefaultDocument();
+
+        htmlDoc.getParser().parse(new StringReader(text), cb, true);
+
+        synchronized (lock) {
+            if (!isCallbackInvoked) {
+                lock.wait(5000);
+            }
+        }
+
+        if (!isCallbackInvoked) {
+            throw new RuntimeException("Test Failed: ParserCallback.handleText() is not invoked for text - " + text);
+        }
+
+        if (exception != null) {
+            throw exception;
+        }
+    }
+
+    private static class ParserCB extends HTMLEditorKit.ParserCallback {
+        @Override
+        public void handleText(char[] data, int pos) {
+            synchronized (lock) {
+                if (!text.equals(new String(data)) || pos != 0) {
+                    exception = new RuntimeException(
+                        "Test Failed: the data passed to ParserCallback.handleText() does not meet the expectation");
+                }
+                isCallbackInvoked = true;
+                lock.notifyAll();
+            }
+        }
+    }
+}
+
diff --git a/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java b/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
index 4b6ea70..11333fa 100644
--- a/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
+++ b/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
@@ -1,7 +1,26 @@
 /*
  * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ * 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 java.security.Policy;
 
 /**
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestCallerSensitive.java b/jdk/test/jdk/lambda/MethodReferenceTestCallerSensitive.java
index 805a6a2..86c22a1 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestCallerSensitive.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestCallerSensitive.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -28,6 +28,8 @@
 
 
 /**
+ * @test
+ * @bug 8020816
  * @author Robert Field
  */
 
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java b/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
index a454ce5..c949e0f 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
@@ -32,6 +32,7 @@
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.concurrent.CountDownLatch;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -39,6 +40,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Predicate;
+import java.util.function.Consumer;
 
 import sun.management.VMManagement;
 
@@ -70,9 +72,37 @@
     public static Process startProcess(String name,
                                        ProcessBuilder processBuilder)
     throws IOException {
+        return startProcess(name, processBuilder, null);
+    }
+
+    /**
+     * <p>Starts a process from its builder.</p>
+     * <span>The default redirects of STDOUT and STDERR are started</span>
+     * <p>It is possible to monitor the in-streams via the provided {@code consumer}
+     * @param name The process name
+     * @param consumer {@linkplain Consumer} instance to process the in-streams
+     * @param processBuilder The process builder
+     * @return Returns the initialized process
+     * @throws IOException
+     */
+    public static Process startProcess(String name,
+                                       ProcessBuilder processBuilder,
+                                       Consumer<String> consumer)
+    throws IOException {
         Process p = null;
         try {
-            p = startProcess(name, processBuilder, null, -1, TimeUnit.NANOSECONDS);
+            p = startProcess(
+                name,
+                processBuilder,
+                line -> {
+                    if (consumer != null) {
+                        consumer.accept(line);
+                    }
+                    return false;
+                },
+                -1,
+                TimeUnit.NANOSECONDS
+            );
         } catch (InterruptedException | TimeoutException e) {
             // can't ever happen
         }
@@ -111,25 +141,28 @@
 
         stdout.addPump(new LineForwarder(name, System.out));
         stderr.addPump(new LineForwarder(name, System.err));
-        final Phaser phs = new Phaser(1);
+        CountDownLatch latch = new CountDownLatch(1);
         if (linePredicate != null) {
-            stdout.addPump(new StreamPumper.LinePump() {
+            StreamPumper.LinePump pump = new StreamPumper.LinePump() {
                 @Override
                 protected void processLine(String line) {
-                    if (linePredicate.test(line)) {
-                        if (phs.getRegisteredParties() > 0) {
-                            phs.arriveAndDeregister();
-                        }
+                    if (latch.getCount() > 0 && linePredicate.test(line)) {
+                        latch.countDown();
                     }
                 }
-            });
+            };
+            stdout.addPump(pump);
+            stderr.addPump(pump);
         }
         Future<Void> stdoutTask = stdout.process();
         Future<Void> stderrTask = stderr.process();
 
         try {
             if (timeout > -1) {
-                phs.awaitAdvanceInterruptibly(0, timeout, unit);
+                long realTimeout = Math.round(timeout * Utils.TIMEOUT_FACTOR);
+                if (!latch.await(realTimeout, unit)) {
+                    throw new TimeoutException();
+                }
             }
         } catch (TimeoutException | InterruptedException e) {
             System.err.println("Failed to start a process (thread dump follows)");
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java b/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java
index d557a7e..2388d1d 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java
@@ -57,6 +57,16 @@
     public static final String JAVA_OPTIONS = System.getProperty("test.java.opts", "").trim();
 
 
+    /**
+    * Returns the value of 'test.timeout.factor' system property
+    * converted to {@code double}.
+    */
+    public static final double TIMEOUT_FACTOR;
+    static {
+        String toFactor = System.getProperty("test.timeout.factor", "1.0");
+       TIMEOUT_FACTOR = Double.parseDouble(toFactor);
+    }
+
     private Utils() {
         // Private constructor to prevent class instantiation
     }
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
index d1f9633..ca44815 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
@@ -22,11 +22,13 @@
  */
 
 import java.io.File;
+import java.io.IOException;
 import java.nio.file.FileSystem;
 import java.nio.file.FileSystems;
 import java.nio.file.Files;
 import java.nio.file.LinkOption;
 import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
 import java.nio.file.attribute.PosixFilePermission;
 import java.util.HashSet;
 import java.util.Set;
@@ -47,6 +49,7 @@
 public class CustomLauncherTest {
     private static final  String TEST_CLASSPATH = System.getProperty("test.class.path");
     private static final  String TEST_JDK = System.getProperty("test.jdk");
+    private static final  String WORK_DIR = System.getProperty("user.dir");
 
     private static final  String TEST_SRC = System.getProperty("test.src");
     private static final  String OSNAME = System.getProperty("os.name");
@@ -88,36 +91,14 @@
             return;
         }
 
-        String PLATFORM = "";
-        switch (OSNAME.toLowerCase()) {
-            case "linux": {
-                PLATFORM = "linux";
-                break;
-            }
-            case "sunos": {
-                PLATFORM = "solaris";
-                break;
-            }
-            default: {
-                System.out.println("Test not designed to run on this operating " +
-                                   "system (" + OSNAME + "), skipping...");
-                return;
-            }
-        }
-
-        String LAUNCHER = TEST_SRC + File.separator + PLATFORM + "-" + ARCH +
-                          File.separator + "launcher";
-
-        final FileSystem FS = FileSystems.getDefault();
-        Path launcherPath = FS.getPath(LAUNCHER);
-
-        final boolean hasLauncher = Files.isRegularFile(launcherPath, LinkOption.NOFOLLOW_LINKS)&&
-                                    Files.isReadable(launcherPath);
-        if (!hasLauncher) {
-            System.out.println("Launcher [" + LAUNCHER + "] does not exist. Skipping the test.");
+        if (getPlatform() == null) {
+            System.out.println("Test not designed to run on this operating " +
+                                "system (" + OSNAME + "), skipping...");
             return;
         }
 
+        final FileSystem FS = FileSystems.getDefault();
+
         Path libjvmPath = findLibjvm(FS);
         if (libjvmPath == null) {
             throw new Error("Unable to locate 'libjvm.so' in " + TEST_JDK);
@@ -125,23 +106,20 @@
 
         Process serverPrc = null, clientPrc = null;
 
-        final Set<PosixFilePermission> launcherOrigPerms =
-            Files.getPosixFilePermissions(launcherPath, LinkOption.NOFOLLOW_LINKS);
         try {
-            // It is impossible to store an executable file in the source control
-            // We need to set the executable flag here
-            if (!Files.isExecutable(launcherPath)) {
-                Set<PosixFilePermission> perms = new HashSet<>(launcherOrigPerms);
-                perms.add(PosixFilePermission.OWNER_EXECUTE);
-                Files.setPosixFilePermissions(launcherPath, perms);
-            }
+            String[] launcher = getLauncher();
 
             System.out.println("Starting custom launcher:");
             System.out.println("=========================");
-            System.out.println("  launcher  : " + LAUNCHER);
+            System.out.println("  launcher  : " + launcher[0]);
             System.out.println("  libjvm    : " + libjvmPath.toString());
             System.out.println("  classpath : " + TEST_CLASSPATH);
-            ProcessBuilder server = new ProcessBuilder(LAUNCHER, libjvmPath.toString(), TEST_CLASSPATH, "TestApplication");
+            ProcessBuilder server = new ProcessBuilder(
+                launcher[1],
+                libjvmPath.toString(),
+                TEST_CLASSPATH,
+                "TestApplication"
+            );
 
             final AtomicReference<String> port = new AtomicReference<>();
             final AtomicReference<String> pid = new AtomicReference<>();
@@ -198,8 +176,6 @@
                 throw new Error("Test failed");
             }
         } finally {
-            // Let's restore the original launcher permissions
-            Files.setPosixFilePermissions(launcherPath, launcherOrigPerms);
             if (clientPrc != null) {
                 clientPrc.destroy();
                 clientPrc.waitFor();
@@ -240,4 +216,62 @@
     private static boolean isFileOk(Path path) {
         return Files.isRegularFile(path) && Files.isReadable(path);
     }
+
+    private static String getPlatform() {
+        String platform = null;
+        switch (OSNAME.toLowerCase()) {
+            case "linux": {
+                platform = "linux";
+                break;
+            }
+            case "sunos": {
+                platform = "solaris";
+                break;
+            }
+            default: {
+                platform = null;
+            }
+        }
+
+        return platform;
+    }
+
+    private static String[] getLauncher() throws IOException {
+        String platform = getPlatform();
+        if (platform == null) {
+            return null;
+        }
+
+        String launcher = TEST_SRC + File.separator + platform + "-" + ARCH +
+                          File.separator + "launcher";
+
+        final FileSystem FS = FileSystems.getDefault();
+        Path launcherPath = FS.getPath(launcher);
+
+        final boolean hasLauncher = Files.isRegularFile(launcherPath, LinkOption.NOFOLLOW_LINKS)&&
+                                    Files.isReadable(launcherPath);
+        if (!hasLauncher) {
+            System.out.println("Launcher [" + launcher + "] does not exist. Skipping the test.");
+            return null;
+        }
+
+        // It is impossible to store an executable file in the source control
+        // We need to copy the launcher to the working directory
+        // and set the executable flag
+        Path localLauncherPath = FS.getPath(WORK_DIR, "launcher");
+        Files.copy(launcherPath, localLauncherPath,
+                   StandardCopyOption.REPLACE_EXISTING,
+                   StandardCopyOption.COPY_ATTRIBUTES);
+        if (!Files.isExecutable(localLauncherPath)) {
+            Set<PosixFilePermission> perms = new HashSet<>(
+                Files.getPosixFilePermissions(
+                    localLauncherPath,
+                    LinkOption.NOFOLLOW_LINKS
+                )
+            );
+            perms.add(PosixFilePermission.OWNER_EXECUTE);
+            Files.setPosixFilePermissions(localLauncherPath, perms);
+        }
+        return new String[] {launcher, localLauncherPath.toAbsolutePath().toString()};
+    }
 }
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
index efe2a31..1d4bbb1 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
@@ -32,6 +32,7 @@
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
+import jdk.testlibrary.ProcessTools;
 
 /**
  * @test
@@ -43,11 +44,9 @@
  *          both agent properties and jvmstat buffer.
  * @build jdk.testlibrary.ProcessTools
  * @build TestManager TestApplication
- * @run main/othervm/timeout=300 LocalManagementTest
+ * @run main/othervm/timeout=300 -XX:+UsePerfData LocalManagementTest
  */
 
-import jdk.testlibrary.ProcessTools;
-
 public class LocalManagementTest {
     private static final  String TEST_CLASSPATH = System.getProperty("test.class.path");
     private static final  String TEST_JDK = System.getProperty("test.jdk");
@@ -240,4 +239,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java
index 98b759e..e6b1f43 100644
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopDoSomething.java
@@ -21,37 +21,20 @@
  * questions.
  */
 
-import java.io.File;
+import java.io.IOException;
+import jdk.testlibrary.ProcessTools;
 
 public class JMXStartStopDoSomething {
-
-    private static final String lockFileName = "JMXStartStop.lck";
-
-    public static void doSomething() {
-        try {
-            File lockFile = new File(lockFileName);
-            lockFile.createNewFile();
-
-            while(lockFile.exists()) {
-                long datetime = lockFile.lastModified();
-                long epoch = System.currentTimeMillis()/1000;
-
-                // Don't allow test app to run more than an hour
-                if (epoch - datetime > 3600) {
-                    System.err.println("Lock is too old. Aborting");
-                    return;
-                }
-                Thread.sleep(500);
-            }
-
-        } catch (Throwable e) {
-            System.err.println("Something bad happens:" +e);
-        }
+    public static void doSomething() throws IOException{
+        int r = System.in.read();
+        System.out.println("read: " + r);
     }
 
     public static void main(String args[]) throws Exception {
-        System.err.println("main enter");
+        System.out.println("pid:" + ProcessTools.getProcessId());
+        System.out.println("main enter");
+        System.out.flush();
         doSomething();
-        System.err.println("main exit");
+        System.out.println("main exit");
     }
 }
diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
index 4f97477..fe3a774 100644
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
@@ -22,45 +22,61 @@
  */
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FilenameFilter;
 import java.io.IOException;
-import java.io.InputStream;
+import java.lang.reflect.Method;
+import java.net.ConnectException;
+import java.net.ServerSocket;
+import java.rmi.NoSuchObjectException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
-import java.util.Properties;
+import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Consumer;
 
 import javax.management.*;
 import javax.management.remote.*;
+import javax.net.ssl.SSLHandshakeException;
 
-import sun.management.AgentConfigurationError;
-import sun.management.jmxremote.ConnectorBootstrap;
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.JDKToolLauncher;
 
+/**
+ * @test
+ * @bug 7110104
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.ProcessTools
+ * @build jdk.testlibrary.JDKToolLauncher
+ * @build jdk.testlibrary.Utils
+ * @build JMXStartStopTest JMXStartStopDoSomething
+ * @run main/othervm JMXStartStopTest
+ * @summary Makes sure that enabling/disabling the management agent through
+ *          JCMD achieves the desired results
+ */
 public class JMXStartStopTest {
+    private static final String TEST_JDK = System.getProperty("test.jdk");
+    private static final String TEST_SRC = System.getProperty("test.src");
 
-    static boolean verbose = false;
+    private static final boolean verbose = false;
 
-    static void dbg_print(String msg){
+    private static void dbg_print(String msg){
         if (verbose) {
-            System.err.println("DBG: " +msg);
+            System.out.println("DBG: " +msg);
         }
     }
 
-    static void dbg_print(String msg, Throwable ex){
-        if (verbose) {
-            System.err.println("DBG: " + msg + " " + ex.getMessage() );
-            ex.printStackTrace(System.err);
-        }
-    }
-
-    public static int listMBeans(MBeanServerConnection server, ObjectName pattern, QueryExp query)
+    private static int listMBeans(MBeanServerConnection server,
+                                  ObjectName pattern,
+                                  QueryExp query)
     throws Exception {
 
         Set names = server.queryNames(pattern,query);
@@ -72,10 +88,9 @@
             MBeanAttributeInfo[] attrs = info.getAttributes();
             if (attrs == null)
                 continue;
-
-            for (int j=0; j<attrs.length; j++) {
-                if (attrs[j].isReadable()) {
-                    Object o = server.getAttribute(name,attrs[j].getName());
+            for (MBeanAttributeInfo attr : attrs) {
+                if (attr.isReadable()) {
+                    Object o = server.getAttribute(name, attr.getName());
                 }
             }
         }
@@ -83,11 +98,10 @@
     }
 
 
-    public void run_local(String strPid)
+    private static void testConnectLocal(int pid)
     throws Exception {
 
         String jmxUrlStr = null;
-        int pid = Integer.parseInt(strPid);
 
         try {
             jmxUrlStr = sun.management.ConnectorAddressLink.importFrom(pid);
@@ -106,8 +120,8 @@
 
             int count = listMBeans(conn,pattern,null);
             if (count == 0)
-                throw new Exception("Expected at least one matching "+ "MBean for "+pattern);
-
+                throw new Exception("Expected at least one matching "+
+                                    "MBean for "+pattern);
 
         } catch (IOException e) {
             dbg_print("Cannot find process : " + pid);
@@ -115,20 +129,40 @@
         }
     }
 
-    public void run(String args[]) throws Exception {
+    private static void testNoConnect(int port) throws Exception {
+        testNoConnect(port, 0);
+    }
+
+    private static void testNoConnect(int port, int rmiPort) throws Exception {
+        try {
+            testConnect(port, rmiPort);
+            throw new Exception("Didn't expect the management agent running");
+        } catch (Exception e) {
+            Throwable t = e;
+            while (t != null) {
+                if (t instanceof NoSuchObjectException ||
+                    t instanceof ConnectException ||
+                    t instanceof SSLHandshakeException) {
+                    break;
+                }
+                t = t.getCause();
+            }
+            if (t == null) {
+                throw new Exception("Unexpected exception", e);
+            }
+        }
+    }
+
+    private static void testConnect(int port) throws Exception {
+        testConnect(port, 0);
+    }
+
+    private static void testConnect(int port, int rmiPort) throws Exception {
 
         dbg_print("RmiRegistry lookup...");
 
-        int port = 4567;
-        if (args != null && args.length > 0) {
-            port = Integer.parseInt(args[0]);
-        }
         dbg_print("Using port: " + port);
 
-        int rmiPort = 0;
-        if (args != null && args.length > 1) {
-            rmiPort = Integer.parseInt(args[1]);
-        }
         dbg_print("Using rmi port: " + rmiPort);
 
         Registry registry = LocateRegistry.getRegistry(port);
@@ -140,8 +174,13 @@
         }
 
         String jmxUrlStr = (rmiPort != 0) ?
-                           String.format("service:jmx:rmi://localhost:%d/jndi/rmi://localhost:%d/jmxrmi", rmiPort, port) :
-                           String.format("service:jmx:rmi:///jndi/rmi://localhost:%d/jmxrmi",port);
+            String.format(
+                "service:jmx:rmi://localhost:%d/jndi/rmi://localhost:%d/jmxrmi",
+                rmiPort,
+                port) :
+            String.format(
+                "service:jmx:rmi:///jndi/rmi://localhost:%d/jmxrmi",
+                port);
 
         JMXServiceURL url = new JMXServiceURL(jmxUrlStr);
         Map m = new HashMap();
@@ -153,29 +192,632 @@
 
         int count = listMBeans(conn,pattern,null);
         if (count == 0)
-            throw new Exception("Expected at least one matching "+ "MBean for "+pattern);
+            throw new Exception("Expected at least one matching " +
+                                "MBean for " + pattern);
     }
 
+    private static class Failure {
+        private final Throwable cause;
+        private final String msg;
 
-    public static void main(String args[]) {
-        JMXStartStopTest manager = new JMXStartStopTest();
-        try {
-            if (args!=null && args[0].equals("local")) {
-                manager.run_local(args[1]);
-            } else {
-                manager.run(args);
-            }
-        } catch (RuntimeException r) {
-            dbg_print("No connection: ", r);
-            System.out.print("NO_CONN");
-            System.exit(1);
-        } catch (Throwable t) {
-            dbg_print("No connection: ", t);
-            System.out.print("NO_CONN");
-            System.exit(2);
+        public Failure(Throwable cause, String msg) {
+            this.cause = cause;
+            this.msg = msg;
         }
-        System.out.print("OK_CONN");
-        System.exit(0);
+
+        public Failure(String msg) {
+            this(null, msg);
+        }
+
+        public Throwable getCause() {
+            return cause;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        @Override
+        public int hashCode() {
+            int hash = 7;
+            hash = 97 * hash + Objects.hashCode(this.cause);
+            hash = 97 * hash + Objects.hashCode(this.msg);
+            return hash;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null) {
+                return false;
+            }
+            if (getClass() != obj.getClass()) {
+                return false;
+            }
+            final Failure other = (Failure) obj;
+            if (!Objects.equals(this.cause, other.cause)) {
+                return false;
+            }
+            if (!Objects.equals(this.msg, other.msg)) {
+                return false;
+            }
+            return true;
+        }
+
+        @Override
+        public String toString() {
+            if (cause != null) {
+                return msg + "\n" + cause;
+            } else {
+                return msg;
+            }
+        }
     }
 
+    private static List<Failure> failures = new ArrayList<>();
+
+    public static void main(String args[]) throws Exception {
+        for (Method m : JMXStartStopTest.class.getDeclaredMethods()) {
+            if (m.getName().startsWith("test_")) {
+                try {
+                    m.invoke(null);
+                    System.out.println("=== PASSED\n");
+                } catch (Throwable e) {
+                    failures.add(new Failure(e, m.getName() + " failed"));
+                }
+            }
+        }
+
+        if (!failures.isEmpty()) {
+            for(Failure f : failures) {
+                System.err.println(f.getMsg());
+                f.getCause().printStackTrace(System.err);
+            }
+            throw new Error();
+        }
+    }
+
+    /**
+     * Retrieves the PID of the test application using JCMD
+     * @return The PID of the test application
+     * @throws InterruptedException
+     * @throws IOException
+     */
+    private static String getPID() throws InterruptedException, IOException {
+        final AtomicReference<String> pid = new AtomicReference<>();
+        jcmd(
+            null,
+            line -> {
+                if (line.endsWith("JMXStartStopDoSomething")) {
+                    pid.set(line.split(" ")[0]);
+                }
+            }
+        );
+        return pid.get();
+    }
+
+    private static class Something {
+        private Process p;
+        private final ProcessBuilder pb;
+        private final String name;
+        private final AtomicBoolean started = new AtomicBoolean(false);
+        private volatile int pid = -1;
+
+        public Something(ProcessBuilder pb, String name) {
+            this.pb = pb;
+            this.name = name;
+        }
+
+        public synchronized void start() throws InterruptedException, IOException, TimeoutException {
+            if (started.compareAndSet(false, true)) {
+                try {
+                    p = ProcessTools.startProcess(
+                        "JMXStartStopDoSomething",
+                        pb,
+                        (line) -> {
+                            if (line.toLowerCase().startsWith("pid:")) {
+                                pid = Integer.parseInt(line.split("\\:")[1]);
+                            }
+                            return line.equals("main enter");
+                        },
+                        5,
+                        TimeUnit.SECONDS
+                    );
+                } catch (TimeoutException e) {
+                    p.destroy();
+                    p.waitFor();
+                    throw e;
+                }
+            }
+        }
+
+        public int getPid() {
+            return pid;
+        }
+
+        public synchronized void stop()
+            throws IOException, InterruptedException {
+            if (started.compareAndSet(true, false)) {
+                p.getOutputStream().write(0);
+                p.getOutputStream().flush();
+                int ec = p.waitFor();
+                if (ec != 0) {
+                    StringBuilder msg = new StringBuilder();
+                    msg.append("Test application '").append(name);
+                    msg.append("' failed with exit code: ");
+                    msg.append(ec);
+
+                    failures.add(new Failure(msg.toString()));
+                }
+            }
+        }
+    }
+
+    /**
+     * Runs the test application "JMXStartStopDoSomething"
+     * @param name Test run name
+     * @param args Additional arguments
+     * @return Returns a {@linkplain Something} instance representing the run
+     * @throws IOException
+     * @throws InterruptedException
+     * @throws TimeoutException
+     */
+    private static Something doSomething(String name, String ... args)
+    throws Exception {
+        List<String> pbArgs = new ArrayList<>(Arrays.asList(
+            "-cp",
+            System.getProperty("test.class.path")
+        ));
+        pbArgs.addAll(Arrays.asList(args));
+        pbArgs.add("JMXStartStopDoSomething");
+
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+            pbArgs.toArray(new String[pbArgs.size()])
+        );
+        Something s = new Something(pb, name);
+        s.start();
+        return s;
+    }
+
+    /**
+     * Run the "jcmd" command
+     *
+     * @param command Command with parameters; space separated string
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    private static void jcmd(String ... command) throws IOException, InterruptedException {
+        if (command.length == 0) {
+            jcmd(null, (Consumer<String>)null);
+        } else {
+            jcmd(null, command);
+        }
+    }
+
+    /**
+     * Run the "jcmd" command
+     *
+     * @param c {@linkplain Consumer} instance; may be null
+     * @param command Command with parameters; space separated string
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    private static void jcmd(Consumer<String> c, String ... command) throws IOException, InterruptedException {
+        jcmd("JMXStartStopDoSomething", c, command);
+    }
+
+    /**
+     * Run the "jcmd" command
+     * @param target The target application name (or PID)
+     * @param c {@linkplain Consumer} instance; may be null
+     * @param command Command with parameters; space separated string
+     * @throws IOException
+     * @throws InterruptedException
+     */
+    private static void jcmd(String target, final Consumer<String> c, String ... command) throws IOException, InterruptedException {
+        dbg_print("[jcmd] " + (command.length > 0 ? command[0] : "list"));
+
+        JDKToolLauncher l = JDKToolLauncher.createUsingTestJDK("jcmd");
+        l.addToolArg(target);
+        for(String cmd : command) {
+            l.addToolArg(cmd);
+        }
+        Process p = ProcessTools.startProcess(
+            "jcmd",
+            new ProcessBuilder(l.getCommand()),
+            c
+        );
+
+        p.waitFor();
+        dbg_print("[jcmd] --------");
+    }
+
+    private static final String CMD_STOP = "ManagementAgent.stop";
+    private static final String CMD_START= "ManagementAgent.start";
+    private static final String CMD_START_LOCAL = "ManagementAgent.start_local";
+    private static final int port1 = 50234;
+    private static final int port2 = 50235;
+
+    private static void test_01() throws Exception {
+        // Run an app with JMX enabled stop it and
+        // restart on other port
+
+        System.out.println("**** Test one ****");
+
+        Something s = doSomething(
+            "test_01",
+            "-Dcom.sun.management.jmxremote.port=" + port1,
+            "-Dcom.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=false");
+
+        try {
+            testConnect(port1);
+
+            jcmd(CMD_STOP);
+            testNoConnect(port1);
+
+            jcmd(CMD_START, "jmxremote.port=" + port2);
+            testConnect(port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_02() throws Exception {
+        // Run an app without JMX enabled
+        // start JMX by jcmd
+
+        System.out.println("**** Test two ****");
+
+        Something s = doSomething("test_02");
+        try {
+            jcmd(CMD_START,
+                "jmxremote.port=" + port1,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false");
+
+            testConnect(port1);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_03() throws Exception {
+        // Run an app without JMX enabled
+        // start JMX by jcmd on one port than on other one
+
+        System.out.println("**** Test three ****");
+
+        Something s = doSomething("test_03");
+        try {
+            jcmd(CMD_START,
+                "jmxremote.port=" + port1,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false");
+
+            // Second agent shouldn't start
+            jcmd(CMD_START,
+                "jmxremote.port=" + port2,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false");
+
+            // First agent should connect
+            testConnect(port1);
+
+            // Second agent should not connect
+            testNoConnect(port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_04() throws Exception {
+        // Run an app without JMX enabled
+        // start JMX by jcmd on one port, specify rmi port explicitly
+
+        System.out.println("**** Test four ****");
+
+        Something s = doSomething("test_04");
+
+        try {
+            jcmd(CMD_START,
+                 "jmxremote.port=" + port1,
+                 "jmxremote.rmi.port=" + port2,
+                 "jmxremote.authenticate=false",
+                 "jmxremote.ssl=false");
+
+            testConnect(port1, port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_05() throws Exception {
+        // Run an app without JMX enabled, it will enable local server
+        // but should leave remote server disabled
+
+        System.out.println("**** Test five ****");
+
+        Something s = doSomething("test_05");
+        try {
+            jcmd(CMD_START_LOCAL);
+
+            testNoConnect(port1);
+            testConnectLocal(s.getPid());
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_06() throws Exception {
+        // Run an app without JMX enabled
+        // start JMX by jcmd on one port, specify rmi port explicitly
+        // attempt to start it again
+        // 1) with the same port
+        // 2) with other port
+        // 3) attempt to stop it twice
+        // Check for valid messages in the output
+
+        System.out.println("**** Test six ****");
+
+        Something s = doSomething("test_06");
+
+        try {
+            jcmd(CMD_START,
+                 "jmxremote.port=" + port1,
+                 "jmxremote.authenticate=false",
+                 "jmxremote.ssl=false");
+
+            testConnect(port1, port2);
+
+            final boolean[] checks = new boolean[3];
+            jcmd(
+                line -> {
+                    if (line.equals("java.lang.RuntimeException: Invalid agent state")) {
+                        checks[0] = true;
+                    }
+                },
+                CMD_START,
+                 "jmxremote.port=" + port1,
+                 "jmxremote.authenticate=false",
+                 "jmxremote.ssl=false");
+
+            jcmd(
+                line -> {
+                    if (line.equals("java.lang.RuntimeException: Invalid agent state")) {
+                        checks[1] = true;
+                    }
+                },
+                CMD_START,
+                "jmxremote.port=" + port2,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false");
+
+            jcmd(CMD_STOP);
+            jcmd(CMD_STOP);
+
+            ServerSocket ss = new ServerSocket(0);
+
+            jcmd(
+                line -> {
+                    if (line.contains("Port already in use: " + ss.getLocalPort())) {
+                        checks[2] = true;
+                    }
+                },
+                CMD_START,
+                "jmxremote.port=" + ss.getLocalPort(),
+                "jmxremote.rmi.port=" + port2,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false");
+            if (!checks[0]) {
+                throw new Exception("Starting agent on port " + port1 + " should " +
+                                    "report an invalid agent state");
+            }
+            if (!checks[1]) {
+                throw new Exception("Starting agent on poprt " + port2 + " should " +
+                                    "report an invalid agent state");
+            }
+            if (!checks[2]) {
+                throw new Exception("Starting agent on port " + ss.getLocalPort() + " should " +
+                                    "report port in use");
+            }
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_07() throws Exception {
+        // Run an app without JMX enabled, but with some properties set
+        // in command line.
+        // make sure these properties overridden corectly
+
+        System.out.println("**** Test seven ****");
+
+        Something s = doSomething(
+            "test_07",
+            "-Dcom.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=true");
+
+        try {
+            testNoConnect(port1);
+            jcmd(
+                CMD_START,
+                "jmxremote.port=" + port2,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false"
+            );
+            testConnect(port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_08() throws Exception {
+        // Run an app with JMX enabled and with some properties set
+        // in command line.
+        // stop JMX agent and then start it again with different property values
+        // make sure these properties overridden corectly
+
+        System.out.println("**** Test eight ****");
+
+        Something s = doSomething(
+            "test_08",
+            "-Dcom.sun.management.jmxremote.port=" + port1,
+            "-Dcom.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=true");
+
+        try {
+            testNoConnect(port1);
+
+            jcmd(CMD_STOP);
+
+            testNoConnect(port1);
+
+            jcmd(
+                CMD_START,
+                "jmxremote.port=" + port2,
+                "jmxremote.authenticate=false",
+                "jmxremote.ssl=false"
+            );
+
+            testConnect(port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_09() throws Exception {
+        // Run an app with JMX enabled and with some properties set
+        // in command line.
+        // stop JMX agent and then start it again with different property values
+        // specifing some property in management config file and some of them
+        // in command line
+        // make sure these properties overridden corectly
+
+        System.out.println("**** Test nine ****");
+
+        Something s = doSomething("test_09",
+            "-Dcom.sun.management.config.file=" +
+                TEST_SRC + File.separator + "management_cl.properties",
+            "-Dcom.sun.management.jmxremote.authenticate=false"
+        );
+
+        try {
+            testNoConnect(port1);
+
+            jcmd(CMD_STOP);
+
+            testNoConnect(port1);
+
+            jcmd(CMD_START,
+                "config.file=" + TEST_SRC + File.separator +
+                    "management_jcmd.properties",
+                "jmxremote.authenticate=false",
+                "jmxremote.port=" + port2
+            );
+
+            testConnect(port2);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_10() throws Exception {
+        // Run an app with JMX enabled and with some properties set
+        // in command line.
+        // stop JMX agent and then start it again with different property values
+        // stop JMX agent again and then start it without property value
+        // make sure these properties overridden corectly
+
+        System.out.println("**** Test ten ****");
+
+        Something s = doSomething(
+            "test_10",
+            "-Dcom.sun.management.jmxremote.port=" + port1,
+            "-Dcom.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=true");
+
+        try {
+            testNoConnect(port1);
+
+            jcmd(CMD_STOP);
+            jcmd(CMD_START,
+                "jmxremote.ssl=false",
+                "jmxremote.port=" + port1
+            );
+            testConnect(port1);
+
+            jcmd(CMD_STOP);
+            jcmd(CMD_START,
+                "jmxremote.port=" + port1
+            );
+
+            testNoConnect(port1);
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_11() throws Exception {
+        // Run an app with JMX enabled
+        // stop remote agent
+        // make sure local agent is not affected
+
+        System.out.println("**** Test eleven ****");
+
+        Something s = doSomething(
+            "test_11",
+            "-Dcom.sun.management.jmxremote.port=" + port1,
+            "-Dcom.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=false");
+        try {
+            testConnect(port1);
+            jcmd(CMD_STOP);
+            testConnectLocal(s.getPid());
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_12() throws Exception {
+        // Run an app with JMX disabled
+        // start local agent only
+
+        System.out.println("**** Test twelve ****");
+
+        Something s = doSomething("test_12");
+
+        try {
+            testNoConnect(port1);
+            jcmd(CMD_START + "_local");
+
+            testConnectLocal(s.getPid());
+
+        } finally {
+            s.stop();
+        }
+    }
+
+    private static void test_13() throws Exception {
+        // Run an app with -javaagent make sure it works as expected -
+        // system properties are ignored
+
+        System.out.println("**** Test thirteen ****");
+
+        String agent = TEST_JDK + "/jre/lib/management-agent.jar";
+        if (!new File(agent).exists()) {
+            agent = TEST_JDK + "/lib/management-agent.jar";
+        }
+
+        Something s = doSomething("test_14",
+            "-javaagent:" + agent + "=com.sun.management.jmxremote.port=" +
+                port1 + ",com.sun.management.jmxremote.authenticate=false",
+            "-Dcom.sun.management.jmxremote.ssl=false"
+        );
+
+        try {
+            testNoConnect(port1);
+        } finally {
+            s.stop();
+        }
+    }
 }
diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.sh b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.sh
deleted file mode 100644
index 4d67216..0000000
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.sh
+++ /dev/null
@@ -1,579 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2011, 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 7110104
-# @build JMXStartStopTest JMXStartStopDoSomething
-# @run shell JMXStartStopTest.sh --jtreg --no-compile
-# @summary No word Failed expected in the test output
-
-_server=no
-_jtreg=no
-_compile=yes
-_testsuite="01,02,03,04,05,06,07,08,09,10,11,12,13"
-_port_one=50234
-_port_two=50235
-
-
-_testclasses=".classes"
-_testsrc=`pwd`
-
-_logname=".classes/output.txt"
-_lockFileName="JMXStartStop.lck"
-
-_compile(){
-
-    if [ ! -d ${_testclasses} ]
-    then
-      mkdir -p ${_testclasses} 
-    fi   
-
-    rm -f ${_testclasses}/JMXStartStopTest.class
-
-    # Compile testcase
-    ${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${_testclasses} \
-	JMXStartStopDoSomething.java JMXStartStopTest.java 
-
-    if [ ! -f ${_testclasses}/JMXStartStopTest.class ]
-    then
-      echo "ERROR: Can't compile"
-      exit -1
-    fi
-}
-
-_app_start(){
-  ${TESTJAVA}/bin/java ${TESTVMOPTS} $* -cp ${_testclasses} JMXStartStopDoSomething  >> ${_logname} 2>&1 &
-
-  x=0
-  while [ ! -f ${_lockFileName} ]
-  do
-     if [ $x -gt 20 ]
-     then
-        echo "ERROR: Test app not started"
-        if [ "${_jtreg}" = "yes" ]
-        then
-           exit -1
-        fi   
-     fi    
-        
-     echo "Waiting JMXStartStopDoSomething to start: $x"
-     x=`expr $x + 1`
-     sleep 1
-  done
-}
-
-_get_pid(){
-    ${COMPILEJAVA}/bin/jps ${TESTTOOLVMOPTS} | sed -n "/JMXStartStopDoSomething/s/ .*//p"
-}
-
-_app_stop(){
-  rm ${_lockFileName}
-
-  # wait until VM is actually shuts down
-  while true 
-  do
-    npid=`_get_pid`
-    if [ "${npid}" = "" ] 
-    then
-      break
-    fi
-    sleep 1
-  done 
-}
-
-_exit_on_jtreg(){
-  # Stop on first failed test under jtreg
-  if [ "${_jtreg}" = "yes" ]
-  then
-      _app_stop
-      exit -1
-  fi
-}
-
-_testme(){
-  ${TESTJAVA}/bin/java ${TESTVMOPTS} -cp ${_testclasses} JMXStartStopTest $*
-}   
-
-  
-_jcmd(){
-  ${TESTJAVA}/bin/jcmd ${TESTTOOLVMOPTS} JMXStartStopDoSomething $* > /dev/null 2>/dev/null
-} 
-
-_echo(){
-    echo "$*"
-    echo "$*" >> ${_logname}
-}
-   
-# ============= TESTS ======================================
-   
-test_01(){
-# Run an app with JMX enabled stop it and 
-# restart on other port
-        
-    _echo "**** Test one ****"      
-
-    _app_start  -Dcom.sun.management.jmxremote.port=$1 \
-                -Dcom.sun.management.jmxremote.authenticate=false \
-                -Dcom.sun.management.jmxremote.ssl=false 
-
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.stop
-
-    res2=`_testme $1`
-
-    _jcmd ManagementAgent.start jmxremote.port=$2
-
-    res3=`_testme $2`
-
-    if [ "${res1}" = "OK_CONN" -a "${res2}" = "NO_CONN" -a "${res3}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(OK):${res1} r2(NO):${res2} r3(OK):${res3}"
-        _exit_on_jtreg
-    fi
-
-    _app_stop
-}  
-   
-test_02(){
-# Run an app without JMX enabled 
-# start JMX by jcmd
-
-    _echo "**** Test two ****"      
-    _app_start  
-
-    _jcmd ManagementAgent.start jmxremote.port=$1 jmxremote.authenticate=false jmxremote.ssl=false 
-
-    res1=`_testme $1`
-
-    if [ "${res1}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(OK):${res1}"
-        _exit_on_jtreg
-    fi
-    _app_stop
-}   
-   
-test_03(){
-# Run an app without JMX enabled 
-# start JMX by jcmd on one port than on other one
-
-    _echo "**** Test three ****"        
-    _app_start  
-
-    _jcmd ManagementAgent.start jmxremote.port=$1 jmxremote.authenticate=false jmxremote.ssl=false 
-
-# Second agent shouldn't start
-    _jcmd ManagementAgent.start jmxremote.port=$2 jmxremote.authenticate=false jmxremote.ssl=false
-
-# First agent should connect
-    res1=`_testme $1`
-
-    if [ "${res1}" = "OK_CONN" ] 
-    then
-        _echo "Passed $1"
-    else
-        _echo "Failed r1(NO):${res1}"
-        _exit_on_jtreg
-    fi
-
-#Second agent shouldn't connect
-    res1=`_testme $2`
-
-    if [ "${res1}" = "NO_CONN" ] 
-    then
-        _echo "Passed $2"
-    else
-        _echo "Failed r1(OK):${res1}"
-        _exit_on_jtreg
-    fi
-
-    _app_stop
-}   
-   
-test_04(){
-# Run an app without JMX enabled 
-# start JMX by jcmd on one port, specify rmi port explicitly
-
-    _echo "**** Test four ****"     
-    _app_start  
-
-    _jcmd ManagementAgent.start jmxremote.port=$1 jmxremote.rmi.port=$2 jmxremote.authenticate=false jmxremote.ssl=false 
-
-# First agent should connect
-    res1=`_testme $1 $2`
-
-    if [ "${res1}" = "OK_CONN" ] 
-    then
-        _echo "Passed $1 $2"
-    else
-        _echo "Failed r1(NO):${res1}"
-        _exit_on_jtreg
-    fi
-
-    _app_stop
-}   
-
-test_05(){
-# Run an app without JMX enabled, it will enable local server
-# but should leave remote server disabled  
-
-    _echo "**** Test five ****"     
-    _app_start  
-
-    _jcmd ManagementAgent.start jmxremote=1 
-
-    # First agent should connect
-    res1=`_testme $1`
-
-    if [ "${res1}" = "NO_CONN" ] 
-    then
-        _echo "Passed $1 $2"
-    else
-        _echo "Failed r1(OK):${res1}"
-        _exit_on_jtreg
-    fi
-
-    _app_stop
-}   
-
-test_06(){
-# Run an app without JMX enabled 
-# start JMX by jcmd on one port, specify rmi port explicitly
-# attempt to start it again
-# 1) with the same port 
-# 2) with other port
-# 3) attempt to stop it twice
-# Check for valid messages in the output    
-
-    _echo "**** Test six ****"      
-    _app_start  
-
-    _jcmd ManagementAgent.start jmxremote.port=$1 jmxremote.authenticate=false jmxremote.ssl=false 
-
-    # First agent should connect
-    res1=`_testme $1 $2`
-
-    if [ "${res1}" = "OK_CONN" ] 
-    then
-        _echo "Passed $1 $2"
-    else
-        _echo "Failed r1(NO):${res1}"
-        _exit_on_jtreg
-    fi
-
-    _jcmd ManagementAgent.start jmxremote.port=$1 jmxremote.authenticate=false jmxremote.ssl=false 
-
-    _jcmd ManagementAgent.start jmxremote.port=$2 jmxremote.authenticate=false jmxremote.ssl=false 
-
-    _jcmd ManagementAgent.stop
-
-    _jcmd ManagementAgent.stop
-
-    _jcmd ManagementAgent.start jmxremote.port=22 jmxremote.rmi.port=$2 jmxremote.authenticate=false jmxremote.ssl=false 
-
-    _app_stop
-}   
-
-test_07(){
-# Run an app without JMX enabled, but with some properties set 
-# in command line.
-# make sure these properties overriden corectly 
-
-    _echo "**** Test seven ****"        
-
-    _app_start   -Dcom.sun.management.jmxremote.authenticate=false \
-                 -Dcom.sun.management.jmxremote.ssl=true 
-
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.start jmxremote.port=$2 jmxremote.authenticate=false jmxremote.ssl=false
-
-    res2=`_testme $2`
-
-    if [ "${res1}" = "NO_CONN" -a "${res2}" = "OK_CONN" ] 
-    then
-        echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1} r2(OK):${res2}"
-        _exit_on_jtreg
-    fi
-
-    _app_stop
-}   
-
-test_08(){
-# Run an app with JMX enabled and with some properties set 
-# in command line.
-# stop JMX agent and then start it again with different property values
-# make sure these properties overriden corectly 
-
-    _echo "**** Test eight ****"        
-
-    _app_start  -Dcom.sun.management.jmxremote.port=$1 \
-                -Dcom.sun.management.jmxremote.authenticate=false \
-                -Dcom.sun.management.jmxremote.ssl=true 
-
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.stop
-
-    res2=`_testme $1`
-
-    _jcmd ManagementAgent.start jmxremote.port=$2 jmxremote.authenticate=false jmxremote.ssl=false
-
-    res3=`_testme $2`
-
-    if [ "${res1}" = "NO_CONN" -a "${res2}" = "NO_CONN" -a "${res3}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1} r2(NO):${res2} r3(OK):${res3}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-test_09(){
-# Run an app with JMX enabled and with some properties set 
-# in command line.
-# stop JMX agent and then start it again with different property values
-# specifing some property in management config file and some of them
-# in command line
-# make sure these properties overriden corectly 
-
-    _echo "**** Test nine ****"     
-
-    _app_start -Dcom.sun.management.config.file=${_testsrc}/management_cl.properties \
-               -Dcom.sun.management.jmxremote.authenticate=false 
-
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.stop
-
-    res2=`_testme $1`
-
-    _jcmd ManagementAgent.start config.file=${_testsrc}/management_jcmd.properties \
-                                jmxremote.authenticate=false jmxremote.port=$2
-
-    res3=`_testme $2`
-
-    if [ "${res1}" = "NO_CONN" -a "${res2}" = "NO_CONN" -a "${res3}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1} r2(NO):${res2} r3(OK):${res3}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-test_10(){
-# Run an app with JMX enabled and with some properties set 
-# in command line.
-# stop JMX agent and then start it again with different property values
-# stop JMX agent again and then start it without property value
-# make sure these properties overriden corectly 
-
-    _echo "**** Test ten ****"      
-
-    _app_start  -Dcom.sun.management.jmxremote.port=$1 \
-                -Dcom.sun.management.jmxremote.authenticate=false \
-                -Dcom.sun.management.jmxremote.ssl=true 
-
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.stop
-    _jcmd ManagementAgent.start jmxremote.ssl=false jmxremote.port=$1
-
-
-    res2=`_testme $1`
-
-    _jcmd ManagementAgent.stop
-    _jcmd ManagementAgent.start jmxremote.port=$1
-
-    res3=`_testme $1`
-
-    if [ "${res1}" = "NO_CONN" -a "${res2}" = "OK_CONN" -a "${res3}" = "NO_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1} r2(OK):${res2} r3(NO):${res3}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-test_11(){
-# Run an app with JMX enabled 
-# stop remote agent 
-# make sure local agent is not affected
-
-    _echo "**** Test eleven ****"       
-
-    _app_start  -Dcom.sun.management.jmxremote.port=$2 \
-                -Dcom.sun.management.jmxremote.authenticate=false \
-                -Dcom.sun.management.jmxremote.ssl=false 
-      
-    res1=`_testme $2`
-
-    _jcmd ManagementAgent.stop
-
-    pid=`${COMPILEJAVA}/bin/jps ${TESTTOOLVMOPTS} | sed -n "/JMXStartStopDoSomething/s/ .*//p"`
-    res2=`_testme local ${pid}`
-
-    if [ "${res1}" = "OK_CONN" -a "${res2}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(OK):${res1} r2(OK):${res2}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-test_12(){
-# Run an app with JMX disabled 
-# start local agent only
-
-    _echo "**** Test twelve ****"       
-
-    _app_start 
-      
-    res1=`_testme $1`
-
-    _jcmd ManagementAgent.start_local
-
-    pid=`_get_pid`
-    if [ "x${pid}" = "x" ]
-    then
-        res2="NO_CONN"
-    else
-        res2=`_testme local ${pid}`
-    fi
-
-    if [ "${res1}" = "NO_CONN" -a "${res2}" = "OK_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1} r2(OK):${res2}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-test_13(){
-# Run an app with -javaagent make sure it works as expected - system properties are ignored
-
-    _echo "**** Test thirteen ****"       
-			   
-    AGENT="${TESTJAVA}/jre/lib/management-agent.jar"
-    if [ ! -f ${AGENT} ]
-    then
-        AGENT="${TESTJAVA}/lib/management-agent.jar"
-    fi
-
-    _app_start -javaagent:${AGENT}=com.sun.management.jmxremote.port=$1,com.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 
-      
-    res1=`_testme $1`
-
-    if [ "${res1}" = "NO_CONN" ] 
-    then
-        _echo "Passed"
-    else
-        _echo "Failed r1(NO):${res1}"
-        _exit_on_jtreg
-    fi
- 
-    _app_stop
-}   
-
-# ============= MAIN =======================================
-
-if [ "x${TESTJAVA}" = "x" ]
-then
-  echo "TESTJAVA env have to be set"
-  exit
-fi
-
-if [ ! -x "${TESTJAVA}/bin/jcmd" ]
-then
-  echo "${TESTJAVA}/bin/jcmd"
-  echo "Doesn't exist or not an executable"
-  exit
-fi
-
-
-#------------------------------------------------------------------------------
-# reading parameters 
-
-for parm in "$@"  
-do
-   case $parm in
-  --jtreg)        _jtreg=yes    ;;
-  --no-compile)   _compile=no   ;;
-  --testsuite=*)  _testsuite=`_echo $parm | sed "s,^--.*=\(.*\),\1,"`  ;;
-  --port-one=*)   _port_one=`_echo $parm | sed "s,^--.*=\(.*\),\1,"`  ;;
-  --port-two=*)   _port_two=`_echo $parm | sed "s,^--.*=\(.*\),\1,"`  ;;
-  *) 
-     echo "Undefined parameter $parm. Try --help for help" 
-     exit 
-   ;;
- esac 
-done
-
-if [ "${COMPILEJAVA}" = "" ]
-then 
-  COMPILEJAVA=${TESTJAVA}
-fi
-
-if [ ${_compile} = "yes" ]
-then
- _compile
-fi
-
-if [ ${_jtreg} = "yes" ]
-then
- _testclasses=${TESTCLASSES}
- _testsrc=${TESTSRC}
- _logname="JMXStartStopTest_output.txt"
-fi
-
-rm -f ${_logname}
-
-# Local mode tests
-for i in `echo ${_testsuite} | sed -e "s/,/ /g"`
-do
-  test_${i} ${_port_one} ${_port_two}
-done
-
-
diff --git a/jdk/test/sun/misc/Version/Version.java b/jdk/test/sun/misc/Version/Version.java
index 13e5075..85c8ce2 100644
--- a/jdk/test/sun/misc/Version/Version.java
+++ b/jdk/test/sun/misc/Version/Version.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -116,10 +116,16 @@
             } else if (Character.isDigit(cs.charAt(0)) &&
                        Character.isDigit(cs.charAt(1)) && cs.charAt(2) == '.' &&
                        Character.isDigit(cs.charAt(3))) {
-                // HSX has nn.n (major.minor) version
+                // HSX has nn.n[n] (major.minor) version
                 major = Integer.valueOf(version.substring(0, 2)).intValue();
-                minor = Character.digit(cs.charAt(3), 10);
-                cs = cs.subSequence(4, cs.length());
+                if (Character.isDigit(cs.charAt(4))) {
+                    minor = Integer.valueOf(version.substring(3, 5)).intValue();
+                    cs = cs.subSequence(5, cs.length());
+                }
+                else {
+                    minor = Character.digit(cs.charAt(3), 10);
+                    cs = cs.subSequence(4, cs.length());
+                }
             }
             if (cs.charAt(0) == '_' && cs.length() >= 3 &&
                 Character.isDigit(cs.charAt(1)) &&
diff --git a/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh b/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
index 5f039b9..07b832e 100644
--- a/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
+++ b/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
@@ -34,14 +34,17 @@
   SunOS | Linux | Darwin )
     PS=":"
     FS="/"
+    CHMOD="${FS}bin${FS}chmod"
     ;;
   Windows* )
     PS=";"
     FS="\\"
+    CHMOD="chmod"
     ;;
   CYGWIN* )
     PS=";"
     FS="/"
+    CHMOD="chmod"
     #
     # javac does not like /cygdrive produced by `pwd`.
     #
@@ -59,6 +62,7 @@
 mkdir -p ${DEST}${FS}jar1
 cd ${TESTSRC}${FS}etc${FS}jar1
 cp -r . ${DEST}${FS}jar1
+${CHMOD} -R u+w ${DEST}${FS}jar1
 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${DEST}${FS}jar1 \
     ${TESTSRC}${FS}src${FS}jar1${FS}LoadResourceBundle.java
 ${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${DEST}${FS}jar1 \
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
index ee5efb9..45a6df0 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
+++ b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
@@ -148,14 +148,14 @@
             "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" };
 
         for (String protocol : protocols) {
-            log("Testing " + protocol);
             /*
              * Run the tests with direct and indirect buffers.
              */
-            SSLEngineBadBufferArrayAccess test =
-                new SSLEngineBadBufferArrayAccess(protocol);
-            test.runTest(true);
-            test.runTest(false);
+            log("Testing " + protocol + ":true");
+            new SSLEngineBadBufferArrayAccess(protocol).runTest(true);
+
+            log("Testing " + protocol + ":false");
+            new SSLEngineBadBufferArrayAccess(protocol).runTest(false);
         }
 
         System.out.println("Test Passed.");
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/VERSION b/jdk/test/sun/util/calendar/zi/tzdata/VERSION
index 1d76989..2f162e0 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/VERSION
+++ b/jdk/test/sun/util/calendar/zi/tzdata/VERSION
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2013h
+tzdata2013i
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/africa b/jdk/test/sun/util/calendar/zi/tzdata/africa
index 0eed8b1..82d14a4 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/africa
+++ b/jdk/test/sun/util/calendar/zi/tzdata/africa
@@ -500,14 +500,13 @@
 Rule	Libya	1997	only	-	Oct	 4	0:00	0	-
 Rule	Libya	2013	only	-	Mar	lastFri	1:00	1:00	S
 Rule	Libya	2013	only	-	Oct	lastFri	2:00	0	-
-
-# The 1996 and 1997 entries are from Shanks & Pottenger;
-# the IATA SSIM data contain some obvious errors.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Tripoli	0:52:44 -	LMT	1920
 			1:00	Libya	CE%sT	1959
 			2:00	-	EET	1982
 			1:00	Libya	CE%sT	1990 May  4
+# The 1996 and 1997 entries are from Shanks & Pottenger;
+# the IATA SSIM data contain some obvious errors.
 			2:00	-	EET	1996 Sep 30
 			1:00	Libya	CE%sT	1997 Oct  4
 			2:00	-	EET	2012 Nov 10 2:00
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/asia b/jdk/test/sun/util/calendar/zi/tzdata/asia
index fd278e5..1a8f83d 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/asia
+++ b/jdk/test/sun/util/calendar/zi/tzdata/asia
@@ -1403,12 +1403,22 @@
 # switch back to standard time this winter, so the will stay on DST
 # until about the same time next year (at least).
 # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?NewsID=88950
-#
-# From Paul Eggert (2013-09-21):
-# It's looking like this change will be permanent; see
-# Petra News Agency, Cancelling winter saved Jordan $7 million (2013-02-20)
-# <http://www.albawaba.com/business/jordan-winter-electricity--472005>.
-# So move Jordan to UTC+3 as of the abovementioned date.
+
+# From Steffen Thorsen (2013-12-11):
+# Jordan Times and other sources say that Jordan is going back to
+# UTC+2 on 2013-12-19 at midnight:
+# http://jordantimes.com/govt-decides-to-switch-back-to-wintertime
+# Official, in Arabic:
+# http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14
+# ... Our background/permalink about it
+# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html
+# ...
+# http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P
+# ... says midnight for the coming one and 1:00 for the ones in the future
+# (and they will use DST again next year, using the normal schedule).
+
+# From Paul Eggert (2013-12-11):
+# As Steffen suggested, consider the past 21-month experiment to be DST.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
@@ -1438,11 +1448,13 @@
 Rule	Jordan	2003	only	-	Oct	24	0:00s	0	-
 Rule	Jordan	2004	only	-	Oct	15	0:00s	0	-
 Rule	Jordan	2005	only	-	Sep	lastFri	0:00s	0	-
-Rule	Jordan	2006	2012	-	Oct	lastFri	0:00s	0	-
+Rule	Jordan	2006	2011	-	Oct	lastFri	0:00s	0	-
+Rule	Jordan	2013	only	-	Dec	20	0:00	0	-
+Rule	Jordan	2014	max	-	Mar	lastThu	24:00	1:00	S
+Rule	Jordan	2014	max	-	Oct	lastFri	0:00s	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Amman	2:23:44 -	LMT	1931
-			2:00	Jordan	EE%sT	2012 Oct 26 0:00s
-			3:00	-	AST
+			2:00	Jordan	EE%sT
 
 
 # Kazakhstan
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/northamerica b/jdk/test/sun/util/calendar/zi/tzdata/northamerica
index b8caf6d..9e551bb 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/northamerica
+++ b/jdk/test/sun/util/calendar/zi/tzdata/northamerica
@@ -2688,6 +2688,11 @@
 # to DST--and one more hour on 1999-04-04--when the announcers will have
 # returned to Baltimore, which switches on that date.)
 
+# From Steffen Thorsen (2013-11-11):
+# DST start in Cuba in 2004 ... does not follow the same rules as the
+# years before.  The correct date should be Sunday 2004-03-28 00:00 ...
+# https://web.archive.org/web/20040402060750/http://www.granma.cu/espanol/2004/marzo/sab27/reloj.html
+
 # From Evert van der Veer via Steffen Thorsen (2004-10-28):
 # Cuba is not going back to standard time this year.
 # From Paul Eggert (2006-03-22):
@@ -2877,7 +2882,8 @@
 Rule	Cuba	1997	only	-	Oct	12	0:00s	0	S
 Rule	Cuba	1998	1999	-	Mar	lastSun	0:00s	1:00	D
 Rule	Cuba	1998	2003	-	Oct	lastSun	0:00s	0	S
-Rule	Cuba	2000	2004	-	Apr	Sun>=1	0:00s	1:00	D
+Rule	Cuba	2000	2003	-	Apr	Sun>=1	0:00s	1:00	D
+Rule	Cuba	2004	only	-	Mar	lastSun	0:00s	1:00	D
 Rule	Cuba	2006	2010	-	Oct	lastSun	0:00s	0	S
 Rule	Cuba	2007	only	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	1:00	D
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames.properties
deleted file mode 100644
index 594231f..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Central Summer Time (Northern Territory)
-ACT.generic.long=Central Time (Northern Territory)
-ACT.standard.long=Central Standard Time (Northern Territory)
-AET.daylight.long=Eastern Summer Time (New South Wales)
-AET.generic.long=Eastern Time (New South Wales)
-AET.standard.long=Eastern Standard Time (New South Wales)
-AGT.generic.long=Argentine Time
-ART.generic.long=Eastern European Time
-AST.generic.long=Alaska Time
-Africa/Abidjan.generic.long=Greenwich Mean Time
-Africa/Accra.generic.long=Ghana Mean Time
-Africa/Addis_Ababa.generic.long=Eastern Africa Time
-Africa/Algiers.generic.long=Central European Time
-Africa/Asmara.generic.long=Eastern Africa Time
-Africa/Asmera.generic.long=Eastern Africa Time
-Africa/Bamako.generic.long=Greenwich Mean Time
-Africa/Bangui.generic.long=Western African Time
-Africa/Banjul.generic.long=Greenwich Mean Time
-Africa/Bissau.generic.long=Greenwich Mean Time
-Africa/Blantyre.generic.long=Central Africa Time
-Africa/Brazzaville.generic.long=Western African Time
-Africa/Bujumbura.generic.long=Central Africa Time
-Africa/Cairo.generic.long=Eastern European Time
-Africa/Casablanca.generic.long=Western European Time
-Africa/Ceuta.generic.long=Central European Time
-Africa/Conakry.generic.long=Greenwich Mean Time
-Africa/Dakar.generic.long=Greenwich Mean Time
-Africa/Dar_es_Salaam.generic.long=Eastern Africa Time
-Africa/Djibouti.generic.long=Eastern Africa Time
-Africa/Douala.generic.long=Western African Time
-Africa/El_Aaiun.generic.long=Western European Time
-Africa/Freetown.generic.long=Sierra Leone Time
-Africa/Gaborone.generic.long=Central Africa Time
-Africa/Harare.generic.long=Central Africa Time
-Africa/Johannesburg.generic.long=South Africa Time
-Africa/Juba.generic.long=Eastern Africa Time
-Africa/Kampala.generic.long=Eastern Africa Time
-Africa/Khartoum.generic.long=Eastern Africa Time
-Africa/Kigali.generic.long=Central Africa Time
-Africa/Kinshasa.generic.long=Western African Time
-Africa/Lagos.generic.long=Western African Time
-Africa/Libreville.generic.long=Western African Time
-Africa/Lome.generic.long=Greenwich Mean Time
-Africa/Luanda.generic.long=Western African Time
-Africa/Lubumbashi.generic.long=Central Africa Time
-Africa/Lusaka.generic.long=Central Africa Time
-Africa/Malabo.generic.long=Western African Time
-Africa/Maputo.generic.long=Central Africa Time
-Africa/Maseru.generic.long=South Africa Time
-Africa/Mbabane.generic.long=South Africa Time
-Africa/Mogadishu.generic.long=Eastern Africa Time
-Africa/Monrovia.generic.long=Greenwich Mean Time
-Africa/Nairobi.generic.long=Eastern Africa Time
-Africa/Ndjamena.generic.long=Western African Time
-Africa/Niamey.generic.long=Western African Time
-Africa/Nouakchott.generic.long=Greenwich Mean Time
-Africa/Ouagadougou.generic.long=Greenwich Mean Time
-Africa/Porto-Novo.generic.long=Western African Time
-Africa/Sao_Tome.generic.long=Greenwich Mean Time
-Africa/Timbuktu.generic.long=Greenwich Mean Time
-Africa/Tripoli.generic.long=Eastern European Time
-Africa/Tunis.generic.long=Central European Time
-Africa/Windhoek.generic.long=Western African Time
-America/Adak.generic.long=Hawaii-Aleutian Time
-America/Anchorage.generic.long=Alaska Time
-America/Anguilla.generic.long=Atlantic Time
-America/Antigua.generic.long=Atlantic Time
-America/Araguaina.generic.long=Brasilia Time
-America/Argentina/Buenos_Aires.generic.long=Argentine Time
-America/Argentina/Catamarca.generic.long=Argentine Time
-America/Argentina/ComodRivadavia.generic.long=Argentine Time
-America/Argentina/Cordoba.generic.long=Argentine Time
-America/Argentina/Jujuy.generic.long=Argentine Time
-America/Argentina/La_Rioja.generic.long=Argentine Time
-America/Argentina/Mendoza.generic.long=Argentine Time
-America/Argentina/Rio_Gallegos.generic.long=Argentine Time
-America/Argentina/Salta.generic.long=Argentine Time
-America/Argentina/San_Juan.generic.long=Argentine Time
-America/Argentina/San_Luis.generic.long=Argentine Time
-America/Argentina/Tucuman.generic.long=Argentine Time
-America/Argentina/Ushuaia.generic.long=Argentine Time
-America/Aruba.generic.long=Atlantic Time
-America/Asuncion.generic.long=Paraguay Time
-America/Atikokan.generic.long=Eastern Time
-America/Atka.generic.long=Hawaii-Aleutian Time
-America/Bahia.generic.long=Brasilia Time
-America/Bahia_Banderas.generic.long=Central Time
-America/Barbados.generic.long=Atlantic Time
-America/Belem.generic.long=Brasilia Time
-America/Belize.generic.long=Central Time
-America/Blanc-Sablon.generic.long=Atlantic Time
-America/Boa_Vista.generic.long=Amazon Time
-America/Bogota.generic.long=Colombia Time
-America/Boise.generic.long=Mountain Time
-America/Buenos_Aires.generic.long=Argentine Time
-America/Cambridge_Bay.generic.long=Mountain Time
-America/Campo_Grande.generic.long=Amazon Time
-America/Cancun.generic.long=Central Time
-America/Caracas.generic.long=Venezuela Time
-America/Catamarca.generic.long=Argentine Time
-America/Cayenne.generic.long=French Guiana Time
-America/Cayman.generic.long=Eastern Time
-America/Chicago.generic.long=Central Time
-America/Chihuahua.generic.long=Mountain Time
-America/Coral_Harbour.generic.long=Eastern Time
-America/Cordoba.generic.long=Argentine Time
-America/Costa_Rica.generic.long=Central Time
-America/Creston.generic.long=Mountain Time
-America/Cuiaba.generic.long=Amazon Time
-America/Curacao.generic.long=Atlantic Time
-America/Danmarkshavn.generic.long=Greenwich Mean Time
-America/Dawson.generic.long=Pacific Time
-America/Dawson_Creek.generic.long=Mountain Time
-America/Denver.generic.long=Mountain Time
-America/Detroit.generic.long=Eastern Time
-America/Dominica.generic.long=Atlantic Time
-America/Edmonton.generic.long=Mountain Time
-America/Eirunepe.generic.long=Acre Time
-America/El_Salvador.generic.long=Central Time
-America/Ensenada.generic.long=Pacific Time
-America/Fort_Wayne.generic.long=Eastern Time
-America/Fortaleza.generic.long=Brasilia Time
-America/Glace_Bay.generic.long=Atlantic Time
-America/Godthab.generic.long=Western Greenland Time
-America/Goose_Bay.generic.long=Atlantic Time
-America/Grand_Turk.generic.long=Eastern Time
-America/Grenada.generic.long=Atlantic Time
-America/Guadeloupe.generic.long=Atlantic Time
-America/Guatemala.generic.long=Central Time
-America/Guayaquil.generic.long=Ecuador Time
-America/Guyana.generic.long=Guyana Time
-America/Halifax.generic.long=Atlantic Time
-America/Havana.generic.long=Cuba Time
-America/Hermosillo.generic.long=Mountain Time
-America/Indiana/Indianapolis.generic.long=Eastern Time
-America/Indiana/Knox.generic.long=Central Time
-America/Indiana/Marengo.generic.long=Eastern Time
-America/Indiana/Petersburg.generic.long=Eastern Time
-America/Indiana/Tell_City.generic.long=Central Time
-America/Indiana/Vevay.generic.long=Eastern Time
-America/Indiana/Vincennes.generic.long=Eastern Time
-America/Indiana/Winamac.generic.long=Eastern Time
-America/Indianapolis.generic.long=Eastern Time
-America/Inuvik.generic.long=Mountain Time
-America/Iqaluit.generic.long=Eastern Time
-America/Jamaica.generic.long=Eastern Time
-America/Jujuy.generic.long=Argentine Time
-America/Juneau.generic.long=Alaska Time
-America/Kentucky/Louisville.generic.long=Eastern Time
-America/Kentucky/Monticello.generic.long=Eastern Time
-America/Knox_IN.generic.long=Central Time
-America/Kralendijk.generic.long=Atlantic Time
-America/La_Paz.generic.long=Bolivia Time
-America/Lima.generic.long=Peru Time
-America/Los_Angeles.generic.long=Pacific Time
-America/Louisville.generic.long=Eastern Time
-America/Lower_Princes.generic.long=Atlantic Time
-America/Maceio.generic.long=Brasilia Time
-America/Managua.generic.long=Central Time
-America/Manaus.generic.long=Amazon Time
-America/Marigot.generic.long=Atlantic Time
-America/Martinique.generic.long=Atlantic Time
-America/Matamoros.generic.long=Central Time
-America/Mazatlan.generic.long=Mountain Time
-America/Mendoza.generic.long=Argentine Time
-America/Menominee.generic.long=Central Time
-America/Merida.generic.long=Central Time
-America/Metlakatla.daylight.long=Metlakatla Daylight Time
-America/Metlakatla.generic.long=Metlakatla Time
-America/Metlakatla.standard.long=Metlakatla Standard Time
-America/Mexico_City.generic.long=Central Time
-America/Miquelon.generic.long=Pierre & Miquelon Time
-America/Moncton.generic.long=Atlantic Time
-America/Monterrey.generic.long=Central Time
-America/Montevideo.generic.long=Uruguay Time
-America/Montreal.generic.long=Eastern Time
-America/Montserrat.generic.long=Atlantic Time
-America/Nassau.generic.long=Eastern Time
-America/New_York.generic.long=Eastern Time
-America/Nipigon.generic.long=Eastern Time
-America/Nome.generic.long=Alaska Time
-America/Noronha.generic.long=Fernando de Noronha Time
-America/North_Dakota/Beulah.generic.long=Central Time
-America/North_Dakota/Center.generic.long=Central Time
-America/North_Dakota/New_Salem.generic.long=Central Time
-America/Ojinaga.generic.long=Mountain Time
-America/Panama.generic.long=Eastern Time
-America/Pangnirtung.generic.long=Eastern Time
-America/Paramaribo.generic.long=Suriname Time
-America/Phoenix.generic.long=Mountain Time
-America/Port-au-Prince.generic.long=Eastern Time
-America/Port_of_Spain.generic.long=Atlantic Time
-America/Porto_Acre.generic.long=Acre Time
-America/Porto_Velho.generic.long=Amazon Time
-America/Puerto_Rico.generic.long=Atlantic Time
-America/Rainy_River.generic.long=Central Time
-America/Rankin_Inlet.generic.long=Central Time
-America/Recife.generic.long=Brasilia Time
-America/Regina.generic.long=Central Time
-America/Resolute.generic.long=Central Time
-America/Rio_Branco.generic.long=Acre Time
-America/Rosario.generic.long=Argentine Time
-America/Santa_Isabel.generic.long=Pacific Time
-America/Santarem.generic.long=Brasilia Time
-America/Santiago.generic.long=Chile Time
-America/Santo_Domingo.generic.long=Atlantic Time
-America/Sao_Paulo.generic.long=Brasilia Time
-America/Scoresbysund.generic.long=Eastern Greenland Time
-America/Shiprock.generic.long=Mountain Time
-America/Sitka.generic.long=Alaska Time
-America/St_Barthelemy.generic.long=Atlantic Time
-America/St_Johns.generic.long=Newfoundland Time
-America/St_Kitts.generic.long=Atlantic Time
-America/St_Lucia.generic.long=Atlantic Time
-America/St_Thomas.generic.long=Atlantic Time
-America/St_Vincent.generic.long=Atlantic Time
-America/Swift_Current.generic.long=Central Time
-America/Tegucigalpa.generic.long=Central Time
-America/Thule.generic.long=Atlantic Time
-America/Thunder_Bay.generic.long=Eastern Time
-America/Tijuana.generic.long=Pacific Time
-America/Toronto.generic.long=Eastern Time
-America/Tortola.generic.long=Atlantic Time
-America/Vancouver.generic.long=Pacific Time
-America/Virgin.generic.long=Atlantic Time
-America/Whitehorse.generic.long=Pacific Time
-America/Winnipeg.generic.long=Central Time
-America/Yakutat.generic.long=Alaska Time
-America/Yellowknife.generic.long=Mountain Time
-Antarctica/Casey.daylight.long=Western Summer Time (Australia)
-Antarctica/Casey.generic.long=Western Time (Australia)
-Antarctica/Casey.standard.long=Western Standard Time (Australia)
-Antarctica/Davis.generic.long=Davis Time
-Antarctica/DumontDUrville.generic.long=Dumont-d'Urville Time
-Antarctica/Macquarie.daylight.long=Macquarie Island Summer Time
-Antarctica/Macquarie.generic.long=Macquarie Island Time
-Antarctica/Macquarie.standard.long=Macquarie Island Time
-Antarctica/Mawson.generic.long=Mawson Time
-Antarctica/McMurdo.generic.long=New Zealand Time
-Antarctica/Palmer.generic.long=Chile Time
-Antarctica/Rothera.generic.long=Rothera Time
-Antarctica/South_Pole.generic.long=New Zealand Time
-Antarctica/Syowa.generic.long=Syowa Time
-Antarctica/Vostok.generic.long=Vostok Time
-Arctic/Longyearbyen.generic.long=Central European Time
-Asia/Aden.generic.long=Arabia Time
-Asia/Almaty.generic.long=Alma-Ata Time
-Asia/Amman.generic.long=Arabia Time
-Asia/Anadyr.generic.long=Anadyr Time
-Asia/Aqtau.generic.long=Aqtau Time
-Asia/Aqtobe.generic.long=Aqtobe Time
-Asia/Ashgabat.generic.long=Turkmenistan Time
-Asia/Ashkhabad.generic.long=Turkmenistan Time
-Asia/Baghdad.generic.long=Arabia Time
-Asia/Bahrain.generic.long=Arabia Time
-Asia/Baku.generic.long=Azerbaijan Time
-Asia/Bangkok.generic.long=Indochina Time
-Asia/Beirut.generic.long=Eastern European Time
-Asia/Bishkek.generic.long=Kirgizstan Time
-Asia/Brunei.generic.long=Brunei Time
-Asia/Calcutta.generic.long=India Time
-Asia/Choibalsan.generic.long=Choibalsan Time
-Asia/Chongqing.generic.long=China Time
-Asia/Chungking.generic.long=China Time
-Asia/Colombo.generic.long=India Time
-Asia/Dacca.generic.long=Bangladesh Time
-Asia/Damascus.generic.long=Eastern European Time
-Asia/Dhaka.generic.long=Bangladesh Time
-Asia/Dili.generic.long=Timor-Leste Time
-Asia/Dubai.generic.long=Gulf Time
-Asia/Dushanbe.generic.long=Tajikistan Time
-Asia/Gaza.generic.long=Eastern European Time
-Asia/Harbin.generic.long=China Time
-Asia/Hebron.generic.long=Eastern European Time
-Asia/Ho_Chi_Minh.generic.long=Indochina Time
-Asia/Hong_Kong.generic.long=Hong Kong Time
-Asia/Hovd.generic.long=Hovd Time
-Asia/Irkutsk.generic.long=Irkutsk Time
-Asia/Istanbul.generic.long=Eastern European Time
-Asia/Jakarta.generic.long=West Indonesia Time
-Asia/Jayapura.generic.long=East Indonesia Time
-Asia/Jerusalem.generic.long=Israel Time
-Asia/Kabul.generic.long=Afghanistan Time
-Asia/Kamchatka.generic.long=Petropavlovsk-Kamchatski Time
-Asia/Karachi.generic.long=Pakistan Time
-Asia/Kashgar.generic.long=China Time
-Asia/Kathmandu.generic.long=Nepal Time
-Asia/Katmandu.generic.long=Nepal Time
-Asia/Khandyga.daylight.long=Khandyga Summer Time
-Asia/Khandyga.generic.long=Khandyga Time
-Asia/Khandyga.standard.long=Khandyga Time
-Asia/Kolkata.generic.long=India Time
-Asia/Krasnoyarsk.generic.long=Krasnoyarsk Time
-Asia/Kuala_Lumpur.generic.long=Malaysia Time
-Asia/Kuching.generic.long=Malaysia Time
-Asia/Kuwait.generic.long=Arabia Time
-Asia/Macao.generic.long=China Time
-Asia/Macau.generic.long=China Time
-Asia/Magadan.generic.long=Magadan Time
-Asia/Makassar.generic.long=Central Indonesia Time
-Asia/Manila.generic.long=Philippines Time
-Asia/Muscat.generic.long=Gulf Time
-Asia/Nicosia.generic.long=Eastern European Time
-Asia/Novokuznetsk.generic.long=Novosibirsk Time
-Asia/Novosibirsk.generic.long=Novosibirsk Time
-Asia/Omsk.generic.long=Omsk Time
-Asia/Oral.generic.long=Oral Time
-Asia/Phnom_Penh.generic.long=Indochina Time
-Asia/Pontianak.generic.long=West Indonesia Time
-Asia/Pyongyang.generic.long=Korea Time
-Asia/Qatar.generic.long=Arabia Time
-Asia/Qyzylorda.generic.long=Qyzylorda Time
-Asia/Rangoon.generic.long=Myanmar Time
-Asia/Saigon.generic.long=Indochina Time
-Asia/Sakhalin.generic.long=Sakhalin Time
-Asia/Samarkand.generic.long=Uzbekistan Time
-Asia/Seoul.generic.long=Korea Time
-Asia/Shanghai.generic.long=China Time
-Asia/Singapore.generic.long=Singapore Time
-Asia/Taipei.generic.long=China Time
-Asia/Tashkent.generic.long=Uzbekistan Time
-Asia/Tbilisi.generic.long=Georgia Time
-Asia/Tehran.generic.long=Iran Time
-Asia/Tel_Aviv.generic.long=Israel Time
-Asia/Thimbu.generic.long=Bhutan Time
-Asia/Thimphu.generic.long=Bhutan Time
-Asia/Tokyo.generic.long=Japan Time
-Asia/Ujung_Pandang.generic.long=Central Indonesia Time
-Asia/Ulaanbaatar.generic.long=Ulaanbaatar Time
-Asia/Ulan_Bator.generic.long=Ulaanbaatar Time
-Asia/Urumqi.generic.long=China Time
-Asia/Ust-Nera.daylight.long=Ust-Nera Summer Time
-Asia/Ust-Nera.generic.long=Ust-Nera Time
-Asia/Ust-Nera.standard.long=Ust-Nera Time
-Asia/Vientiane.generic.long=Indochina Time
-Asia/Vladivostok.generic.long=Vladivostok Time
-Asia/Yakutsk.generic.long=Yakutsk Time
-Asia/Yekaterinburg.generic.long=Yekaterinburg Time
-Asia/Yerevan.generic.long=Armenia Time
-Atlantic/Azores.generic.long=Azores Time
-Atlantic/Bermuda.generic.long=Atlantic Time
-Atlantic/Canary.generic.long=Western European Time
-Atlantic/Cape_Verde.generic.long=Cape Verde Time
-Atlantic/Faeroe.generic.long=Western European Time
-Atlantic/Faroe.generic.long=Western European Time
-Atlantic/Jan_Mayen.generic.long=Central European Time
-Atlantic/Madeira.generic.long=Western European Time
-Atlantic/Reykjavik.generic.long=Greenwich Mean Time
-Atlantic/South_Georgia.generic.long=South Georgia Time
-Atlantic/St_Helena.generic.long=Greenwich Mean Time
-Atlantic/Stanley.generic.long=Falkland Is. Time
-Australia/ACT.daylight.long=Eastern Summer Time (New South Wales)
-Australia/ACT.generic.long=Eastern Time (New South Wales)
-Australia/ACT.standard.long=Eastern Standard Time (New South Wales)
-Australia/Adelaide.daylight.long=Central Summer Time (South Australia)
-Australia/Adelaide.generic.long=Central Time (South Australia)
-Australia/Adelaide.standard.long=Central Standard Time (South Australia)
-Australia/Brisbane.daylight.long=Eastern Summer Time (Queensland)
-Australia/Brisbane.generic.long=Eastern Time (Queensland)
-Australia/Brisbane.standard.long=Eastern Standard Time (Queensland)
-Australia/Broken_Hill.daylight.long=Central Summer Time (South Australia/New South Wales)
-Australia/Broken_Hill.generic.long=Central Time (South Australia/New South Wales)
-Australia/Broken_Hill.standard.long=Central Standard Time (South Australia/New South Wales)
-Australia/Canberra.daylight.long=Eastern Summer Time (New South Wales)
-Australia/Canberra.generic.long=Eastern Time (New South Wales)
-Australia/Canberra.standard.long=Eastern Standard Time (New South Wales)
-Australia/Currie.daylight.long=Eastern Summer Time (New South Wales)
-Australia/Currie.generic.long=Eastern Time (New South Wales)
-Australia/Currie.standard.long=Eastern Standard Time (New South Wales)
-Australia/Darwin.daylight.long=Central Summer Time (Northern Territory)
-Australia/Darwin.generic.long=Central Time (Northern Territory)
-Australia/Darwin.standard.long=Central Standard Time (Northern Territory)
-Australia/Eucla.daylight.long=Central Western Summer Time (Australia)
-Australia/Eucla.generic.long=Central Western Time (Australia)
-Australia/Eucla.standard.long=Central Western Standard Time (Australia)
-Australia/Hobart.daylight.long=Eastern Summer Time (Tasmania)
-Australia/Hobart.generic.long=Eastern Time (Tasmania)
-Australia/Hobart.standard.long=Eastern Standard Time (Tasmania)
-Australia/LHI.generic.long=Lord Howe Time
-Australia/Lindeman.daylight.long=Eastern Summer Time (Queensland)
-Australia/Lindeman.generic.long=Eastern Time (Queensland)
-Australia/Lindeman.standard.long=Eastern Standard Time (Queensland)
-Australia/Lord_Howe.generic.long=Lord Howe Time
-Australia/Melbourne.daylight.long=Eastern Summer Time (Victoria)
-Australia/Melbourne.generic.long=Eastern Time (Victoria)
-Australia/Melbourne.standard.long=Eastern Standard Time (Victoria)
-Australia/NSW.daylight.long=Eastern Summer Time (New South Wales)
-Australia/NSW.generic.long=Eastern Time (New South Wales)
-Australia/NSW.standard.long=Eastern Standard Time (New South Wales)
-Australia/North.daylight.long=Central Summer Time (Northern Territory)
-Australia/North.generic.long=Central Time (Northern Territory)
-Australia/North.standard.long=Central Standard Time (Northern Territory)
-Australia/Perth.daylight.long=Western Summer Time (Australia)
-Australia/Perth.generic.long=Western Time (Australia)
-Australia/Perth.standard.long=Western Standard Time (Australia)
-Australia/Queensland.daylight.long=Eastern Summer Time (Queensland)
-Australia/Queensland.generic.long=Eastern Time (Queensland)
-Australia/Queensland.standard.long=Eastern Standard Time (Queensland)
-Australia/South.daylight.long=Central Summer Time (South Australia)
-Australia/South.generic.long=Central Time (South Australia)
-Australia/South.standard.long=Central Standard Time (South Australia)
-Australia/Sydney.daylight.long=Eastern Summer Time (New South Wales)
-Australia/Sydney.generic.long=Eastern Time (New South Wales)
-Australia/Sydney.standard.long=Eastern Standard Time (New South Wales)
-Australia/Tasmania.daylight.long=Eastern Summer Time (Tasmania)
-Australia/Tasmania.generic.long=Eastern Time (Tasmania)
-Australia/Tasmania.standard.long=Eastern Standard Time (Tasmania)
-Australia/Victoria.daylight.long=Eastern Summer Time (Victoria)
-Australia/Victoria.generic.long=Eastern Time (Victoria)
-Australia/Victoria.standard.long=Eastern Standard Time (Victoria)
-Australia/West.daylight.long=Western Summer Time (Australia)
-Australia/West.generic.long=Western Time (Australia)
-Australia/West.standard.long=Western Standard Time (Australia)
-Australia/Yancowinna.daylight.long=Central Summer Time (South Australia/New South Wales)
-Australia/Yancowinna.generic.long=Central Time (South Australia/New South Wales)
-Australia/Yancowinna.standard.long=Central Standard Time (South Australia/New South Wales)
-BET.generic.long=Brasilia Time
-BST.generic.long=Bangladesh Time
-Brazil/Acre.generic.long=Acre Time
-Brazil/DeNoronha.generic.long=Fernando de Noronha Time
-Brazil/East.generic.long=Brasilia Time
-Brazil/West.generic.long=Amazon Time
-CAT.generic.long=Central Africa Time
-CET.generic.long=Central European Time
-CNT.generic.long=Newfoundland Time
-CST.generic.long=Central Time
-CST6CDT.generic.long=Central Time
-CTT.generic.long=China Time
-Canada/Atlantic.generic.long=Atlantic Time
-Canada/Central.generic.long=Central Time
-Canada/East-Saskatchewan.generic.long=Central Time
-Canada/Eastern.generic.long=Eastern Time
-Canada/Mountain.generic.long=Mountain Time
-Canada/Newfoundland.generic.long=Newfoundland Time
-Canada/Pacific.generic.long=Pacific Time
-Canada/Saskatchewan.generic.long=Central Time
-Canada/Yukon.generic.long=Pacific Time
-Chile/Continental.generic.long=Chile Time
-Chile/EasterIsland.generic.long=Easter Is. Time
-Cuba.generic.long=Cuba Time
-EAT.generic.long=Eastern Africa Time
-ECT.generic.long=Central European Time
-EET.generic.long=Eastern European Time
-EST.generic.long=Eastern Time
-EST5EDT.generic.long=Eastern Time
-Egypt.generic.long=Eastern European Time
-Eire.generic.long=Irish Time
-Etc/Greenwich.generic.long=Greenwich Mean Time
-Etc/UCT.generic.long=Coordinated Universal Time
-Etc/UTC.generic.long=Coordinated Universal Time
-Etc/Universal.generic.long=Coordinated Universal Time
-Etc/Zulu.generic.long=Coordinated Universal Time
-Europe/Amsterdam.generic.long=Central European Time
-Europe/Andorra.generic.long=Central European Time
-Europe/Athens.generic.long=Eastern European Time
-Europe/Belfast.generic.long=British Time
-Europe/Belgrade.generic.long=Central European Time
-Europe/Berlin.generic.long=Central European Time
-Europe/Bratislava.generic.long=Central European Time
-Europe/Brussels.generic.long=Central European Time
-Europe/Bucharest.generic.long=Eastern European Time
-Europe/Budapest.generic.long=Central European Time
-Europe/Busingen.generic.long=Central European Time
-Europe/Chisinau.generic.long=Eastern European Time
-Europe/Copenhagen.generic.long=Central European Time
-Europe/Dublin.generic.long=Irish Time
-Europe/Gibraltar.generic.long=Central European Time
-Europe/Guernsey.generic.long=British Time
-Europe/Helsinki.generic.long=Eastern European Time
-Europe/Isle_of_Man.generic.long=British Time
-Europe/Istanbul.generic.long=Eastern European Time
-Europe/Jersey.generic.long=British Time
-Europe/Kaliningrad.daylight.long=Further-eastern European Summer Time
-Europe/Kaliningrad.generic.long=Further-eastern European Time
-Europe/Kaliningrad.standard.long=Further-eastern European Time
-Europe/Kiev.generic.long=Eastern European Time
-Europe/Lisbon.generic.long=Western European Time
-Europe/Ljubljana.generic.long=Central European Time
-Europe/London.generic.long=British Time
-Europe/Luxembourg.generic.long=Central European Time
-Europe/Madrid.generic.long=Central European Time
-Europe/Malta.generic.long=Central European Time
-Europe/Mariehamn.generic.long=Eastern European Time
-Europe/Minsk.daylight.long=Further-eastern European Summer Time
-Europe/Minsk.generic.long=Further-eastern European Time
-Europe/Minsk.standard.long=Further-eastern European Time
-Europe/Monaco.generic.long=Central European Time
-Europe/Moscow.generic.long=Moscow Time
-Europe/Nicosia.generic.long=Eastern European Time
-Europe/Oslo.generic.long=Central European Time
-Europe/Paris.generic.long=Central European Time
-Europe/Podgorica.generic.long=Central European Time
-Europe/Prague.generic.long=Central European Time
-Europe/Riga.generic.long=Eastern European Time
-Europe/Rome.generic.long=Central European Time
-Europe/Samara.generic.long=Samara Time
-Europe/San_Marino.generic.long=Central European Time
-Europe/Sarajevo.generic.long=Central European Time
-Europe/Simferopol.generic.long=Eastern European Time
-Europe/Skopje.generic.long=Central European Time
-Europe/Sofia.generic.long=Eastern European Time
-Europe/Stockholm.generic.long=Central European Time
-Europe/Tallinn.generic.long=Eastern European Time
-Europe/Tirane.generic.long=Central European Time
-Europe/Tiraspol.generic.long=Eastern European Time
-Europe/Uzhgorod.generic.long=Eastern European Time
-Europe/Vaduz.generic.long=Central European Time
-Europe/Vatican.generic.long=Central European Time
-Europe/Vienna.generic.long=Central European Time
-Europe/Vilnius.generic.long=Eastern European Time
-Europe/Volgograd.generic.long=Volgograd Time
-Europe/Warsaw.generic.long=Central European Time
-Europe/Zagreb.generic.long=Central European Time
-Europe/Zaporozhye.generic.long=Eastern European Time
-Europe/Zurich.generic.long=Central European Time
-GB-Eire.generic.long=British Time
-GB.generic.long=British Time
-GMT.generic.long=Greenwich Mean Time
-Greenwich.generic.long=Greenwich Mean Time
-HST.generic.long=Hawaii Time
-Hongkong.generic.long=Hong Kong Time
-IET.generic.long=Eastern Time
-IST.generic.long=India Time
-Iceland.generic.long=Greenwich Mean Time
-Indian/Antananarivo.generic.long=Eastern Africa Time
-Indian/Chagos.generic.long=Indian Ocean Territory Time
-Indian/Christmas.generic.long=Christmas Island Time
-Indian/Cocos.generic.long=Cocos Islands Time
-Indian/Comoro.generic.long=Eastern Africa Time
-Indian/Kerguelen.generic.long=French Southern & Antarctic Lands Time
-Indian/Mahe.generic.long=Seychelles Time
-Indian/Maldives.generic.long=Maldives Time
-Indian/Mauritius.generic.long=Mauritius Time
-Indian/Mayotte.generic.long=Eastern Africa Time
-Indian/Reunion.generic.long=Reunion Time
-Iran.generic.long=Iran Time
-Israel.generic.long=Israel Time
-JST.generic.long=Japan Time
-Jamaica.generic.long=Eastern Time
-Japan.generic.long=Japan Time
-Kwajalein.generic.long=Marshall Islands Time
-Libya.generic.long=Eastern European Time
-MET.generic.long=Middle Europe Time
-MIT.generic.long=West Samoa Time
-MST.generic.long=Mountain Time
-MST7MDT.generic.long=Mountain Time
-Mexico/BajaNorte.generic.long=Pacific Time
-Mexico/BajaSur.generic.long=Mountain Time
-Mexico/General.generic.long=Central Time
-NET.generic.long=Armenia Time
-NST.generic.long=New Zealand Time
-NZ-CHAT.generic.long=Chatham Time
-NZ.generic.long=New Zealand Time
-Navajo.generic.long=Mountain Time
-PLT.generic.long=Pakistan Time
-PNT.generic.long=Mountain Time
-PRC.generic.long=China Time
-PRT.generic.long=Atlantic Time
-PST.generic.long=Pacific Time
-PST8PDT.generic.long=Pacific Time
-Pacific/Apia.generic.long=West Samoa Time
-Pacific/Auckland.generic.long=New Zealand Time
-Pacific/Chatham.generic.long=Chatham Time
-Pacific/Chuuk.daylight.long=Chuuk Summer Time
-Pacific/Chuuk.generic.long=Chuuk Time
-Pacific/Chuuk.standard.long=Chuuk Time
-Pacific/Easter.generic.long=Easter Is. Time
-Pacific/Efate.generic.long=Vanuatu Time
-Pacific/Enderbury.generic.long=Phoenix Is. Time
-Pacific/Fakaofo.generic.long=Tokelau Time
-Pacific/Fiji.generic.long=Fiji Time
-Pacific/Funafuti.generic.long=Tuvalu Time
-Pacific/Galapagos.generic.long=Galapagos Time
-Pacific/Gambier.generic.long=Gambier Time
-Pacific/Guadalcanal.generic.long=Solomon Is. Time
-Pacific/Guam.generic.long=Chamorro Time
-Pacific/Honolulu.generic.long=Hawaii Time
-Pacific/Johnston.generic.long=Hawaii Time
-Pacific/Kiritimati.generic.long=Line Is. Time
-Pacific/Kosrae.generic.long=Kosrae Time
-Pacific/Kwajalein.generic.long=Marshall Islands Time
-Pacific/Majuro.generic.long=Marshall Islands Time
-Pacific/Marquesas.generic.long=Marquesas Time
-Pacific/Midway.generic.long=Samoa Time
-Pacific/Nauru.generic.long=Nauru Time
-Pacific/Niue.generic.long=Niue Time
-Pacific/Norfolk.generic.long=Norfolk Time
-Pacific/Noumea.generic.long=New Caledonia Time
-Pacific/Pago_Pago.generic.long=Samoa Time
-Pacific/Palau.generic.long=Palau Time
-Pacific/Pitcairn.generic.long=Pitcairn Time
-Pacific/Pohnpei.daylight.long=Pohnpei Summer Time
-Pacific/Pohnpei.generic.long=Ponape Time
-Pacific/Pohnpei.standard.long=Pohnpei Time
-Pacific/Ponape.daylight.long=Pohnpei Summer Time
-Pacific/Ponape.generic.long=Ponape Time
-Pacific/Ponape.standard.long=Pohnpei Time
-Pacific/Port_Moresby.generic.long=Papua New Guinea Time
-Pacific/Rarotonga.generic.long=Cook Is. Time
-Pacific/Saipan.generic.long=Chamorro Time
-Pacific/Samoa.generic.long=Samoa Time
-Pacific/Tahiti.generic.long=Tahiti Time
-Pacific/Tarawa.generic.long=Gilbert Is. Time
-Pacific/Tongatapu.generic.long=Tonga Time
-Pacific/Truk.daylight.long=Chuuk Summer Time
-Pacific/Truk.generic.long=Chuuk Time
-Pacific/Truk.standard.long=Chuuk Time
-Pacific/Wake.generic.long=Wake Time
-Pacific/Wallis.generic.long=Wallis & Futuna Time
-Pacific/Yap.daylight.long=Chuuk Summer Time
-Pacific/Yap.generic.long=Chuuk Time
-Pacific/Yap.standard.long=Chuuk Time
-Poland.generic.long=Central European Time
-Portugal.generic.long=Western European Time
-ROK.generic.long=Korea Time
-SST.generic.long=Solomon Is. Time
-Singapore.generic.long=Singapore Time
-SystemV/AST4.generic.long=Atlantic Time
-SystemV/AST4ADT.generic.long=Atlantic Time
-SystemV/CST6.generic.long=Central Time
-SystemV/CST6CDT.generic.long=Central Time
-SystemV/EST5.generic.long=Eastern Time
-SystemV/EST5EDT.generic.long=Eastern Time
-SystemV/HST10.generic.long=Hawaii Time
-SystemV/MST7.generic.long=Mountain Time
-SystemV/MST7MDT.generic.long=Mountain Time
-SystemV/PST8.generic.long=Pacific Time
-SystemV/PST8PDT.generic.long=Pacific Time
-SystemV/YST9.generic.long=Alaska Time
-SystemV/YST9YDT.generic.long=Alaska Time
-Turkey.generic.long=Eastern European Time
-UCT.generic.long=Coordinated Universal Time
-US/Alaska.generic.long=Alaska Time
-US/Aleutian.generic.long=Hawaii-Aleutian Time
-US/Arizona.generic.long=Mountain Time
-US/Central.generic.long=Central Time
-US/East-Indiana.generic.long=Eastern Time
-US/Eastern.generic.long=Eastern Time
-US/Hawaii.generic.long=Hawaii Time
-US/Indiana-Starke.generic.long=Central Time
-US/Michigan.generic.long=Eastern Time
-US/Mountain.generic.long=Mountain Time
-US/Pacific-New.generic.long=Pacific Time
-US/Pacific.generic.long=Pacific Time
-US/Samoa.generic.long=Samoa Time
-UTC.generic.long=Coordinated Universal Time
-Universal.generic.long=Coordinated Universal Time
-VST.generic.long=Indochina Time
-W-SU.generic.long=Moscow Time
-WET.generic.long=Western European Time
-Zulu.generic.long=Coordinated Universal Time
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNamesTest.java b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNamesTest.java
deleted file mode 100644
index e112e56..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNamesTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (c) 2013 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 8025051
- * @summary Test time zone names across all locales
- * @run main TimeZoneNamesTest
- */
-
-import sun.util.locale.provider.TimeZoneNameUtility;
-import java.util.TimeZone;
-import java.util.Locale;
-import java.util.Properties;
-import java.io.IOException;
-import java.io.FileInputStream;
-
-public class TimeZoneNamesTest {
-    // name type to test. Possible: long, short.
-    static String requestedTestType = "long";
-    // test Standard/DST (false) or Generic (true) TZ names
-    static boolean testGeneric = false;
-
-    public static void testGenericTZName( Locale locale, String timezoneName,
-                                          int nameType, String expectedName ) throws RuntimeException {
-        if (testGeneric) {
-            String genericName = TimeZoneNameUtility.retrieveGenericDisplayName(timezoneName, nameType, locale);
-            //Check for equality
-            if (!genericName.equals(expectedName))
-                throw new RuntimeException( "Time zone ("+timezoneName+") name is incorrect for locale \""+locale.getDisplayName()
-                                            +"\" nameType: Generic"+"("+nameType+") Should be: " +expectedName+" Observed: "+genericName);
-        }
-    }
-
-    public static void testTZName( Locale locale, String timezoneName, boolean isDaylight,
-                                   int nameType, String expectedName ) throws RuntimeException {
-        if (!testGeneric) {
-            //Construct time zone objects
-            TimeZone zone = TimeZone.getTimeZone(timezoneName);
-            //Get name from JDK
-            String name = zone.getDisplayName(isDaylight, nameType, locale);
-            //Check for equality
-            if (!name.equals(expectedName))
-                throw new RuntimeException( "Time zone ("+timezoneName+") name is incorrect for locale: \""+locale.getDisplayName()
-                                            +"\" nameType:"+requestedTestType+" DST:"+isDaylight+" Should be: " +expectedName+" Observed: "+name);
-        }
-    }
-
-    public static boolean testPropertyEntry( Locale locale, String entry, String value ) {
-        boolean result = true;
-        String[] params = entry.split("\\.");
-        if (params.length != 3) {
-            System.out.println("Incorrect property file entry="+entry+" "+params.length);
-            result = false;
-        } else {
-            boolean isDaylight = true;
-            int nameType = TimeZone.LONG;
-
-            if (params[2].equals("short"))
-                nameType = TimeZone.SHORT;
-
-            if (params[1].equals("standard"))
-                isDaylight = false;
-
-            // Names with non-requested tz name type are ignored
-            if (requestedTestType.equals(params[2])) {
-                try {
-                    if (params[1].equals("generic"))
-                        testGenericTZName( locale, params[0], nameType, value );
-                    else
-                        testTZName( locale, params[0], isDaylight, nameType, value );
-                } catch (RuntimeException e) {
-                    System.out.println( "Test FAILED: "+e );
-                    result = false;
-                }
-            }
-        }
-        return result;
-    }
-
-    public static boolean testPropertyFile( String propFile, String shortName, Locale locale ) throws RuntimeException {
-        boolean result = true;
-        Properties property = new Properties();
-        try {
-            property.load( new FileInputStream(propFile) );
-        } catch (IOException e) {
-            throw new RuntimeException("Property file "+propFile+" is not found", e);
-        }
-        for (String key: property.stringPropertyNames()) {
-            result &= testPropertyEntry(locale, key, property.getProperty(key) );
-        }
-        return result;
-    }
-
-    // Locale to test, file with names data, test long/short names, test generic names (true/false)
-    static Object[][] testTargets = {
-        { Locale.ROOT,"TimeZoneNames.properties","long",false},
-        { Locale.ROOT,"TimeZoneNames_short.properties","short",false},
-        { Locale.ROOT,"TimeZoneNames.properties","long",true},
-        { Locale.ROOT,"TimeZoneNames_short.properties","short",true},
-
-        { new Locale("de"),"TimeZoneNames_de.properties","long",false},
-        { new Locale("de"),"TimeZoneNames_de_short.properties","short",false},
-        { new Locale("de"),"TimeZoneNames_de.properties","long",true},
-        { new Locale("de"),"TimeZoneNames_de_short.properties","short",true},
-
-        { new Locale("es"),"TimeZoneNames_es.properties","long",false},
-        { new Locale("es"),"TimeZoneNames_es_short.properties","short",false},
-        { new Locale("es"),"TimeZoneNames_es.properties","long",true},
-        { new Locale("es"),"TimeZoneNames_es_short.properties","short",true},
-
-        { new Locale("fr"),"TimeZoneNames_fr.properties","long",false},
-        { new Locale("fr"),"TimeZoneNames_fr_short.properties","short",false},
-        { new Locale("fr"),"TimeZoneNames_fr.properties","long",true},
-        { new Locale("fr"),"TimeZoneNames_fr_short.properties","short",true},
-
-        { new Locale("it"),"TimeZoneNames_it.properties","long",false},
-        { new Locale("it"),"TimeZoneNames_it_short.properties","short",false},
-        { new Locale("it"),"TimeZoneNames_it.properties","long",true},
-        { new Locale("it"),"TimeZoneNames_it_short.properties","short",true},
-
-        { new Locale("ja"),"TimeZoneNames_ja.properties","long",false},
-        { new Locale("ja"),"TimeZoneNames_ja_short.properties","short",false},
-        { new Locale("ja"),"TimeZoneNames_ja.properties","long",true},
-        { new Locale("ja"),"TimeZoneNames_ja_short.properties","short",true},
-
-        { new Locale("ko"),"TimeZoneNames_ko.properties","long",false},
-        { new Locale("ko"),"TimeZoneNames_ko_short.properties","short",false},
-        { new Locale("ko"),"TimeZoneNames_ko.properties","long",true},
-        { new Locale("ko"),"TimeZoneNames_ko_short.properties","short",true},
-
-        { new Locale("pt","BR"),"TimeZoneNames_pt_BR.properties","long",false},
-        { new Locale("pt","BR"),"TimeZoneNames_pt_BR_short.properties","short",false},
-        { new Locale("pt","BR"),"TimeZoneNames_pt_BR.properties","long",true},
-        { new Locale("pt","BR"),"TimeZoneNames_pt_BR_short.properties","short",true},
-
-        { new Locale("sv"),"TimeZoneNames_sv.properties","long",false},
-        { new Locale("sv"),"TimeZoneNames_sv_short.properties","short",false},
-        { new Locale("sv"),"TimeZoneNames_sv.properties","long",true},
-        { new Locale("sv"),"TimeZoneNames_sv_short.properties","short",true},
-
-        { new Locale("zh","CN"),"TimeZoneNames_zh_CN.properties","long",false},
-        { new Locale("zh","CN"),"TimeZoneNames_zh_CN_short.properties","short",false},
-        { new Locale("zh","CN"),"TimeZoneNames_zh_CN.properties","long",true},
-        { new Locale("zh","CN"),"TimeZoneNames_zh_CN_short.properties","short",true},
-
-        { new Locale("zh","TW"),"TimeZoneNames_zh_TW.properties","long",false},
-        { new Locale("zh","TW"),"TimeZoneNames_zh_TW_short.properties","short",false},
-        { new Locale("zh","TW"),"TimeZoneNames_zh_TW.properties","long",true},
-        { new Locale("zh","TW"),"TimeZoneNames_zh_TW_short.properties","short",true}
-    };
-
-    public static void main(String[] args) {
-        boolean result = true;
-
-        for (Object [] test: testTargets) {
-            Locale testLocale = (Locale) test[0];
-            String testFile = (String) test[1];
-            requestedTestType = (String) test[2];
-            testGeneric = (Boolean) test[3];
-            result &= testPropertyFile( System.getProperty("test.src",".")+"/"+testFile, testFile, testLocale);
-        }
-        if (!result)
-            throw new RuntimeException("Some time zones has unexpected names. Please, check test output.");
-    }
-}
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de.properties
deleted file mode 100644
index 432b127..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Zentrale Sommerzeit (Northern Territory)
-ACT.generic.long=Zentrale Zeitzone (Northern Territory)
-ACT.standard.long=Zentrale Normalzeit (Northern Territory)
-AET.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-AET.generic.long=\u00D6stliche Zeitzone (New South Wales)
-AET.standard.long=\u00D6stliche Normalzeit (New South Wales)
-AGT.generic.long=Argentinische Zeit
-ART.generic.long=Osteurop\u00E4ische Zeit
-AST.generic.long=Zeitzone f\u00FCr Alaska
-Africa/Abidjan.generic.long=Greenwich Zeit
-Africa/Accra.generic.long=Ghanaische Normalzeit
-Africa/Addis_Ababa.generic.long=Ostafrikanische Zeit
-Africa/Algiers.generic.long=Mitteleurop\u00E4ische Zeit
-Africa/Asmara.generic.long=Ostafrikanische Zeit
-Africa/Asmera.generic.long=Ostafrikanische Zeit
-Africa/Bamako.generic.long=Greenwich Zeit
-Africa/Bangui.generic.long=Westafrikanische Zeit
-Africa/Banjul.generic.long=Greenwich Zeit
-Africa/Bissau.generic.long=Greenwich Zeit
-Africa/Blantyre.generic.long=Zentralafrikanische Zeit
-Africa/Brazzaville.generic.long=Westafrikanische Zeit
-Africa/Bujumbura.generic.long=Zentralafrikanische Zeit
-Africa/Cairo.generic.long=Osteurop\u00E4ische Zeit
-Africa/Casablanca.generic.long=Westeurop\u00E4ische Zeit
-Africa/Ceuta.generic.long=Mitteleurop\u00E4ische Zeit
-Africa/Conakry.generic.long=Greenwich Zeit
-Africa/Dakar.generic.long=Greenwich Zeit
-Africa/Dar_es_Salaam.generic.long=Ostafrikanische Zeit
-Africa/Djibouti.generic.long=Ostafrikanische Zeit
-Africa/Douala.generic.long=Westafrikanische Zeit
-Africa/El_Aaiun.generic.long=Westeurop\u00E4ische Zeit
-Africa/Freetown.generic.long=Sierra Leone Zeit
-Africa/Gaborone.generic.long=Zentralafrikanische Zeit
-Africa/Harare.generic.long=Zentralafrikanische Zeit
-Africa/Johannesburg.generic.long=Zeitzone f\u00FCr S\u00FCdafrika
-Africa/Juba.generic.long=Ostafrikanische Zeit
-Africa/Kampala.generic.long=Ostafrikanische Zeit
-Africa/Khartoum.generic.long=Ostafrikanische Zeit
-Africa/Kigali.generic.long=Zentralafrikanische Zeit
-Africa/Kinshasa.generic.long=Westafrikanische Zeit
-Africa/Lagos.generic.long=Westafrikanische Zeit
-Africa/Libreville.generic.long=Westafrikanische Zeit
-Africa/Lome.generic.long=Greenwich Zeit
-Africa/Luanda.generic.long=Westafrikanische Zeit
-Africa/Lubumbashi.generic.long=Zentralafrikanische Zeit
-Africa/Lusaka.generic.long=Zentralafrikanische Zeit
-Africa/Malabo.generic.long=Westafrikanische Zeit
-Africa/Maputo.generic.long=Zentralafrikanische Zeit
-Africa/Maseru.generic.long=Zeitzone f\u00FCr S\u00FCdafrika
-Africa/Mbabane.generic.long=Zeitzone f\u00FCr S\u00FCdafrika
-Africa/Mogadishu.generic.long=Ostafrikanische Zeit
-Africa/Monrovia.generic.long=Greenwich Zeit
-Africa/Nairobi.generic.long=Ostafrikanische Zeit
-Africa/Ndjamena.generic.long=Westafrikanische Zeit
-Africa/Niamey.generic.long=Westafrikanische Zeit
-Africa/Nouakchott.generic.long=Greenwich Zeit
-Africa/Ouagadougou.generic.long=Greenwich Zeit
-Africa/Porto-Novo.generic.long=Westafrikanische Zeit
-Africa/Sao_Tome.generic.long=Greenwich Zeit
-Africa/Timbuktu.generic.long=Greenwich Zeit
-Africa/Tripoli.generic.long=Osteurop\u00e4ische Zeit
-Africa/Tunis.generic.long=Mitteleurop\u00E4ische Zeit
-Africa/Windhoek.generic.long=Westafrikanische Zeit
-America/Adak.generic.long=Zeitzone f\u00FCr Hawaii und Al\u00EButen
-America/Anchorage.generic.long=Zeitzone f\u00FCr Alaska
-America/Anguilla.generic.long=Zeitzone Atlantik
-America/Antigua.generic.long=Zeitzone Atlantik
-America/Araguaina.generic.long=Brasilianische Zeit
-America/Argentina/Buenos_Aires.generic.long=Argentinische Zeit
-America/Argentina/Catamarca.generic.long=Argentinische Zeit
-America/Argentina/ComodRivadavia.generic.long=Argentinische Zeit
-America/Argentina/Cordoba.generic.long=Argentinische Zeit
-America/Argentina/Jujuy.generic.long=Argentinische Zeit
-America/Argentina/La_Rioja.generic.long=Argentinische Zeit
-America/Argentina/Mendoza.generic.long=Argentinische Zeit
-America/Argentina/Rio_Gallegos.generic.long=Argentinische Zeit
-America/Argentina/Salta.generic.long=Argentinische Zeit
-America/Argentina/San_Juan.generic.long=Argentinische Zeit
-America/Argentina/San_Luis.generic.long=Argentinische Zeit
-America/Argentina/Tucuman.generic.long=Argentinische Zeit
-America/Argentina/Ushuaia.generic.long=Argentinische Zeit
-America/Aruba.generic.long=Zeitzone Atlantik
-America/Asuncion.generic.long=Paraguay Zeit
-America/Atikokan.generic.long=\u00D6stliche Zeitzone
-America/Atka.generic.long=Zeitzone f\u00FCr Hawaii und Al\u00EButen
-America/Bahia.generic.long=Brasilianische Zeit
-America/Bahia_Banderas.generic.long=Zentrale Zeitzone
-America/Barbados.generic.long=Zeitzone Atlantik
-America/Belem.generic.long=Brasilianische Zeit
-America/Belize.generic.long=Zentrale Zeitzone
-America/Blanc-Sablon.generic.long=Zeitzone Atlantik
-America/Boa_Vista.generic.long=Amazonas Normalzeit
-America/Bogota.generic.long=Kolumbianische Zeit
-America/Boise.generic.long=Zeitzone Mountain
-America/Buenos_Aires.generic.long=Argentinische Zeit
-America/Cambridge_Bay.generic.long=Zeitzone Mountain
-America/Campo_Grande.generic.long=Amazonas Normalzeit
-America/Cancun.generic.long=Zentrale Zeitzone
-America/Caracas.generic.long=Venezuelanische Zeit
-America/Catamarca.generic.long=Argentinische Zeit
-America/Cayenne.generic.long=Franz\u00F6sisch-Guiana Zeit
-America/Cayman.generic.long=\u00D6stliche Zeitzone
-America/Chicago.generic.long=Zentrale Zeitzone
-America/Chihuahua.generic.long=Zeitzone Mountain
-America/Coral_Harbour.generic.long=\u00D6stliche Zeitzone
-America/Cordoba.generic.long=Argentinische Zeit
-America/Costa_Rica.generic.long=Zentrale Zeitzone
-America/Creston.generic.long=Zeitzone Mountain
-America/Cuiaba.generic.long=Amazonas Normalzeit
-America/Curacao.generic.long=Zeitzone Atlantik
-America/Danmarkshavn.generic.long=Greenwich Zeit
-America/Dawson.generic.long=Zeitzone Pazifik
-America/Dawson_Creek.generic.long=Zeitzone Mountain
-America/Denver.generic.long=Zeitzone Mountain
-America/Detroit.generic.long=\u00D6stliche Zeitzone
-America/Dominica.generic.long=Zeitzone Atlantik
-America/Edmonton.generic.long=Zeitzone Mountain
-America/Eirunepe.generic.long=Acre Normalzeit
-America/El_Salvador.generic.long=Zentrale Zeitzone
-America/Ensenada.generic.long=Zeitzone Pazifik
-America/Fort_Wayne.generic.long=\u00D6stliche Zeitzone
-America/Fortaleza.generic.long=Brasilianische Zeit
-America/Glace_Bay.generic.long=Zeitzone Atlantik
-America/Godthab.generic.long=Westgr\u00F6nl\u00E4ndische Zeit
-America/Goose_Bay.generic.long=Zeitzone Atlantik
-America/Grand_Turk.generic.long=\u00D6stliche Zeitzone
-America/Grenada.generic.long=Zeitzone Atlantik
-America/Guadeloupe.generic.long=Zeitzone Atlantik
-America/Guatemala.generic.long=Zentrale Zeitzone
-America/Guayaquil.generic.long=Ecuadorianische Zeit
-America/Guyana.generic.long=Guyanische Zeit
-America/Halifax.generic.long=Zeitzone Atlantik
-America/Havana.generic.long=Kubanische Normalzeit
-America/Hermosillo.generic.long=Zeitzone Mountain
-America/Indiana/Indianapolis.generic.long=\u00D6stliche Zeitzone
-America/Indiana/Knox.generic.long=Zentrale Zeitzone
-America/Indiana/Marengo.generic.long=\u00D6stliche Zeitzone
-America/Indiana/Petersburg.generic.long=\u00D6stliche Zeitzone
-America/Indiana/Tell_City.generic.long=Zentrale Zeitzone
-America/Indiana/Vevay.generic.long=\u00D6stliche Zeitzone
-America/Indiana/Vincennes.generic.long=\u00D6stliche Zeitzone
-America/Indiana/Winamac.generic.long=\u00D6stliche Zeitzone
-America/Indianapolis.generic.long=\u00D6stliche Zeitzone
-America/Inuvik.generic.long=Zeitzone Mountain
-America/Iqaluit.generic.long=\u00D6stliche Zeitzone
-America/Jamaica.generic.long=\u00D6stliche Zeitzone
-America/Jujuy.generic.long=Argentinische Zeit
-America/Juneau.generic.long=Zeitzone f\u00FCr Alaska
-America/Kentucky/Louisville.generic.long=\u00D6stliche Zeitzone
-America/Kentucky/Monticello.generic.long=\u00D6stliche Zeitzone
-America/Knox_IN.generic.long=Zentrale Zeitzone
-America/Kralendijk.generic.long=Zeitzone Atlantik
-America/La_Paz.generic.long=Bolivianische Zeit
-America/Lima.generic.long=Peruanische Zeit
-America/Los_Angeles.generic.long=Zeitzone Pazifik
-America/Louisville.generic.long=\u00D6stliche Zeitzone
-America/Lower_Princes.generic.long=Zeitzone Atlantik
-America/Maceio.generic.long=Brasilianische Zeit
-America/Managua.generic.long=Zentrale Zeitzone
-America/Manaus.generic.long=Amazonas Normalzeit
-America/Marigot.generic.long=Zeitzone Atlantik
-America/Martinique.generic.long=Zeitzone Atlantik
-America/Matamoros.generic.long=Zentrale Zeitzone
-America/Mazatlan.generic.long=Zeitzone Mountain
-America/Mendoza.generic.long=Argentinische Zeit
-America/Menominee.generic.long=Zentrale Zeitzone
-America/Merida.generic.long=Zentrale Zeitzone
-America/Metlakatla.daylight.long=Metlakatla Sommerzeit
-America/Metlakatla.generic.long=Metlakatla Normalzeit
-America/Metlakatla.standard.long=Metlakatla Normalzeit
-America/Mexico_City.generic.long=Zentrale Zeitzone
-America/Miquelon.generic.long=Zeitzone f\u00FCr St. Pierre und Miquelon
-America/Moncton.generic.long=Zeitzone Atlantik
-America/Monterrey.generic.long=Zentrale Zeitzone
-America/Montevideo.generic.long=Uruguayanische Zeit
-America/Montreal.generic.long=\u00D6stliche Zeitzone
-America/Montserrat.generic.long=Zeitzone Atlantik
-America/Nassau.generic.long=\u00D6stliche Zeitzone
-America/New_York.generic.long=\u00D6stliche Zeitzone
-America/Nipigon.generic.long=\u00D6stliche Zeitzone
-America/Nome.generic.long=Zeitzone f\u00FCr Alaska
-America/Noronha.generic.long=Fernando de Noronha Zeit
-America/North_Dakota/Beulah.generic.long=Zentrale Zeitzone
-America/North_Dakota/Center.generic.long=Zentrale Zeitzone
-America/North_Dakota/New_Salem.generic.long=Zentrale Zeitzone
-America/Ojinaga.generic.long=Zeitzone Mountain
-America/Panama.generic.long=\u00D6stliche Zeitzone
-America/Pangnirtung.generic.long=\u00D6stliche Zeitzone
-America/Paramaribo.generic.long=Suriname Zeit
-America/Phoenix.generic.long=Zeitzone Mountain
-America/Port-au-Prince.generic.long=\u00D6stliche Zeitzone
-America/Port_of_Spain.generic.long=Zeitzone Atlantik
-America/Porto_Acre.generic.long=Acre Normalzeit
-America/Porto_Velho.generic.long=Amazonas Normalzeit
-America/Puerto_Rico.generic.long=Zeitzone Atlantik
-America/Rainy_River.generic.long=Zentrale Zeitzone
-America/Rankin_Inlet.generic.long=Zentrale Zeitzone
-America/Recife.generic.long=Brasilianische Zeit
-America/Regina.generic.long=Zentrale Zeitzone
-America/Resolute.generic.long=Zentrale Zeitzone
-America/Rio_Branco.generic.long=Acre Normalzeit
-America/Rosario.generic.long=Argentinische Zeit
-America/Santa_Isabel.generic.long=Zeitzone Pazifik
-America/Santarem.generic.long=Brasilianische Zeit
-America/Santiago.generic.long=Chilenische Zeit
-America/Santo_Domingo.generic.long=Zeitzone Atlantik
-America/Sao_Paulo.generic.long=Brasilianische Zeit
-America/Scoresbysund.generic.long=Ostgr\u00F6nl\u00E4ndische Zeit
-America/Shiprock.generic.long=Zeitzone Mountain
-America/Sitka.generic.long=Zeitzone f\u00FCr Alaska
-America/St_Barthelemy.generic.long=Zeitzone Atlantik
-America/St_Johns.generic.long=Zeitzone f\u00FCr Neufundland
-America/St_Kitts.generic.long=Zeitzone Atlantik
-America/St_Lucia.generic.long=Zeitzone Atlantik
-America/St_Thomas.generic.long=Zeitzone Atlantik
-America/St_Vincent.generic.long=Zeitzone Atlantik
-America/Swift_Current.generic.long=Zentrale Zeitzone
-America/Tegucigalpa.generic.long=Zentrale Zeitzone
-America/Thule.generic.long=Zeitzone Atlantik
-America/Thunder_Bay.generic.long=\u00D6stliche Zeitzone
-America/Tijuana.generic.long=Zeitzone Pazifik
-America/Toronto.generic.long=\u00D6stliche Zeitzone
-America/Tortola.generic.long=Zeitzone Atlantik
-America/Vancouver.generic.long=Zeitzone Pazifik
-America/Virgin.generic.long=Zeitzone Atlantik
-America/Whitehorse.generic.long=Zeitzone Pazifik
-America/Winnipeg.generic.long=Zentrale Zeitzone
-America/Yakutat.generic.long=Zeitzone f\u00FCr Alaska
-America/Yellowknife.generic.long=Zeitzone Mountain
-Antarctica/Casey.daylight.long=Westliche Sommerzeit (Australien)
-Antarctica/Casey.generic.long=Westliche Zeitzone (Australien)
-Antarctica/Casey.standard.long=Westliche Normalzeit (Australien)
-Antarctica/Davis.generic.long=Davis Zeit
-Antarctica/DumontDUrville.generic.long=Dumont-d'Urville Zeit
-Antarctica/Macquarie.daylight.long=Macquarieinsel Sommerzeit
-Antarctica/Macquarie.generic.long=Macquarieinsel Zeit
-Antarctica/Macquarie.standard.long=Macquarieinsel Zeit
-Antarctica/Mawson.generic.long=Mawson Zeit
-Antarctica/McMurdo.generic.long=Zeitzone f\u00FCr Neuseeland
-Antarctica/Palmer.generic.long=Chilenische Zeit
-Antarctica/Rothera.generic.long=Rothera Zeit
-Antarctica/South_Pole.generic.long=Zeitzone f\u00FCr Neuseeland
-Antarctica/Syowa.generic.long=Syowa Zeit
-Antarctica/Vostok.generic.long=Vostok Zeit
-Arctic/Longyearbyen.generic.long=Mitteleurop\u00E4ische Zeit
-Asia/Aden.generic.long=Zeitzone f\u00FCr Arabische Halbinsel
-Asia/Almaty.generic.long=Alma Ata Zeit
-Asia/Amman.generic.long=Zeitzone f\u00fcr Arabische Halbinsel
-Asia/Anadyr.generic.long=Anadyr Zeit
-Asia/Aqtau.generic.long=Aqtau Zeit
-Asia/Aqtobe.generic.long=Aqtobe Zeit
-Asia/Ashgabat.generic.long=Turkmenische Zeit
-Asia/Ashkhabad.generic.long=Turkmenische Zeit
-Asia/Baghdad.generic.long=Zeitzone f\u00FCr Arabische Halbinsel
-Asia/Bahrain.generic.long=Zeitzone f\u00FCr Arabische Halbinsel
-Asia/Baku.generic.long=Aserbaidschanische Zeit
-Asia/Bangkok.generic.long=Indochina Zeit
-Asia/Beirut.generic.long=Osteurop\u00E4ische Zeit
-Asia/Bishkek.generic.long=Kirgisische Zeit
-Asia/Brunei.generic.long=Brunei Zeit
-Asia/Calcutta.generic.long=Zeitzone f\u00FCr Indien
-Asia/Choibalsan.generic.long=Choibalsan Zeit
-Asia/Chongqing.generic.long=Zeitzone f\u00FCr China
-Asia/Chungking.generic.long=Zeitzone f\u00FCr China
-Asia/Colombo.generic.long=Zeitzone f\u00FCr Indien
-Asia/Dacca.generic.long=Bangladesch Zeit
-Asia/Damascus.generic.long=Osteurop\u00E4ische Zeit
-Asia/Dhaka.generic.long=Bangladesch Zeit
-Asia/Dili.generic.long=Timor-Leste Normalzeit
-Asia/Dubai.generic.long=Zeitzone f\u00FCr Persischen Golf
-Asia/Dushanbe.generic.long=Tadschikische Zeit
-Asia/Gaza.generic.long=Osteurop\u00E4ische Zeit
-Asia/Harbin.generic.long=Zeitzone f\u00FCr China
-Asia/Hebron.generic.long=Osteurop\u00E4ische Zeit
-Asia/Ho_Chi_Minh.generic.long=Indochina Zeit
-Asia/Hong_Kong.generic.long=Hongkong Zeit
-Asia/Hovd.generic.long=Hovd Zeit
-Asia/Irkutsk.generic.long=Irkutsk Zeit
-Asia/Istanbul.generic.long=Osteurop\u00E4ische Zeit
-Asia/Jakarta.generic.long=Westindonesische Zeit
-Asia/Jayapura.generic.long=Ostindonesische Zeit
-Asia/Jerusalem.generic.long=Zeitzone f\u00FCr Israel
-Asia/Kabul.generic.long=Afghanistanische Zeit
-Asia/Kamchatka.generic.long=Petropawlowsk-Kamtschatkische Zeit
-Asia/Karachi.generic.long=Pakistanische Zeit
-Asia/Kashgar.generic.long=Zeitzone f\u00FCr China
-Asia/Kathmandu.generic.long=Nepalesische Zeit
-Asia/Katmandu.generic.long=Nepalesische Zeit
-Asia/Khandyga.daylight.long=Chandyga Sommerzeit
-Asia/Khandyga.generic.long=Chandyga Zeit
-Asia/Khandyga.standard.long=Chandyga Zeit
-Asia/Kolkata.generic.long=Zeitzone f\u00FCr Indien
-Asia/Krasnoyarsk.generic.long=Krasnojarsker Zeit
-Asia/Kuala_Lumpur.generic.long=Malaysische Zeit
-Asia/Kuching.generic.long=Malaysische Zeit
-Asia/Kuwait.generic.long=Zeitzone f\u00FCr Arabische Halbinsel
-Asia/Macao.generic.long=Zeitzone f\u00FCr China
-Asia/Macau.generic.long=Zeitzone f\u00FCr China
-Asia/Magadan.generic.long=Magadanische Zeit
-Asia/Makassar.generic.long=Zentralindonesische Zeit
-Asia/Manila.generic.long=Philippinische Zeit
-Asia/Muscat.generic.long=Zeitzone f\u00FCr Persischen Golf
-Asia/Nicosia.generic.long=Osteurop\u00E4ische Zeit
-Asia/Novokuznetsk.generic.long=Nowosibirsker Zeit
-Asia/Novosibirsk.generic.long=Nowosibirsker Zeit
-Asia/Omsk.generic.long=Omsk Zeit
-Asia/Oral.generic.long=Oral Zeit
-Asia/Phnom_Penh.generic.long=Indochina Zeit
-Asia/Pontianak.generic.long=Westindonesische Zeit
-Asia/Pyongyang.generic.long=Zeitzone f\u00FCr Korea
-Asia/Qatar.generic.long=Zeitzone f\u00FCr Arabische Halbinsel
-Asia/Qyzylorda.generic.long=Qyzylorda Zeit
-Asia/Rangoon.generic.long=Myanmar Zeit
-Asia/Saigon.generic.long=Indochina Zeit
-Asia/Sakhalin.generic.long=Sakhalin Zeit
-Asia/Samarkand.generic.long=Usbekistan Zeit
-Asia/Seoul.generic.long=Zeitzone f\u00FCr Korea
-Asia/Shanghai.generic.long=Zeitzone f\u00FCr China
-Asia/Singapore.generic.long=Singapur Zeit
-Asia/Taipei.generic.long=Zeitzone f\u00FCr China
-Asia/Tashkent.generic.long=Usbekistan Zeit
-Asia/Tbilisi.generic.long=Georgische Zeit
-Asia/Tehran.generic.long=Iranische Zeit
-Asia/Tel_Aviv.generic.long=Zeitzone f\u00FCr Israel
-Asia/Thimbu.generic.long=Bhutanische Zeit
-Asia/Thimphu.generic.long=Bhutanische Zeit
-Asia/Tokyo.generic.long=Zeitzone f\u00FCr Japan
-Asia/Ujung_Pandang.generic.long=Zentralindonesische Zeit
-Asia/Ulaanbaatar.generic.long=Ulaanbaatar Zeit
-Asia/Ulan_Bator.generic.long=Ulaanbaatar Zeit
-Asia/Urumqi.generic.long=Zeitzone f\u00FCr China
-Asia/Ust-Nera.daylight.long=Ust-Nera Sommerzeit
-Asia/Ust-Nera.generic.long=Ust-Nera Zeit
-Asia/Ust-Nera.standard.long=Ust-Nera Zeit
-Asia/Vientiane.generic.long=Indochina Zeit
-Asia/Vladivostok.generic.long=Wladiwostok Zeit
-Asia/Yakutsk.generic.long=Jakutsk Zeit
-Asia/Yekaterinburg.generic.long=Jekaterinburger Zeit
-Asia/Yerevan.generic.long=Armenische Zeit
-Atlantic/Azores.generic.long=Azoren Zeit
-Atlantic/Bermuda.generic.long=Zeitzone Atlantik
-Atlantic/Canary.generic.long=Westeurop\u00E4ische Zeit
-Atlantic/Cape_Verde.generic.long=Kap Verde Zeit
-Atlantic/Faeroe.generic.long=Westeurop\u00E4ische Zeit
-Atlantic/Faroe.generic.long=Westeurop\u00E4ische Zeit
-Atlantic/Jan_Mayen.generic.long=Mitteleurop\u00E4ische Zeit
-Atlantic/Madeira.generic.long=Westeurop\u00E4ische Zeit
-Atlantic/Reykjavik.generic.long=Greenwich Zeit
-Atlantic/South_Georgia.generic.long=Zeitzone f\u00FCr S\u00FCdgeorgien
-Atlantic/St_Helena.generic.long=Greenwich Zeit
-Atlantic/Stanley.generic.long=Falkland Inseln Zeit
-Australia/ACT.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-Australia/ACT.generic.long=\u00D6stliche Zeitzone (New South Wales)
-Australia/ACT.standard.long=\u00D6stliche Normalzeit (New South Wales)
-Australia/Adelaide.daylight.long=Zentrale Sommerzeit (S\u00FCdaustralien)
-Australia/Adelaide.generic.long=Zentrale Zeitzone (S\u00FCdaustralien)
-Australia/Adelaide.standard.long=Zentrale Normalzeit (S\u00FCdaustralien)
-Australia/Brisbane.daylight.long=\u00D6stliche Sommerzeit (Queensland)
-Australia/Brisbane.generic.long=\u00D6stliche Zeitzone (Queensland)
-Australia/Brisbane.standard.long=\u00D6stliche Normalzeit (Queensland)
-Australia/Broken_Hill.daylight.long=Zentrale Sommerzeit (S\u00FCdaustralien/New South Wales)
-Australia/Broken_Hill.generic.long=Zentrale Zeitzone (S\u00FCdaustralien/New South Wales)
-Australia/Broken_Hill.standard.long=Zentrale Normalzeit (S\u00FCdaustralien/New South Wales)
-Australia/Canberra.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-Australia/Canberra.generic.long=\u00D6stliche Zeitzone (New South Wales)
-Australia/Canberra.standard.long=\u00D6stliche Normalzeit (New South Wales)
-Australia/Currie.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-Australia/Currie.generic.long=\u00D6stliche Zeitzone (New South Wales)
-Australia/Currie.standard.long=\u00D6stliche Normalzeit (New South Wales)
-Australia/Darwin.daylight.long=Zentrale Sommerzeit (Northern Territory)
-Australia/Darwin.generic.long=Zentrale Zeitzone (Northern Territory)
-Australia/Darwin.standard.long=Zentrale Normalzeit (Northern Territory)
-Australia/Eucla.daylight.long=Zentral-Westliche Sommerzeit (Australien)
-Australia/Eucla.generic.long=Zentral-Westliche Normalzeit (Australien)
-Australia/Eucla.standard.long=Zentral-Westliche Normalzeit (Australien)
-Australia/Hobart.daylight.long=\u00D6stliche Sommerzeit (Tasmanien)
-Australia/Hobart.generic.long=\u00D6stliche Zeitzone (Tasmanien)
-Australia/Hobart.standard.long=\u00D6stliche Normalzeit (Tasmanien)
-Australia/LHI.generic.long=Lord-Howe Normalzeit
-Australia/Lindeman.daylight.long=\u00D6stliche Sommerzeit (Queensland)
-Australia/Lindeman.generic.long=\u00D6stliche Zeitzone (Queensland)
-Australia/Lindeman.standard.long=\u00D6stliche Normalzeit (Queensland)
-Australia/Lord_Howe.generic.long=Lord-Howe Normalzeit
-Australia/Melbourne.daylight.long=\u00D6stliche Sommerzeit (Victoria)
-Australia/Melbourne.generic.long=\u00D6stliche Zeitzone (Victoria)
-Australia/Melbourne.standard.long=\u00D6stliche Normalzeit (Victoria)
-Australia/NSW.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-Australia/NSW.generic.long=\u00D6stliche Zeitzone (New South Wales)
-Australia/NSW.standard.long=\u00D6stliche Normalzeit (New South Wales)
-Australia/North.daylight.long=Zentrale Sommerzeit (Northern Territory)
-Australia/North.generic.long=Zentrale Zeitzone (Northern Territory)
-Australia/North.standard.long=Zentrale Normalzeit (Northern Territory)
-Australia/Perth.daylight.long=Westliche Sommerzeit (Australien)
-Australia/Perth.generic.long=Westliche Zeitzone (Australien)
-Australia/Perth.standard.long=Westliche Normalzeit (Australien)
-Australia/Queensland.daylight.long=\u00D6stliche Sommerzeit (Queensland)
-Australia/Queensland.generic.long=\u00D6stliche Zeitzone (Queensland)
-Australia/Queensland.standard.long=\u00D6stliche Normalzeit (Queensland)
-Australia/South.daylight.long=Zentrale Sommerzeit (S\u00FCdaustralien)
-Australia/South.generic.long=Zentrale Zeitzone (S\u00FCdaustralien)
-Australia/South.standard.long=Zentrale Normalzeit (S\u00FCdaustralien)
-Australia/Sydney.daylight.long=\u00D6stliche Sommerzeit (New South Wales)
-Australia/Sydney.generic.long=\u00D6stliche Zeitzone (New South Wales)
-Australia/Sydney.standard.long=\u00D6stliche Normalzeit (New South Wales)
-Australia/Tasmania.daylight.long=\u00D6stliche Sommerzeit (Tasmanien)
-Australia/Tasmania.generic.long=\u00D6stliche Zeitzone (Tasmanien)
-Australia/Tasmania.standard.long=\u00D6stliche Normalzeit (Tasmanien)
-Australia/Victoria.daylight.long=\u00D6stliche Sommerzeit (Victoria)
-Australia/Victoria.generic.long=\u00D6stliche Zeitzone (Victoria)
-Australia/Victoria.standard.long=\u00D6stliche Normalzeit (Victoria)
-Australia/West.daylight.long=Westliche Sommerzeit (Australien)
-Australia/West.generic.long=Westliche Zeitzone (Australien)
-Australia/West.standard.long=Westliche Normalzeit (Australien)
-Australia/Yancowinna.daylight.long=Zentrale Sommerzeit (S\u00FCdaustralien/New South Wales)
-Australia/Yancowinna.generic.long=Zentrale Zeitzone (S\u00FCdaustralien/New South Wales)
-Australia/Yancowinna.standard.long=Zentrale Normalzeit (S\u00FCdaustralien/New South Wales)
-BET.generic.long=Brasilianische Zeit
-BST.generic.long=Bangladesch Zeit
-Brazil/Acre.generic.long=Acre Normalzeit
-Brazil/DeNoronha.generic.long=Fernando de Noronha Zeit
-Brazil/East.generic.long=Brasilianische Zeit
-Brazil/West.generic.long=Amazonas Normalzeit
-CAT.generic.long=Zentralafrikanische Zeit
-CET.generic.long=Mitteleurop\u00e4ische Zeit
-CNT.generic.long=Zeitzone f\u00FCr Neufundland
-CST.generic.long=Zentrale Zeitzone
-CST6CDT.generic.long=Zentrale Zeitzone
-CTT.generic.long=Zeitzone f\u00FCr China
-Canada/Atlantic.generic.long=Zeitzone Atlantik
-Canada/Central.generic.long=Zentrale Zeitzone
-Canada/East-Saskatchewan.generic.long=Zentrale Zeitzone
-Canada/Eastern.generic.long=\u00D6stliche Zeitzone
-Canada/Mountain.generic.long=Zeitzone Mountain
-Canada/Newfoundland.generic.long=Zeitzone f\u00FCr Neufundland
-Canada/Pacific.generic.long=Zeitzone Pazifik
-Canada/Saskatchewan.generic.long=Zentrale Zeitzone
-Canada/Yukon.generic.long=Zeitzone Pazifik
-Chile/Continental.generic.long=Chilenische Zeit
-Chile/EasterIsland.generic.long=Osterinseln Zeit
-Cuba.generic.long=Kubanische Normalzeit
-EAT.generic.long=Ostafrikanische Zeit
-ECT.generic.long=Mitteleurop\u00E4ische Zeit
-EET.generic.long=Osteurop\u00e4ische Zeit
-EST.generic.long=\u00d6stliche Zeitzone
-EST5EDT.generic.long=\u00d6stliche Zeitzone
-Egypt.generic.long=Osteurop\u00E4ische Zeit
-Eire.generic.long=Irische Zeit
-Etc/Greenwich.generic.long=Greenwich Zeit
-Etc/UCT.generic.long=Koordinierte Universalzeit
-Etc/UTC.generic.long=Koordinierte Universalzeit
-Etc/Universal.generic.long=Koordinierte Universalzeit
-Etc/Zulu.generic.long=Koordinierte Universalzeit
-Europe/Amsterdam.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Andorra.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Athens.generic.long=Osteurop\u00E4ische Zeit
-Europe/Belfast.generic.long=Britische Zeit
-Europe/Belgrade.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Berlin.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Bratislava.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Brussels.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Bucharest.generic.long=Osteurop\u00E4ische Zeit
-Europe/Budapest.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Busingen.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Chisinau.generic.long=Osteurop\u00E4ische Zeit
-Europe/Copenhagen.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Dublin.generic.long=Irische Zeit
-Europe/Gibraltar.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Guernsey.generic.long=Britische Zeit
-Europe/Helsinki.generic.long=Osteurop\u00E4ische Zeit
-Europe/Isle_of_Man.generic.long=Britische Zeit
-Europe/Istanbul.generic.long=Osteurop\u00E4ische Zeit
-Europe/Jersey.generic.long=Britische Zeit
-Europe/Kaliningrad.daylight.long=Kaliningrader Sommerzeit
-Europe/Kaliningrad.generic.long=Kaliningrader Zeit
-Europe/Kaliningrad.standard.long=Kaliningrader Zeit
-Europe/Kiev.generic.long=Osteurop\u00E4ische Zeit
-Europe/Lisbon.generic.long=Westeurop\u00E4ische Zeit
-Europe/Ljubljana.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/London.generic.long=Britische Zeit
-Europe/Luxembourg.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Madrid.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Malta.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Mariehamn.generic.long=Osteurop\u00E4ische Zeit
-Europe/Minsk.daylight.long=Kaliningrader Sommerzeit
-Europe/Minsk.generic.long=Kaliningrader Zeit
-Europe/Minsk.standard.long=Kaliningrader Zeit
-Europe/Monaco.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Moscow.generic.long=Zeitzone f\u00FCr Moskau
-Europe/Nicosia.generic.long=Osteurop\u00E4ische Zeit
-Europe/Oslo.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Paris.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Podgorica.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Prague.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Riga.generic.long=Osteurop\u00E4ische Zeit
-Europe/Rome.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Samara.generic.long=Samarische Zeit
-Europe/San_Marino.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Sarajevo.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Simferopol.generic.long=Osteurop\u00E4ische Zeit
-Europe/Skopje.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Sofia.generic.long=Osteurop\u00E4ische Zeit
-Europe/Stockholm.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Tallinn.generic.long=Osteurop\u00E4ische Zeit
-Europe/Tirane.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Tiraspol.generic.long=Osteurop\u00E4ische Zeit
-Europe/Uzhgorod.generic.long=Osteurop\u00E4ische Zeit
-Europe/Vaduz.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Vatican.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Vienna.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Vilnius.generic.long=Osteurop\u00E4ische Zeit
-Europe/Volgograd.generic.long=Wolgograder Zeit
-Europe/Warsaw.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Zagreb.generic.long=Mitteleurop\u00E4ische Zeit
-Europe/Zaporozhye.generic.long=Osteurop\u00E4ische Zeit
-Europe/Zurich.generic.long=Mitteleurop\u00E4ische Zeit
-GB-Eire.generic.long=Britische Zeit
-GB.generic.long=Britische Zeit
-GMT.generic.long=Greenwich Zeit
-Greenwich.generic.long=Greenwich Zeit
-HST.generic.long=Zeitzone f\u00fcr Hawaii
-Hongkong.generic.long=Hongkong Zeit
-IET.generic.long=\u00D6stliche Zeitzone
-IST.generic.long=Zeitzone f\u00FCr Indien
-Iceland.generic.long=Greenwich Zeit
-Indian/Antananarivo.generic.long=Ostafrikanische Zeit
-Indian/Chagos.generic.long=Indischer Ozean Territorium Zeit
-Indian/Christmas.generic.long=Weihnachtsinseln Zeit
-Indian/Cocos.generic.long=Kokos-Inseln Zeit
-Indian/Comoro.generic.long=Ostafrikanische Zeit
-Indian/Kerguelen.generic.long=Franz\u00F6sisch S\u00FCd- u. Antarktische Landzeit
-Indian/Mahe.generic.long=Seychellen Zeit
-Indian/Maldives.generic.long=Maledivische Zeit
-Indian/Mauritius.generic.long=Mauritius Zeit
-Indian/Mayotte.generic.long=Ostafrikanische Zeit
-Indian/Reunion.generic.long=R\u00E9union Zeit
-Iran.generic.long=Iranische Zeit
-Israel.generic.long=Zeitzone f\u00FCr Israel
-JST.generic.long=Zeitzone f\u00FCr Japan
-Jamaica.generic.long=\u00D6stliche Zeitzone
-Japan.generic.long=Zeitzone f\u00FCr Japan
-Kwajalein.generic.long=Marshallinseln Zeit
-Libya.generic.long=Osteurop\u00e4ische Zeit
-MET.generic.long=MET
-MIT.generic.long=West Samoa Zeit
-MST.generic.long=Zeitzone Mountain
-MST7MDT.generic.long=Zeitzone Mountain
-Mexico/BajaNorte.generic.long=Zeitzone Pazifik
-Mexico/BajaSur.generic.long=Zeitzone Mountain
-Mexico/General.generic.long=Zentrale Zeitzone
-NET.generic.long=Armenische Zeit
-NST.generic.long=Zeitzone f\u00FCr Neuseeland
-NZ-CHAT.generic.long=Zeitzone f\u00FCr Chatham-Inseln
-NZ.generic.long=Zeitzone f\u00FCr Neuseeland
-Navajo.generic.long=Zeitzone Mountain
-PLT.generic.long=Pakistanische Zeit
-PNT.generic.long=Zeitzone Mountain
-PRC.generic.long=Zeitzone f\u00FCr China
-PRT.generic.long=Zeitzone Atlantik
-PST.generic.long=Zeitzone Pazifik
-PST8PDT.generic.long=Zeitzone Pazifik
-Pacific/Apia.generic.long=West Samoa Zeit
-Pacific/Auckland.generic.long=Zeitzone f\u00FCr Neuseeland
-Pacific/Chatham.generic.long=Zeitzone f\u00FCr Chatham-Inseln
-Pacific/Chuuk.daylight.long=Chuuk Sommerzeit
-Pacific/Chuuk.generic.long=Chuuk Zeit
-Pacific/Chuuk.standard.long=Chuuk Zeit
-Pacific/Easter.generic.long=Osterinseln Zeit
-Pacific/Efate.generic.long=Vanuatu Zeit
-Pacific/Enderbury.generic.long=Phoenix Inseln Zeit
-Pacific/Fakaofo.generic.long=Tokelau Zeit
-Pacific/Fiji.generic.long=Fidschi Zeit
-Pacific/Funafuti.generic.long=Tuvalu Zeit
-Pacific/Galapagos.generic.long=Galapagos Zeit
-Pacific/Gambier.generic.long=Gambier Zeit
-Pacific/Guadalcanal.generic.long=Salomoninseln Zeit
-Pacific/Guam.generic.long=Zeitzone f\u00FCr die Marianen
-Pacific/Honolulu.generic.long=Zeitzone f\u00FCr Hawaii
-Pacific/Johnston.generic.long=Zeitzone f\u00FCr Hawaii
-Pacific/Kiritimati.generic.long=Line Inseln Zeit
-Pacific/Kosrae.generic.long=Kosrae Zeit
-Pacific/Kwajalein.generic.long=Marshallinseln Zeit
-Pacific/Majuro.generic.long=Marshallinseln Zeit
-Pacific/Marquesas.generic.long=Marquesas Zeit
-Pacific/Midway.generic.long=Zeitzone f\u00FCr Samoa
-Pacific/Nauru.generic.long=Nauru Zeit
-Pacific/Niue.generic.long=Niue Zeit
-Pacific/Norfolk.generic.long=Norfolk Zeit
-Pacific/Noumea.generic.long=Neukaledonische Zeit
-Pacific/Pago_Pago.generic.long=Zeitzone f\u00FCr Samoa
-Pacific/Palau.generic.long=Palau Zeit
-Pacific/Pitcairn.generic.long=Zeitzone f\u00FCr Pitcairn
-Pacific/Pohnpei.daylight.long=Pohnpei Sommerzeit
-Pacific/Pohnpei.generic.long=Pohnpei-Inseln Zeit
-Pacific/Pohnpei.standard.long=Pohnpei Zeit
-Pacific/Ponape.daylight.long=Pohnpei Sommerzeit
-Pacific/Ponape.generic.long=Pohnpei-Inseln Zeit
-Pacific/Ponape.standard.long=Pohnpei Zeit
-Pacific/Port_Moresby.generic.long=Papua-Neuguinea Zeit
-Pacific/Rarotonga.generic.long=Cook-Inseln Zeit
-Pacific/Saipan.generic.long=Zeitzone f\u00FCr die Marianen
-Pacific/Samoa.generic.long=Zeitzone f\u00FCr Samoa
-Pacific/Tahiti.generic.long=Tahiti Zeit
-Pacific/Tarawa.generic.long=Gilbert-Inseln Zeit
-Pacific/Tongatapu.generic.long=Tonga Zeit
-Pacific/Truk.daylight.long=Chuuk Sommerzeit
-Pacific/Truk.generic.long=Chuuk Zeit
-Pacific/Truk.standard.long=Chuuk Zeit
-Pacific/Wake.generic.long=Wake Zeit
-Pacific/Wallis.generic.long=Wallis u. Futuna Zeit
-Pacific/Yap.daylight.long=Chuuk Sommerzeit
-Pacific/Yap.generic.long=Chuuk Zeit
-Pacific/Yap.standard.long=Chuuk Zeit
-Poland.generic.long=Mitteleurop\u00E4ische Zeit
-Portugal.generic.long=Westeurop\u00E4ische Zeit
-ROK.generic.long=Zeitzone f\u00FCr Korea
-SST.generic.long=Salomoninseln Zeit
-Singapore.generic.long=Singapur Zeit
-SystemV/AST4.generic.long=Zeitzone Atlantik
-SystemV/AST4ADT.generic.long=Zeitzone Atlantik
-SystemV/CST6.generic.long=Zentrale Zeitzone
-SystemV/CST6CDT.generic.long=Zentrale Zeitzone
-SystemV/EST5.generic.long=\u00D6stliche Zeitzone
-SystemV/EST5EDT.generic.long=\u00D6stliche Zeitzone
-SystemV/HST10.generic.long=Zeitzone f\u00FCr Hawaii
-SystemV/MST7.generic.long=Zeitzone Mountain
-SystemV/MST7MDT.generic.long=Zeitzone Mountain
-SystemV/PST8.generic.long=Zeitzone Pazifik
-SystemV/PST8PDT.generic.long=Zeitzone Pazifik
-SystemV/YST9.generic.long=Zeitzone f\u00FCr Alaska
-SystemV/YST9YDT.generic.long=Zeitzone f\u00FCr Alaska
-Turkey.generic.long=Osteurop\u00E4ische Zeit
-UCT.generic.long=Koordinierte Universalzeit
-US/Alaska.generic.long=Zeitzone f\u00FCr Alaska
-US/Aleutian.generic.long=Zeitzone f\u00FCr Hawaii und Al\u00EButen
-US/Arizona.generic.long=Zeitzone Mountain
-US/Central.generic.long=Zentrale Zeitzone
-US/East-Indiana.generic.long=\u00D6stliche Zeitzone
-US/Eastern.generic.long=\u00D6stliche Zeitzone
-US/Hawaii.generic.long=Zeitzone f\u00FCr Hawaii
-US/Indiana-Starke.generic.long=Zentrale Zeitzone
-US/Michigan.generic.long=\u00D6stliche Zeitzone
-US/Mountain.generic.long=Zeitzone Mountain
-US/Pacific-New.generic.long=Zeitzone Pazifik
-US/Pacific.generic.long=Zeitzone Pazifik
-US/Samoa.generic.long=Zeitzone f\u00FCr Samoa
-UTC.generic.long=Koordinierte Universalzeit
-Universal.generic.long=Koordinierte Universalzeit
-VST.generic.long=Indochina Zeit
-W-SU.generic.long=Zeitzone f\u00FCr Moskau
-WET.generic.long=Westeurop\u00e4ische Zeit
-Zulu.generic.long=Koordinierte Universalzeit
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de_short.properties
deleted file mode 100644
index 8bbaeb4..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_de_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=MESZ
-Africa/Algiers.generic.short=MEZ
-Africa/Algiers.standard.short=MEZ
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=OESZ
-Africa/Cairo.generic.short=OEZ
-Africa/Cairo.standard.short=OEZ
-Africa/Casablanca.daylight.short=WESZ
-Africa/Casablanca.generic.short=WEZ
-Africa/Casablanca.standard.short=WEZ
-Africa/Ceuta.daylight.short=MESZ
-Africa/Ceuta.generic.short=MEZ
-Africa/Ceuta.standard.short=MEZ
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WESZ
-Africa/El_Aaiun.generic.short=WEZ
-Africa/El_Aaiun.standard.short=WEZ
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=OESZ
-Africa/Tripoli.generic.short=OEZ
-Africa/Tripoli.standard.short=OEZ
-Africa/Tunis.daylight.short=MESZ
-Africa/Tunis.generic.short=MEZ
-Africa/Tunis.standard.short=MEZ
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=MESZ
-Arctic/Longyearbyen.generic.short=MEZ
-Arctic/Longyearbyen.standard.short=MEZ
-ART.daylight.short=OESZ
-ART.generic.short=OEZ
-ART.standard.short=OEZ
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=OESZ
-Asia/Beirut.generic.short=OEZ
-Asia/Beirut.standard.short=OEZ
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=OESZ
-Asia/Damascus.generic.short=OEZ
-Asia/Damascus.standard.short=OEZ
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=OESZ
-Asia/Gaza.generic.short=OEZ
-Asia/Gaza.standard.short=OEZ
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=OESZ
-Asia/Hebron.generic.short=OEZ
-Asia/Hebron.standard.short=OEZ
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=OESZ
-Asia/Istanbul.generic.short=OEZ
-Asia/Istanbul.standard.short=OEZ
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=OESZ
-Asia/Nicosia.generic.short=OEZ
-Asia/Nicosia.standard.short=OEZ
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WESZ
-Atlantic/Canary.generic.short=WEZ
-Atlantic/Canary.standard.short=WEZ
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WESZ
-Atlantic/Faeroe.generic.short=WEZ
-Atlantic/Faeroe.standard.short=WEZ
-Atlantic/Faroe.daylight.short=WESZ
-Atlantic/Faroe.generic.short=WEZ
-Atlantic/Faroe.standard.short=WEZ
-Atlantic/Jan_Mayen.daylight.short=MESZ
-Atlantic/Jan_Mayen.generic.short=MEZ
-Atlantic/Jan_Mayen.standard.short=MEZ
-Atlantic/Madeira.daylight.short=WESZ
-Atlantic/Madeira.generic.short=WEZ
-Atlantic/Madeira.standard.short=WEZ
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=MESZ
-CET.generic.short=MEZ
-CET.standard.short=MEZ
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=MESZ
-ECT.generic.short=MEZ
-ECT.standard.short=MEZ
-EET.daylight.short=OESZ
-EET.generic.short=OEZ
-EET.standard.short=OEZ
-Egypt.daylight.short=OESZ
-Egypt.generic.short=OEZ
-Egypt.standard.short=OEZ
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=MESZ
-Europe/Amsterdam.generic.short=MEZ
-Europe/Amsterdam.standard.short=MEZ
-Europe/Andorra.daylight.short=MESZ
-Europe/Andorra.generic.short=MEZ
-Europe/Andorra.standard.short=MEZ
-Europe/Athens.daylight.short=OESZ
-Europe/Athens.generic.short=OEZ
-Europe/Athens.standard.short=OEZ
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=MESZ
-Europe/Belgrade.generic.short=MEZ
-Europe/Belgrade.standard.short=MEZ
-Europe/Berlin.daylight.short=MESZ
-Europe/Berlin.generic.short=MEZ
-Europe/Berlin.standard.short=MEZ
-Europe/Bratislava.daylight.short=MESZ
-Europe/Bratislava.generic.short=MEZ
-Europe/Bratislava.standard.short=MEZ
-Europe/Brussels.daylight.short=MESZ
-Europe/Brussels.generic.short=MEZ
-Europe/Brussels.standard.short=MEZ
-Europe/Bucharest.daylight.short=OESZ
-Europe/Bucharest.generic.short=OEZ
-Europe/Bucharest.standard.short=OEZ
-Europe/Budapest.daylight.short=MESZ
-Europe/Budapest.generic.short=MEZ
-Europe/Budapest.standard.short=MEZ
-Europe/Busingen.daylight.short=MESZ
-Europe/Busingen.generic.short=MEZ
-Europe/Busingen.standard.short=MEZ
-Europe/Chisinau.daylight.short=OESZ
-Europe/Chisinau.generic.short=OEZ
-Europe/Chisinau.standard.short=OEZ
-Europe/Copenhagen.daylight.short=MESZ
-Europe/Copenhagen.generic.short=MEZ
-Europe/Copenhagen.standard.short=MEZ
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=MESZ
-Europe/Gibraltar.generic.short=MEZ
-Europe/Gibraltar.standard.short=MEZ
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=OESZ
-Europe/Helsinki.generic.short=OEZ
-Europe/Helsinki.standard.short=OEZ
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=OESZ
-Europe/Istanbul.generic.short=OEZ
-Europe/Istanbul.standard.short=OEZ
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=OESZ
-Europe/Kiev.generic.short=OEZ
-Europe/Kiev.standard.short=OEZ
-Europe/Lisbon.daylight.short=WESZ
-Europe/Lisbon.generic.short=WEZ
-Europe/Lisbon.standard.short=WEZ
-Europe/Ljubljana.daylight.short=MESZ
-Europe/Ljubljana.generic.short=MEZ
-Europe/Ljubljana.standard.short=MEZ
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=MESZ
-Europe/Luxembourg.generic.short=MEZ
-Europe/Luxembourg.standard.short=MEZ
-Europe/Madrid.daylight.short=MESZ
-Europe/Madrid.generic.short=MEZ
-Europe/Madrid.standard.short=MEZ
-Europe/Malta.daylight.short=MESZ
-Europe/Malta.generic.short=MEZ
-Europe/Malta.standard.short=MEZ
-Europe/Mariehamn.daylight.short=OESZ
-Europe/Mariehamn.generic.short=OEZ
-Europe/Mariehamn.standard.short=OEZ
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=MESZ
-Europe/Monaco.generic.short=MEZ
-Europe/Monaco.standard.short=MEZ
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=OESZ
-Europe/Nicosia.generic.short=OEZ
-Europe/Nicosia.standard.short=OEZ
-Europe/Oslo.daylight.short=MESZ
-Europe/Oslo.generic.short=MEZ
-Europe/Oslo.standard.short=MEZ
-Europe/Paris.daylight.short=MESZ
-Europe/Paris.generic.short=MEZ
-Europe/Paris.standard.short=MEZ
-Europe/Podgorica.daylight.short=MESZ
-Europe/Podgorica.generic.short=MEZ
-Europe/Podgorica.standard.short=MEZ
-Europe/Prague.daylight.short=MESZ
-Europe/Prague.generic.short=MEZ
-Europe/Prague.standard.short=MEZ
-Europe/Riga.daylight.short=OESZ
-Europe/Riga.generic.short=OEZ
-Europe/Riga.standard.short=OEZ
-Europe/Rome.daylight.short=MESZ
-Europe/Rome.generic.short=MEZ
-Europe/Rome.standard.short=MEZ
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=MESZ
-Europe/San_Marino.generic.short=MEZ
-Europe/San_Marino.standard.short=MEZ
-Europe/Sarajevo.daylight.short=MESZ
-Europe/Sarajevo.generic.short=MEZ
-Europe/Sarajevo.standard.short=MEZ
-Europe/Simferopol.daylight.short=OESZ
-Europe/Simferopol.generic.short=OEZ
-Europe/Simferopol.standard.short=OEZ
-Europe/Skopje.daylight.short=MESZ
-Europe/Skopje.generic.short=MEZ
-Europe/Skopje.standard.short=MEZ
-Europe/Sofia.daylight.short=OESZ
-Europe/Sofia.generic.short=OEZ
-Europe/Sofia.standard.short=OEZ
-Europe/Stockholm.daylight.short=MESZ
-Europe/Stockholm.generic.short=MEZ
-Europe/Stockholm.standard.short=MEZ
-Europe/Tallinn.daylight.short=OESZ
-Europe/Tallinn.generic.short=OEZ
-Europe/Tallinn.standard.short=OEZ
-Europe/Tirane.daylight.short=MESZ
-Europe/Tirane.generic.short=MEZ
-Europe/Tirane.standard.short=MEZ
-Europe/Tiraspol.daylight.short=OESZ
-Europe/Tiraspol.generic.short=OEZ
-Europe/Tiraspol.standard.short=OEZ
-Europe/Uzhgorod.daylight.short=OESZ
-Europe/Uzhgorod.generic.short=OEZ
-Europe/Uzhgorod.standard.short=OEZ
-Europe/Vaduz.daylight.short=MESZ
-Europe/Vaduz.generic.short=MEZ
-Europe/Vaduz.standard.short=MEZ
-Europe/Vatican.daylight.short=MESZ
-Europe/Vatican.generic.short=MEZ
-Europe/Vatican.standard.short=MEZ
-Europe/Vienna.daylight.short=MESZ
-Europe/Vienna.generic.short=MEZ
-Europe/Vienna.standard.short=MEZ
-Europe/Vilnius.daylight.short=OESZ
-Europe/Vilnius.generic.short=OEZ
-Europe/Vilnius.standard.short=OEZ
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=MESZ
-Europe/Warsaw.generic.short=MEZ
-Europe/Warsaw.standard.short=MEZ
-Europe/Zagreb.daylight.short=MESZ
-Europe/Zagreb.generic.short=MEZ
-Europe/Zagreb.standard.short=MEZ
-Europe/Zaporozhye.daylight.short=OESZ
-Europe/Zaporozhye.generic.short=OEZ
-Europe/Zaporozhye.standard.short=OEZ
-Europe/Zurich.daylight.short=MESZ
-Europe/Zurich.generic.short=MEZ
-Europe/Zurich.standard.short=MEZ
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=OESZ
-Libya.generic.short=OEZ
-Libya.standard.short=OEZ
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=MESZ
-Poland.generic.short=MEZ
-Poland.standard.short=MEZ
-Portugal.daylight.short=WESZ
-Portugal.generic.short=WEZ
-Portugal.standard.short=WEZ
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=OESZ
-Turkey.generic.short=OEZ
-Turkey.standard.short=OEZ
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WESZ
-WET.generic.short=WEZ
-WET.standard.short=WEZ
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es.properties
deleted file mode 100644
index 830f0d2..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Hora de verano Central (territorio del Norte)
-ACT.generic.long=Hora Central (Territorio Septentrional)
-ACT.standard.long=Hora est\u00E1ndar Central (territorio del Norte)
-AET.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-AET.generic.long=Hora Oriental (Nueva Gales del Sur)
-AET.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-AGT.generic.long=Hora de Argentina
-ART.generic.long=Hora de Europa Oriental
-AST.generic.long=Hora de Alaska
-Africa/Abidjan.generic.long=Hora del Meridiano de Greenwich
-Africa/Accra.generic.long=Hora central de Ghana
-Africa/Addis_Ababa.generic.long=Hora de \u00C1frica Oriental
-Africa/Algiers.generic.long=Hora de Europa Central
-Africa/Asmara.generic.long=Hora de \u00C1frica Oriental
-Africa/Asmera.generic.long=Hora de \u00C1frica Oriental
-Africa/Bamako.generic.long=Hora del Meridiano de Greenwich
-Africa/Bangui.generic.long=Hora de \u00C1frica Occidental
-Africa/Banjul.generic.long=Hora del Meridiano de Greenwich
-Africa/Bissau.generic.long=Hora del Meridiano de Greenwich
-Africa/Blantyre.generic.long=Hora de \u00C1frica Central
-Africa/Brazzaville.generic.long=Hora de \u00C1frica Occidental
-Africa/Bujumbura.generic.long=Hora de \u00C1frica Central
-Africa/Cairo.generic.long=Hora de Europa Oriental
-Africa/Casablanca.generic.long=Hora de Europa Occidental
-Africa/Ceuta.generic.long=Hora de Europa Central
-Africa/Conakry.generic.long=Hora del Meridiano de Greenwich
-Africa/Dakar.generic.long=Hora del Meridiano de Greenwich
-Africa/Dar_es_Salaam.generic.long=Hora de \u00C1frica Oriental
-Africa/Djibouti.generic.long=Hora de \u00C1frica Oriental
-Africa/Douala.generic.long=Hora de \u00C1frica Occidental
-Africa/El_Aaiun.generic.long=Hora de Europa Occidental
-Africa/Freetown.generic.long=Horario de Sierra Leona
-Africa/Gaborone.generic.long=Hora de \u00C1frica Central
-Africa/Harare.generic.long=Hora de \u00C1frica Central
-Africa/Johannesburg.generic.long=Hora de Sud\u00E1frica
-Africa/Juba.generic.long=Hora de \u00C1frica Oriental
-Africa/Kampala.generic.long=Hora de \u00C1frica Oriental
-Africa/Khartoum.generic.long=Hora de \u00C1frica Oriental
-Africa/Kigali.generic.long=Hora de \u00C1frica Central
-Africa/Kinshasa.generic.long=Hora de \u00C1frica Occidental
-Africa/Lagos.generic.long=Hora de \u00C1frica Occidental
-Africa/Libreville.generic.long=Hora de \u00C1frica Occidental
-Africa/Lome.generic.long=Hora del Meridiano de Greenwich
-Africa/Luanda.generic.long=Hora de \u00C1frica Occidental
-Africa/Lubumbashi.generic.long=Hora de \u00C1frica Central
-Africa/Lusaka.generic.long=Hora de \u00C1frica Central
-Africa/Malabo.generic.long=Hora de \u00C1frica Occidental
-Africa/Maputo.generic.long=Hora de \u00C1frica Central
-Africa/Maseru.generic.long=Hora de Sud\u00E1frica
-Africa/Mbabane.generic.long=Hora de Sud\u00E1frica
-Africa/Mogadishu.generic.long=Hora de \u00C1frica Oriental
-Africa/Monrovia.generic.long=Hora del Meridiano de Greenwich
-Africa/Nairobi.generic.long=Hora de \u00C1frica Oriental
-Africa/Ndjamena.generic.long=Hora de \u00C1frica Occidental
-Africa/Niamey.generic.long=Hora de \u00C1frica Occidental
-Africa/Nouakchott.generic.long=Hora del Meridiano de Greenwich
-Africa/Ouagadougou.generic.long=Hora del Meridiano de Greenwich
-Africa/Porto-Novo.generic.long=Hora de \u00C1frica Occidental
-Africa/Sao_Tome.generic.long=Hora del Meridiano de Greenwich
-Africa/Timbuktu.generic.long=Hora del Meridiano de Greenwich
-Africa/Tripoli.generic.long=Hora de Europa Oriental
-Africa/Tunis.generic.long=Hora de Europa Central
-Africa/Windhoek.generic.long=Hora de \u00C1frica Occidental
-America/Adak.generic.long=Hora de Hawaii-Aleutian
-America/Anchorage.generic.long=Hora de Alaska
-America/Anguilla.generic.long=Hora del Atl\u00E1ntico
-America/Antigua.generic.long=Hora del Atl\u00E1ntico
-America/Araguaina.generic.long=Hora de Brasil
-America/Argentina/Buenos_Aires.generic.long=Hora de Argentina
-America/Argentina/Catamarca.generic.long=Hora de Argentina
-America/Argentina/ComodRivadavia.generic.long=Hora de Argentina
-America/Argentina/Cordoba.generic.long=Hora de Argentina
-America/Argentina/Jujuy.generic.long=Hora de Argentina
-America/Argentina/La_Rioja.generic.long=Hora de Argentina
-America/Argentina/Mendoza.generic.long=Hora de Argentina
-America/Argentina/Rio_Gallegos.generic.long=Hora de Argentina
-America/Argentina/Salta.generic.long=Hora de Argentina
-America/Argentina/San_Juan.generic.long=Hora de Argentina
-America/Argentina/San_Luis.generic.long=Hora de Argentina
-America/Argentina/Tucuman.generic.long=Hora de Argentina
-America/Argentina/Ushuaia.generic.long=Hora de Argentina
-America/Aruba.generic.long=Hora del Atl\u00E1ntico
-America/Asuncion.generic.long=Hora de Paraguay
-America/Atikokan.generic.long=Hora Oriental
-America/Atka.generic.long=Hora de Hawaii-Aleutian
-America/Bahia.generic.long=Hora de Brasil
-America/Bahia_Banderas.generic.long=Hora Central
-America/Barbados.generic.long=Hora del Atl\u00E1ntico
-America/Belem.generic.long=Hora de Brasil
-America/Belize.generic.long=Hora Central
-America/Blanc-Sablon.generic.long=Hora del Atl\u00E1ntico
-America/Boa_Vista.generic.long=Hora est\u00E1ndar de Amazonia
-America/Bogota.generic.long=Hora de Colombia
-America/Boise.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Buenos_Aires.generic.long=Hora de Argentina
-America/Cambridge_Bay.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Campo_Grande.generic.long=Hora est\u00E1ndar de Amazonia
-America/Cancun.generic.long=Hora Central
-America/Caracas.generic.long=Hora de Venezuela
-America/Catamarca.generic.long=Hora de Argentina
-America/Cayenne.generic.long=Hora de la Guayana Francesa
-America/Cayman.generic.long=Hora Oriental
-America/Chicago.generic.long=Hora Central
-America/Chihuahua.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Coral_Harbour.generic.long=Hora Oriental
-America/Cordoba.generic.long=Hora de Argentina
-America/Costa_Rica.generic.long=Hora Central
-America/Creston.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Cuiaba.generic.long=Hora est\u00E1ndar de Amazonia
-America/Curacao.generic.long=Hora del Atl\u00E1ntico
-America/Danmarkshavn.generic.long=Hora del Meridiano de Greenwich
-America/Dawson.generic.long=Hora del Pac\u00EDfico
-America/Dawson_Creek.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Denver.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Detroit.generic.long=Hora Oriental
-America/Dominica.generic.long=Hora del Atl\u00E1ntico
-America/Edmonton.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Eirunepe.generic.long=Hora de Acre
-America/El_Salvador.generic.long=Hora Central
-America/Ensenada.generic.long=Hora del Pac\u00EDfico
-America/Fort_Wayne.generic.long=Hora Oriental
-America/Fortaleza.generic.long=Hora de Brasil
-America/Glace_Bay.generic.long=Hora del Atl\u00E1ntico
-America/Godthab.generic.long=Hora de Groenlandia Occidental
-America/Goose_Bay.generic.long=Hora del Atl\u00E1ntico
-America/Grand_Turk.generic.long=Hora Oriental
-America/Grenada.generic.long=Hora del Atl\u00E1ntico
-America/Guadeloupe.generic.long=Hora del Atl\u00E1ntico
-America/Guatemala.generic.long=Hora Central
-America/Guayaquil.generic.long=Hora de Ecuador
-America/Guyana.generic.long=Hora de Guyana
-America/Halifax.generic.long=Hora del Atl\u00E1ntico
-America/Havana.generic.long=Hora de Cuba
-America/Hermosillo.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Indiana/Indianapolis.generic.long=Hora Oriental
-America/Indiana/Knox.generic.long=Hora Central
-America/Indiana/Marengo.generic.long=Hora Oriental
-America/Indiana/Petersburg.generic.long=Hora Oriental
-America/Indiana/Tell_City.generic.long=Hora Central
-America/Indiana/Vevay.generic.long=Hora Oriental
-America/Indiana/Vincennes.generic.long=Hora Oriental
-America/Indiana/Winamac.generic.long=Hora Oriental
-America/Indianapolis.generic.long=Hora Oriental
-America/Inuvik.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Iqaluit.generic.long=Hora Oriental
-America/Jamaica.generic.long=Hora Oriental
-America/Jujuy.generic.long=Hora de Argentina
-America/Juneau.generic.long=Hora de Alaska
-America/Kentucky/Louisville.generic.long=Hora Oriental
-America/Kentucky/Monticello.generic.long=Hora Oriental
-America/Knox_IN.generic.long=Hora Central
-America/Kralendijk.generic.long=Hora del Atl\u00E1ntico
-America/La_Paz.generic.long=Hora de Bolivia
-America/Lima.generic.long=Hora de Per\u00FA
-America/Los_Angeles.generic.long=Hora del Pac\u00EDfico
-America/Louisville.generic.long=Hora Oriental
-America/Lower_Princes.generic.long=Hora del Atl\u00E1ntico
-America/Maceio.generic.long=Hora de Brasil
-America/Managua.generic.long=Hora Central
-America/Manaus.generic.long=Hora est\u00E1ndar de Amazonia
-America/Marigot.generic.long=Hora del Atl\u00E1ntico
-America/Martinique.generic.long=Hora del Atl\u00E1ntico
-America/Matamoros.generic.long=Hora Central
-America/Mazatlan.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Mendoza.generic.long=Hora de Argentina
-America/Menominee.generic.long=Hora Central
-America/Merida.generic.long=Hora Central
-America/Metlakatla.daylight.long=Hora de verano de Metlakatla
-America/Metlakatla.generic.long=Metlakatla Time
-America/Metlakatla.standard.long=Hora de Metlakatla
-America/Mexico_City.generic.long=Hora Central
-America/Miquelon.generic.long=Hora de San Pedro y Miquel\u00F3n
-America/Moncton.generic.long=Hora del Atl\u00E1ntico
-America/Monterrey.generic.long=Hora Central
-America/Montevideo.generic.long=Hora de Uruguay
-America/Montreal.generic.long=Hora Oriental
-America/Montserrat.generic.long=Hora del Atl\u00E1ntico
-America/Nassau.generic.long=Hora Oriental
-America/New_York.generic.long=Hora Oriental
-America/Nipigon.generic.long=Hora Oriental
-America/Nome.generic.long=Hora de Alaska
-America/Noronha.generic.long=Hora de Fernando de Noronha
-America/North_Dakota/Beulah.generic.long=Hora Central
-America/North_Dakota/Center.generic.long=Hora Central
-America/North_Dakota/New_Salem.generic.long=Hora Central
-America/Ojinaga.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Panama.generic.long=Hora Oriental
-America/Pangnirtung.generic.long=Hora Oriental
-America/Paramaribo.generic.long=Hora de Surinam
-America/Phoenix.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Port-au-Prince.generic.long=Hora Oriental
-America/Port_of_Spain.generic.long=Hora del Atl\u00E1ntico
-America/Porto_Acre.generic.long=Hora de Acre
-America/Porto_Velho.generic.long=Hora est\u00E1ndar de Amazonia
-America/Puerto_Rico.generic.long=Hora del Atl\u00E1ntico
-America/Rainy_River.generic.long=Hora Central
-America/Rankin_Inlet.generic.long=Hora Central
-America/Recife.generic.long=Hora de Brasil
-America/Regina.generic.long=Hora Central
-America/Resolute.generic.long=Hora Central
-America/Rio_Branco.generic.long=Hora de Acre
-America/Rosario.generic.long=Hora de Argentina
-America/Santa_Isabel.generic.long=Hora del Pac\u00EDfico
-America/Santarem.generic.long=Hora de Brasil
-America/Santiago.generic.long=Hora de Chile
-America/Santo_Domingo.generic.long=Hora del Atl\u00E1ntico
-America/Sao_Paulo.generic.long=Hora de Brasil
-America/Scoresbysund.generic.long=Hora de Groenlandia Oriental
-America/Shiprock.generic.long=Hora de las Monta\u00F1as Rocosas
-America/Sitka.generic.long=Hora de Alaska
-America/St_Barthelemy.generic.long=Hora del Atl\u00E1ntico
-America/St_Johns.generic.long=Hora de Terranova
-America/St_Kitts.generic.long=Hora del Atl\u00E1ntico
-America/St_Lucia.generic.long=Hora del Atl\u00E1ntico
-America/St_Thomas.generic.long=Hora del Atl\u00E1ntico
-America/St_Vincent.generic.long=Hora del Atl\u00E1ntico
-America/Swift_Current.generic.long=Hora Central
-America/Tegucigalpa.generic.long=Hora Central
-America/Thule.generic.long=Hora del Atl\u00E1ntico
-America/Thunder_Bay.generic.long=Hora Oriental
-America/Tijuana.generic.long=Hora del Pac\u00EDfico
-America/Toronto.generic.long=Hora Oriental
-America/Tortola.generic.long=Hora del Atl\u00E1ntico
-America/Vancouver.generic.long=Hora del Pac\u00EDfico
-America/Virgin.generic.long=Hora del Atl\u00E1ntico
-America/Whitehorse.generic.long=Hora del Pac\u00EDfico
-America/Winnipeg.generic.long=Hora Central
-America/Yakutat.generic.long=Hora de Alaska
-America/Yellowknife.generic.long=Hora de las Monta\u00F1as Rocosas
-Antarctica/Casey.daylight.long=Hora de verano Occidental (Australia)
-Antarctica/Casey.generic.long=Hora Occidental (Australia)
-Antarctica/Casey.standard.long=Hora est\u00E1ndar Occidental (Australia)
-Antarctica/Davis.generic.long=Hora de Davis
-Antarctica/DumontDUrville.generic.long=Hora de Dumont-d'Urville
-Antarctica/Macquarie.daylight.long=Hora de verano de Isla Macquarie
-Antarctica/Macquarie.generic.long=Hora de Isla Macquarie
-Antarctica/Macquarie.standard.long=Hora de Isla Macquarie
-Antarctica/Mawson.generic.long=Hora de Mawson
-Antarctica/McMurdo.generic.long=Hora de Nueva Zelanda
-Antarctica/Palmer.generic.long=Hora de Chile
-Antarctica/Rothera.generic.long=Hora de Rothera
-Antarctica/South_Pole.generic.long=Hora de Nueva Zelanda
-Antarctica/Syowa.generic.long=Hora de Syowa
-Antarctica/Vostok.generic.long=Hora de Vostok
-Arctic/Longyearbyen.generic.long=Hora de Europa Central
-Asia/Aden.generic.long=Hora de Arabia
-Asia/Almaty.generic.long=Hora de Alma-Ata
-Asia/Amman.generic.long=Hora de Arabia
-Asia/Anadyr.generic.long=Hora de Anadyr
-Asia/Aqtau.generic.long=Hora de Aqtau
-Asia/Aqtobe.generic.long=Hora de Aqtobe
-Asia/Ashgabat.generic.long=Hora de Turkmenist\u00E1n
-Asia/Ashkhabad.generic.long=Hora de Turkmenist\u00E1n
-Asia/Baghdad.generic.long=Hora de Arabia
-Asia/Bahrain.generic.long=Hora de Arabia
-Asia/Baku.generic.long=Hora de Azerbaiy\u00E1n
-Asia/Bangkok.generic.long=Hora de Indochina
-Asia/Beirut.generic.long=Hora de Europa Oriental
-Asia/Bishkek.generic.long=Hora de Kirguizist\u00E1n
-Asia/Brunei.generic.long=Hora de Brunei
-Asia/Calcutta.generic.long=Hora de India
-Asia/Choibalsan.generic.long=Hora de Choibalsan
-Asia/Chongqing.generic.long=Hora de China
-Asia/Chungking.generic.long=Hora de China
-Asia/Colombo.generic.long=Hora de India
-Asia/Dacca.generic.long=Hora de Bangladesh
-Asia/Damascus.generic.long=Hora de Europa Oriental
-Asia/Dhaka.generic.long=Hora de Bangladesh
-Asia/Dili.generic.long=Hora de Timor Leste
-Asia/Dubai.generic.long=Hora del Golfo
-Asia/Dushanbe.generic.long=Hora de Tajikist\u00E1n
-Asia/Gaza.generic.long=Hora de Europa Oriental
-Asia/Harbin.generic.long=Hora de China
-Asia/Hebron.generic.long=Hora de Europa Oriental
-Asia/Ho_Chi_Minh.generic.long=Hora de Indochina
-Asia/Hong_Kong.generic.long=Hora de Hong Kong
-Asia/Hovd.generic.long=Hora de Hovd
-Asia/Irkutsk.generic.long=Hora de Irkutsk
-Asia/Istanbul.generic.long=Hora de Europa Oriental
-Asia/Jakarta.generic.long=Hora de Indonesia Occidental
-Asia/Jayapura.generic.long=Hora de Indonesia Oriental
-Asia/Jerusalem.generic.long=Hora de Israel
-Asia/Kabul.generic.long=Hora de Afganist\u00E1n
-Asia/Kamchatka.generic.long=Hora de Petropavlovsk-Kamchatski
-Asia/Karachi.generic.long=Hora de Pakist\u00E1n
-Asia/Kashgar.generic.long=Hora de China
-Asia/Kathmandu.generic.long=Hora de Nepal
-Asia/Katmandu.generic.long=Hora de Nepal
-Asia/Khandyga.daylight.long=Hora de verano de Khandyga
-Asia/Khandyga.generic.long=Hora de Khandyga
-Asia/Khandyga.standard.long=Hora de Khandyga
-Asia/Kolkata.generic.long=Hora de India
-Asia/Krasnoyarsk.generic.long=Hora de Krasnoyarsk
-Asia/Kuala_Lumpur.generic.long=Hora de Malasia
-Asia/Kuching.generic.long=Hora de Malasia
-Asia/Kuwait.generic.long=Hora de Arabia
-Asia/Macao.generic.long=Hora de China
-Asia/Macau.generic.long=Hora de China
-Asia/Magadan.generic.long=Hora de Magad\u00E1n
-Asia/Makassar.generic.long=Hora de Indonesia Central
-Asia/Manila.generic.long=Hora de Filipinas
-Asia/Muscat.generic.long=Hora del Golfo
-Asia/Nicosia.generic.long=Hora de Europa Oriental
-Asia/Novokuznetsk.generic.long=Hora de Novosibirsk
-Asia/Novosibirsk.generic.long=Hora de Novosibirsk
-Asia/Omsk.generic.long=Hora de Omsk
-Asia/Oral.generic.long=Hora de Uralsk
-Asia/Phnom_Penh.generic.long=Hora de Indochina
-Asia/Pontianak.generic.long=Hora de Indonesia Occidental
-Asia/Pyongyang.generic.long=Hora de Corea
-Asia/Qatar.generic.long=Hora de Arabia
-Asia/Qyzylorda.generic.long=Hora de Qyzylorda
-Asia/Rangoon.generic.long=Hora de Myanmar
-Asia/Saigon.generic.long=Hora de Indochina
-Asia/Sakhalin.generic.long=Hora de Sajalin
-Asia/Samarkand.generic.long=Hora de Uzbekist\u00E1n
-Asia/Seoul.generic.long=Hora de Corea
-Asia/Shanghai.generic.long=Hora de China
-Asia/Singapore.generic.long=Hora de Singapur
-Asia/Taipei.generic.long=Hora de China
-Asia/Tashkent.generic.long=Hora de Uzbekist\u00E1n
-Asia/Tbilisi.generic.long=Hora de Georgia
-Asia/Tehran.generic.long=Hora de Ir\u00E1n
-Asia/Tel_Aviv.generic.long=Hora de Israel
-Asia/Thimbu.generic.long=Hora de But\u00E1n
-Asia/Thimphu.generic.long=Hora de But\u00E1n
-Asia/Tokyo.generic.long=Hora de Jap\u00F3n
-Asia/Ujung_Pandang.generic.long=Hora de Indonesia Central
-Asia/Ulaanbaatar.generic.long=Hora de Ulan Bator
-Asia/Ulan_Bator.generic.long=Hora de Ulan Bator
-Asia/Urumqi.generic.long=Hora de China
-Asia/Ust-Nera.daylight.long=Hora de verano de Ust-Nera
-Asia/Ust-Nera.generic.long=Hora de Ust-Nera
-Asia/Ust-Nera.standard.long=Hora de Ust-Nera
-Asia/Vientiane.generic.long=Hora de Indochina
-Asia/Vladivostok.generic.long=Hora de Vladivostok
-Asia/Yakutsk.generic.long=Hora de Yakutsk
-Asia/Yekaterinburg.generic.long=Hora de Ekaterinburgo
-Asia/Yerevan.generic.long=Hora de Armenia
-Atlantic/Azores.generic.long=Hora de Azores
-Atlantic/Bermuda.generic.long=Hora del Atl\u00E1ntico
-Atlantic/Canary.generic.long=Hora de Europa Occidental
-Atlantic/Cape_Verde.generic.long=Hora de Cabo Verde
-Atlantic/Faeroe.generic.long=Hora de Europa Occidental
-Atlantic/Faroe.generic.long=Hora de Europa Occidental
-Atlantic/Jan_Mayen.generic.long=Hora de Europa Central
-Atlantic/Madeira.generic.long=Hora de Europa Occidental
-Atlantic/Reykjavik.generic.long=Hora del Meridiano de Greenwich
-Atlantic/South_Georgia.generic.long=Hora de Georgia del Sur
-Atlantic/St_Helena.generic.long=Hora del Meridiano de Greenwich
-Atlantic/Stanley.generic.long=Hora de las islas Malvinas
-Australia/ACT.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-Australia/ACT.generic.long=Hora Oriental (Nueva Gales del Sur)
-Australia/ACT.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-Australia/Adelaide.daylight.long=Hora de verano Central (Sur de Australia)
-Australia/Adelaide.generic.long=Hora Central (Australia del Sur)
-Australia/Adelaide.standard.long=Hora est\u00E1ndar Central (Sur de Australia)
-Australia/Brisbane.daylight.long=Hora est\u00E1ndar de verano del Este (Queensland)
-Australia/Brisbane.generic.long=Hora Oriental (Queensland)
-Australia/Brisbane.standard.long=Hora est\u00E1ndar del Este (Queensland)
-Australia/Broken_Hill.daylight.long=Hora de verano Central (Sur de Australia/Nueva Gales del Sur)
-Australia/Broken_Hill.generic.long=Hora Central (Australia del Sur/Nueva Gales del Sur)
-Australia/Broken_Hill.standard.long=Hora est\u00E1ndar Central (Sur de Australia/Nueva Gales del Sur)
-Australia/Canberra.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-Australia/Canberra.generic.long=Hora Oriental (Nueva Gales del Sur)
-Australia/Canberra.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-Australia/Currie.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-Australia/Currie.generic.long=Hora Oriental (Nueva Gales del Sur)
-Australia/Currie.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-Australia/Darwin.daylight.long=Hora de verano Central (territorio del Norte)
-Australia/Darwin.generic.long=Hora Central (Territorio Septentrional)
-Australia/Darwin.standard.long=Hora est\u00E1ndar Central (territorio del Norte)
-Australia/Eucla.daylight.long=Hora est\u00E1ndar de verano de Australia Central y Occidental
-Australia/Eucla.generic.long=Hora de Australia Central y Occidental
-Australia/Eucla.standard.long=Hora est\u00E1ndar de Australia Central y Occidental
-Australia/Hobart.daylight.long=Hora de verano del Este (Tasmania)
-Australia/Hobart.generic.long=Hora Oriental (Tasmania)
-Australia/Hobart.standard.long=Hora est\u00E1ndar del Este (Tasmania)
-Australia/LHI.generic.long=Hora de Lord Howe
-Australia/Lindeman.daylight.long=Hora est\u00E1ndar de verano del Este (Queensland)
-Australia/Lindeman.generic.long=Hora Oriental (Queensland)
-Australia/Lindeman.standard.long=Hora est\u00E1ndar del Este (Queensland)
-Australia/Lord_Howe.generic.long=Hora de Lord Howe
-Australia/Melbourne.daylight.long=Hora de verano del Este (Victoria)
-Australia/Melbourne.generic.long=Hora Oriental (Victoria)
-Australia/Melbourne.standard.long=Hora est\u00E1ndar del Este (Victoria)
-Australia/NSW.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-Australia/NSW.generic.long=Hora Oriental (Nueva Gales del Sur)
-Australia/NSW.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-Australia/North.daylight.long=Hora de verano Central (territorio del Norte)
-Australia/North.generic.long=Hora Central (Territorio Septentrional)
-Australia/North.standard.long=Hora est\u00E1ndar Central (territorio del Norte)
-Australia/Perth.daylight.long=Hora de verano Occidental (Australia)
-Australia/Perth.generic.long=Hora Occidental (Australia)
-Australia/Perth.standard.long=Hora est\u00E1ndar Occidental (Australia)
-Australia/Queensland.daylight.long=Hora est\u00E1ndar de verano del Este (Queensland)
-Australia/Queensland.generic.long=Hora Oriental (Queensland)
-Australia/Queensland.standard.long=Hora est\u00E1ndar del Este (Queensland)
-Australia/South.daylight.long=Hora de verano Central (Sur de Australia)
-Australia/South.generic.long=Hora Central (Australia del Sur)
-Australia/South.standard.long=Hora est\u00E1ndar Central (Sur de Australia)
-Australia/Sydney.daylight.long=Hora de verano Oriental (Nueva Gales del Sur)
-Australia/Sydney.generic.long=Hora Oriental (Nueva Gales del Sur)
-Australia/Sydney.standard.long=Hora est\u00E1ndar Oriental (Nueva Gales del Sur)
-Australia/Tasmania.daylight.long=Hora de verano del Este (Tasmania)
-Australia/Tasmania.generic.long=Hora Oriental (Tasmania)
-Australia/Tasmania.standard.long=Hora est\u00E1ndar del Este (Tasmania)
-Australia/Victoria.daylight.long=Hora de verano del Este (Victoria)
-Australia/Victoria.generic.long=Hora Oriental (Victoria)
-Australia/Victoria.standard.long=Hora est\u00E1ndar del Este (Victoria)
-Australia/West.daylight.long=Hora de verano Occidental (Australia)
-Australia/West.generic.long=Hora Occidental (Australia)
-Australia/West.standard.long=Hora est\u00E1ndar Occidental (Australia)
-Australia/Yancowinna.daylight.long=Hora de verano Central (Sur de Australia/Nueva Gales del Sur)
-Australia/Yancowinna.generic.long=Hora Central (Australia del Sur/Nueva Gales del Sur)
-Australia/Yancowinna.standard.long=Hora est\u00E1ndar Central (Sur de Australia/Nueva Gales del Sur)
-BET.generic.long=Hora de Brasil
-BST.generic.long=Hora de Bangladesh
-Brazil/Acre.generic.long=Hora de Acre
-Brazil/DeNoronha.generic.long=Hora de Fernando de Noronha
-Brazil/East.generic.long=Hora de Brasil
-Brazil/West.generic.long=Hora est\u00E1ndar de Amazonia
-CAT.generic.long=Hora de \u00C1frica Central
-CET.generic.long=Hora de Europa Central
-CNT.generic.long=Hora de Terranova
-CST.generic.long=Hora Central
-CST6CDT.generic.long=Hora Central
-CTT.generic.long=Hora de China
-Canada/Atlantic.generic.long=Hora del Atl\u00E1ntico
-Canada/Central.generic.long=Hora Central
-Canada/East-Saskatchewan.generic.long=Hora Central
-Canada/Eastern.generic.long=Hora Oriental
-Canada/Mountain.generic.long=Hora de las Monta\u00F1as Rocosas
-Canada/Newfoundland.generic.long=Hora de Terranova
-Canada/Pacific.generic.long=Hora del Pac\u00EDfico
-Canada/Saskatchewan.generic.long=Hora Central
-Canada/Yukon.generic.long=Hora del Pac\u00EDfico
-Chile/Continental.generic.long=Hora de Chile
-Chile/EasterIsland.generic.long=Hora de la Isla de Pascua
-Cuba.generic.long=Hora de Cuba
-EAT.generic.long=Hora de \u00C1frica Oriental
-ECT.generic.long=Hora de Europa Central
-EET.generic.long=Hora de Europa Oriental
-EST.generic.long=Hora Oriental
-EST5EDT.generic.long=Hora Oriental
-Egypt.generic.long=Hora de Europa Oriental
-Eire.generic.long=Hora de Irlanda
-Etc/Greenwich.generic.long=Hora del Meridiano de Greenwich
-Etc/UCT.generic.long=Hora Universal Coordinada
-Etc/UTC.generic.long=Hora Universal Coordinada
-Etc/Universal.generic.long=Hora Universal Coordinada
-Etc/Zulu.generic.long=Hora Universal Coordinada
-Europe/Amsterdam.generic.long=Hora de Europa Central
-Europe/Andorra.generic.long=Hora de Europa Central
-Europe/Athens.generic.long=Hora de Europa Oriental
-Europe/Belfast.generic.long=Hora de Gran Breta\u00F1a
-Europe/Belgrade.generic.long=Hora de Europa Central
-Europe/Berlin.generic.long=Hora de Europa Central
-Europe/Bratislava.generic.long=Hora de Europa Central
-Europe/Brussels.generic.long=Hora de Europa Central
-Europe/Bucharest.generic.long=Hora de Europa Oriental
-Europe/Budapest.generic.long=Hora de Europa Central
-Europe/Busingen.generic.long=Hora de Europa Central
-Europe/Chisinau.generic.long=Hora de Europa Oriental
-Europe/Copenhagen.generic.long=Hora de Europa Central
-Europe/Dublin.generic.long=Hora de Irlanda
-Europe/Gibraltar.generic.long=Hora de Europa Central
-Europe/Guernsey.generic.long=Hora de Gran Breta\u00F1a
-Europe/Helsinki.generic.long=Hora de Europa Oriental
-Europe/Isle_of_Man.generic.long=Hora de Gran Breta\u00F1a
-Europe/Istanbul.generic.long=Hora de Europa Oriental
-Europe/Jersey.generic.long=Hora de Gran Breta\u00F1a
-Europe/Kaliningrad.daylight.long=Hora de verano de Europa m\u00E1s Oriental
-Europe/Kaliningrad.generic.long=Hora de Europa m\u00E1s Oriental
-Europe/Kaliningrad.standard.long=Hora de Europa m\u00E1s Oriental
-Europe/Kiev.generic.long=Hora de Europa Oriental
-Europe/Lisbon.generic.long=Hora de Europa Occidental
-Europe/Ljubljana.generic.long=Hora de Europa Central
-Europe/London.generic.long=Hora de Gran Breta\u00F1a
-Europe/Luxembourg.generic.long=Hora de Europa Central
-Europe/Madrid.generic.long=Hora de Europa Central
-Europe/Malta.generic.long=Hora de Europa Central
-Europe/Mariehamn.generic.long=Hora de Europa Oriental
-Europe/Minsk.daylight.long=Hora de verano de Europa m\u00E1s Oriental
-Europe/Minsk.generic.long=Hora de Europa m\u00E1s Oriental
-Europe/Minsk.standard.long=Hora de Europa m\u00E1s Oriental
-Europe/Monaco.generic.long=Hora de Europa Central
-Europe/Moscow.generic.long=Hora de Mosc\u00FA
-Europe/Nicosia.generic.long=Hora de Europa Oriental
-Europe/Oslo.generic.long=Hora de Europa Central
-Europe/Paris.generic.long=Hora de Europa Central
-Europe/Podgorica.generic.long=Hora de Europa Central
-Europe/Prague.generic.long=Hora de Europa Central
-Europe/Riga.generic.long=Hora de Europa Oriental
-Europe/Rome.generic.long=Hora de Europa Central
-Europe/Samara.generic.long=Hora de Samara
-Europe/San_Marino.generic.long=Hora de Europa Central
-Europe/Sarajevo.generic.long=Hora de Europa Central
-Europe/Simferopol.generic.long=Hora de Europa Oriental
-Europe/Skopje.generic.long=Hora de Europa Central
-Europe/Sofia.generic.long=Hora de Europa Oriental
-Europe/Stockholm.generic.long=Hora de Europa Central
-Europe/Tallinn.generic.long=Hora de Europa Oriental
-Europe/Tirane.generic.long=Hora de Europa Central
-Europe/Tiraspol.generic.long=Hora de Europa Oriental
-Europe/Uzhgorod.generic.long=Hora de Europa Oriental
-Europe/Vaduz.generic.long=Hora de Europa Central
-Europe/Vatican.generic.long=Hora de Europa Central
-Europe/Vienna.generic.long=Hora de Europa Central
-Europe/Vilnius.generic.long=Hora de Europa Oriental
-Europe/Volgograd.generic.long=Hora de Volgogrado
-Europe/Warsaw.generic.long=Hora de Europa Central
-Europe/Zagreb.generic.long=Hora de Europa Central
-Europe/Zaporozhye.generic.long=Hora de Europa Oriental
-Europe/Zurich.generic.long=Hora de Europa Central
-GB-Eire.generic.long=Hora de Gran Breta\u00F1a
-GB.generic.long=Hora de Gran Breta\u00F1a
-GMT.generic.long=Hora del Meridiano de Greenwich
-Greenwich.generic.long=Hora del Meridiano de Greenwich
-HST.generic.long=Hora de Hawaii
-Hongkong.generic.long=Hora de Hong Kong
-IET.generic.long=Hora Oriental
-IST.generic.long=Hora de India
-Iceland.generic.long=Hora del Meridiano de Greenwich
-Indian/Antananarivo.generic.long=Hora de \u00C1frica Oriental
-Indian/Chagos.generic.long=Hora del Territorio del Oc\u00E9ano \u00CDndico
-Indian/Christmas.generic.long=Hora de la isla de Christmas
-Indian/Cocos.generic.long=Hora de las islas Cocos
-Indian/Comoro.generic.long=Hora de \u00C1frica Oriental
-Indian/Kerguelen.generic.long=Hora de los Territorios Franceses del Sur y de la Ant\u00E1rtida
-Indian/Mahe.generic.long=Hora de Seychelles
-Indian/Maldives.generic.long=Hora de Maldivas
-Indian/Mauritius.generic.long=Hora de Mauricio
-Indian/Mayotte.generic.long=Hora de \u00C1frica Oriental
-Indian/Reunion.generic.long=Hora de Reuni\u00F3n
-Iran.generic.long=Hora de Ir\u00E1n
-Israel.generic.long=Hora de Israel
-JST.generic.long=Hora de Jap\u00F3n
-Jamaica.generic.long=Hora Oriental
-Japan.generic.long=Hora de Jap\u00F3n
-Kwajalein.generic.long=Hora de Islas Marshall
-Libya.generic.long=Hora de Europa Oriental
-MET.generic.long=MET
-MIT.generic.long=Hora de Samoa Occidental
-MST.generic.long=Hora de las Monta\u00f1as Rocosas
-MST7MDT.generic.long=Hora de las Monta\u00f1as Rocosas
-Mexico/BajaNorte.generic.long=Hora del Pac\u00EDfico
-Mexico/BajaSur.generic.long=Hora de las Monta\u00F1as Rocosas
-Mexico/General.generic.long=Hora Central
-NET.generic.long=Hora de Armenia
-NST.generic.long=Hora de Nueva Zelanda
-NZ-CHAT.generic.long=Hora de Chatam
-NZ.generic.long=Hora de Nueva Zelanda
-Navajo.generic.long=Hora de las Monta\u00F1as Rocosas
-PLT.generic.long=Hora de Pakist\u00E1n
-PNT.generic.long=Hora de las Monta\u00F1as Rocosas
-PRC.generic.long=Hora de China
-PRT.generic.long=Hora del Atl\u00E1ntico
-PST.generic.long=Hora del Pac\u00EDfico
-PST8PDT.generic.long=Hora del Pac\u00edfico
-Pacific/Apia.generic.long=Hora de Samoa Occidental
-Pacific/Auckland.generic.long=Hora de Nueva Zelanda
-Pacific/Chatham.generic.long=Hora de Chatam
-Pacific/Chuuk.daylight.long=Hora de verano de Chuuk
-Pacific/Chuuk.generic.long=Hora de Chuuk
-Pacific/Chuuk.standard.long=Hora de Chuuk
-Pacific/Easter.generic.long=Hora de la Isla de Pascua
-Pacific/Efate.generic.long=Hora de Vanuatu
-Pacific/Enderbury.generic.long=Hora de la isla Phoenix
-Pacific/Fakaofo.generic.long=Hora de Tokelau
-Pacific/Fiji.generic.long=Hora de Fiji
-Pacific/Funafuti.generic.long=Hora de Tuvalu
-Pacific/Galapagos.generic.long=Hora de Gal\u00E1pagos
-Pacific/Gambier.generic.long=Hora de Gambier
-Pacific/Guadalcanal.generic.long=Hora de las Islas Solomon
-Pacific/Guam.generic.long=Hora de Chamorro
-Pacific/Honolulu.generic.long=Hora de Hawaii
-Pacific/Johnston.generic.long=Hora de Hawaii
-Pacific/Kiritimati.generic.long=Hora de las islas Line
-Pacific/Kosrae.generic.long=Hora de Kosrae
-Pacific/Kwajalein.generic.long=Hora de Islas Marshall
-Pacific/Majuro.generic.long=Hora de Islas Marshall
-Pacific/Marquesas.generic.long=Hora de Marquesas
-Pacific/Midway.generic.long=Hora de Samoa
-Pacific/Nauru.generic.long=Hora de Nauru
-Pacific/Niue.generic.long=Hora de Niue
-Pacific/Norfolk.generic.long=Hora de Norfolk
-Pacific/Noumea.generic.long=Hora de Nueva Caledonia
-Pacific/Pago_Pago.generic.long=Hora de Samoa
-Pacific/Palau.generic.long=Hora de Palau
-Pacific/Pitcairn.generic.long=Hora de Islas Pitcairn
-Pacific/Pohnpei.daylight.long=Hora de verano de Pohnpei
-Pacific/Pohnpei.generic.long=Hora de Pohnpei
-Pacific/Pohnpei.standard.long=Hora de Pohnpei
-Pacific/Ponape.daylight.long=Hora de verano de Pohnpei
-Pacific/Ponape.generic.long=Hora de Pohnpei
-Pacific/Ponape.standard.long=Hora de Pohnpei
-Pacific/Port_Moresby.generic.long=Hora de Pap\u00FAa-Nueva Guinea
-Pacific/Rarotonga.generic.long=Hora de las islas Cook
-Pacific/Saipan.generic.long=Hora de Chamorro
-Pacific/Samoa.generic.long=Hora de Samoa
-Pacific/Tahiti.generic.long=Hora de Tahit\u00ED
-Pacific/Tarawa.generic.long=Hora de las islas Gilbert
-Pacific/Tongatapu.generic.long=Hora de Tonga
-Pacific/Truk.daylight.long=Hora de verano de Chuuk
-Pacific/Truk.generic.long=Hora de Chuuk
-Pacific/Truk.standard.long=Hora de Chuuk
-Pacific/Wake.generic.long=Hora de Wake
-Pacific/Wallis.generic.long=Hora de Wallis y Futuna
-Pacific/Yap.daylight.long=Hora de verano de Chuuk
-Pacific/Yap.generic.long=Hora de Chuuk
-Pacific/Yap.standard.long=Hora de Chuuk
-Poland.generic.long=Hora de Europa Central
-Portugal.generic.long=Hora de Europa Occidental
-ROK.generic.long=Hora de Corea
-SST.generic.long=Hora de las Islas Solomon
-Singapore.generic.long=Hora de Singapur
-SystemV/AST4.generic.long=Hora del Atl\u00E1ntico
-SystemV/AST4ADT.generic.long=Hora del Atl\u00E1ntico
-SystemV/CST6.generic.long=Hora Central
-SystemV/CST6CDT.generic.long=Hora Central
-SystemV/EST5.generic.long=Hora Oriental
-SystemV/EST5EDT.generic.long=Hora Oriental
-SystemV/HST10.generic.long=Hora de Hawaii
-SystemV/MST7.generic.long=Hora de las Monta\u00F1as Rocosas
-SystemV/MST7MDT.generic.long=Hora de las Monta\u00F1as Rocosas
-SystemV/PST8.generic.long=Hora del Pac\u00EDfico
-SystemV/PST8PDT.generic.long=Hora del Pac\u00EDfico
-SystemV/YST9.generic.long=Hora de Alaska
-SystemV/YST9YDT.generic.long=Hora de Alaska
-Turkey.generic.long=Hora de Europa Oriental
-UCT.generic.long=Hora Universal Coordinada
-US/Alaska.generic.long=Hora de Alaska
-US/Aleutian.generic.long=Hora de Hawaii-Aleutian
-US/Arizona.generic.long=Hora de las Monta\u00F1as Rocosas
-US/Central.generic.long=Hora Central
-US/East-Indiana.generic.long=Hora Oriental
-US/Eastern.generic.long=Hora Oriental
-US/Hawaii.generic.long=Hora de Hawaii
-US/Indiana-Starke.generic.long=Hora Central
-US/Michigan.generic.long=Hora Oriental
-US/Mountain.generic.long=Hora de las Monta\u00F1as Rocosas
-US/Pacific-New.generic.long=Hora del Pac\u00EDfico
-US/Pacific.generic.long=Hora del Pac\u00EDfico
-US/Samoa.generic.long=Hora de Samoa
-UTC.generic.long=Hora Universal Coordinada
-Universal.generic.long=Hora Universal Coordinada
-VST.generic.long=Hora de Indochina
-W-SU.generic.long=Hora de Mosc\u00FA
-WET.generic.long=Hora de Europa Occidental
-Zulu.generic.long=Hora Universal Coordinada
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_es_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr.properties
deleted file mode 100644
index 6389940..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Territoire du Nord)
-ACT.generic.long=Centre (Territoire du Nord)
-ACT.standard.long=Heure standard d'Australie centrale (Territoire du Nord)
-AET.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-AET.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-AET.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-AGT.generic.long=Heure d'Argentine
-ART.generic.long=Heure d'Europe de l'Est
-AST.generic.long=Alaska
-Africa/Abidjan.generic.long=Heure de Greenwich
-Africa/Accra.generic.long=Heure du Ghana
-Africa/Addis_Ababa.generic.long=Heure d'Afrique de l'Est
-Africa/Algiers.generic.long=Heure d'Europe centrale
-Africa/Asmara.generic.long=Heure d'Afrique de l'Est
-Africa/Asmera.generic.long=Heure d'Afrique de l'Est
-Africa/Bamako.generic.long=Heure de Greenwich
-Africa/Bangui.generic.long=Heure d'Afrique de l'Ouest
-Africa/Banjul.generic.long=Heure de Greenwich
-Africa/Bissau.generic.long=Heure de Greenwich
-Africa/Blantyre.generic.long=Heure d'Afrique centrale
-Africa/Brazzaville.generic.long=Heure d'Afrique de l'Ouest
-Africa/Bujumbura.generic.long=Heure d'Afrique centrale
-Africa/Cairo.generic.long=Heure d'Europe de l'Est
-Africa/Casablanca.generic.long=Heure d'Europe de l'Ouest
-Africa/Ceuta.generic.long=Heure d'Europe centrale
-Africa/Conakry.generic.long=Heure de Greenwich
-Africa/Dakar.generic.long=Heure de Greenwich
-Africa/Dar_es_Salaam.generic.long=Heure d'Afrique de l'Est
-Africa/Djibouti.generic.long=Heure d'Afrique de l'Est
-Africa/Douala.generic.long=Heure d'Afrique de l'Ouest
-Africa/El_Aaiun.generic.long=Heure d'Europe de l'Ouest
-Africa/Freetown.generic.long=Heure de Sierra Leone
-Africa/Gaborone.generic.long=Heure d'Afrique centrale
-Africa/Harare.generic.long=Heure d'Afrique centrale
-Africa/Johannesburg.generic.long=Afrique du Sud
-Africa/Juba.generic.long=Heure d'Afrique de l'Est
-Africa/Kampala.generic.long=Heure d'Afrique de l'Est
-Africa/Khartoum.generic.long=Heure d'Afrique de l'Est
-Africa/Kigali.generic.long=Heure d'Afrique centrale
-Africa/Kinshasa.generic.long=Heure d'Afrique de l'Ouest
-Africa/Lagos.generic.long=Heure d'Afrique de l'Ouest
-Africa/Libreville.generic.long=Heure d'Afrique de l'Ouest
-Africa/Lome.generic.long=Heure de Greenwich
-Africa/Luanda.generic.long=Heure d'Afrique de l'Ouest
-Africa/Lubumbashi.generic.long=Heure d'Afrique centrale
-Africa/Lusaka.generic.long=Heure d'Afrique centrale
-Africa/Malabo.generic.long=Heure d'Afrique de l'Ouest
-Africa/Maputo.generic.long=Heure d'Afrique centrale
-Africa/Maseru.generic.long=Afrique du Sud
-Africa/Mbabane.generic.long=Afrique du Sud
-Africa/Mogadishu.generic.long=Heure d'Afrique de l'Est
-Africa/Monrovia.generic.long=Heure de Greenwich
-Africa/Nairobi.generic.long=Heure d'Afrique de l'Est
-Africa/Ndjamena.generic.long=Heure d'Afrique de l'Ouest
-Africa/Niamey.generic.long=Heure d'Afrique de l'Ouest
-Africa/Nouakchott.generic.long=Heure de Greenwich
-Africa/Ouagadougou.generic.long=Heure de Greenwich
-Africa/Porto-Novo.generic.long=Heure d'Afrique de l'Ouest
-Africa/Sao_Tome.generic.long=Heure de Greenwich
-Africa/Timbuktu.generic.long=Heure de Greenwich
-Africa/Tripoli.generic.long=Heure d'Europe de l'Est
-Africa/Tunis.generic.long=Heure d'Europe centrale
-Africa/Windhoek.generic.long=Heure d'Afrique de l'Ouest
-America/Adak.generic.long=Hawa\u00EF-Iles Al\u00E9outiennes
-America/Anchorage.generic.long=Alaska
-America/Anguilla.generic.long=Atlantique
-America/Antigua.generic.long=Atlantique
-America/Araguaina.generic.long=Heure du Br\u00E9sil
-America/Argentina/Buenos_Aires.generic.long=Heure d'Argentine
-America/Argentina/Catamarca.generic.long=Heure d'Argentine
-America/Argentina/ComodRivadavia.generic.long=Heure d'Argentine
-America/Argentina/Cordoba.generic.long=Heure d'Argentine
-America/Argentina/Jujuy.generic.long=Heure d'Argentine
-America/Argentina/La_Rioja.generic.long=Heure d'Argentine
-America/Argentina/Mendoza.generic.long=Heure d'Argentine
-America/Argentina/Rio_Gallegos.generic.long=Heure d'Argentine
-America/Argentina/Salta.generic.long=Heure d'Argentine
-America/Argentina/San_Juan.generic.long=Heure d'Argentine
-America/Argentina/San_Luis.generic.long=Heure d'Argentine
-America/Argentina/Tucuman.generic.long=Heure d'Argentine
-America/Argentina/Ushuaia.generic.long=Heure d'Argentine
-America/Aruba.generic.long=Atlantique
-America/Asuncion.generic.long=Heure du Paraguay
-America/Atikokan.generic.long=C\u00F4te Est
-America/Atka.generic.long=Hawa\u00EF-Iles Al\u00E9outiennes
-America/Bahia.generic.long=Heure du Br\u00E9sil
-America/Bahia_Banderas.generic.long=Centre
-America/Barbados.generic.long=Atlantique
-America/Belem.generic.long=Heure du Br\u00E9sil
-America/Belize.generic.long=Centre
-America/Blanc-Sablon.generic.long=Atlantique
-America/Boa_Vista.generic.long=Heure d'Amazonie
-America/Bogota.generic.long=Heure de Colombie
-America/Boise.generic.long=Rocheuses
-America/Buenos_Aires.generic.long=Heure d'Argentine
-America/Cambridge_Bay.generic.long=Rocheuses
-America/Campo_Grande.generic.long=Heure d'Amazonie
-America/Cancun.generic.long=Centre
-America/Caracas.generic.long=Heure du Venezuela
-America/Catamarca.generic.long=Heure d'Argentine
-America/Cayenne.generic.long=Heure de Guyane fran\u00E7aise
-America/Cayman.generic.long=C\u00F4te Est
-America/Chicago.generic.long=Centre
-America/Chihuahua.generic.long=Rocheuses
-America/Coral_Harbour.generic.long=C\u00F4te Est
-America/Cordoba.generic.long=Heure d'Argentine
-America/Costa_Rica.generic.long=Centre
-America/Creston.generic.long=Rocheuses
-America/Cuiaba.generic.long=Heure d'Amazonie
-America/Curacao.generic.long=Atlantique
-America/Danmarkshavn.generic.long=Heure de Greenwich
-America/Dawson.generic.long=Pacifique
-America/Dawson_Creek.generic.long=Rocheuses
-America/Denver.generic.long=Rocheuses
-America/Detroit.generic.long=C\u00F4te Est
-America/Dominica.generic.long=Atlantique
-America/Edmonton.generic.long=Rocheuses
-America/Eirunepe.generic.long=Heure de l'Acre
-America/El_Salvador.generic.long=Centre
-America/Ensenada.generic.long=Pacifique
-America/Fort_Wayne.generic.long=C\u00F4te Est
-America/Fortaleza.generic.long=Heure du Br\u00E9sil
-America/Glace_Bay.generic.long=Atlantique
-America/Godthab.generic.long=Heure du Groenland de l'Ouest
-America/Goose_Bay.generic.long=Atlantique
-America/Grand_Turk.generic.long=C\u00F4te Est
-America/Grenada.generic.long=Atlantique
-America/Guadeloupe.generic.long=Atlantique
-America/Guatemala.generic.long=Centre
-America/Guayaquil.generic.long=Heure de l'Equateur
-America/Guyana.generic.long=Heure de Guyana
-America/Halifax.generic.long=Atlantique
-America/Havana.generic.long=Heure de Cuba
-America/Hermosillo.generic.long=Rocheuses
-America/Indiana/Indianapolis.generic.long=C\u00F4te Est
-America/Indiana/Knox.generic.long=Centre
-America/Indiana/Marengo.generic.long=C\u00F4te Est
-America/Indiana/Petersburg.generic.long=C\u00F4te Est
-America/Indiana/Tell_City.generic.long=Centre
-America/Indiana/Vevay.generic.long=C\u00F4te Est
-America/Indiana/Vincennes.generic.long=C\u00F4te Est
-America/Indiana/Winamac.generic.long=C\u00F4te Est
-America/Indianapolis.generic.long=C\u00F4te Est
-America/Inuvik.generic.long=Rocheuses
-America/Iqaluit.generic.long=C\u00F4te Est
-America/Jamaica.generic.long=C\u00F4te Est
-America/Jujuy.generic.long=Heure d'Argentine
-America/Juneau.generic.long=Alaska
-America/Kentucky/Louisville.generic.long=C\u00F4te Est
-America/Kentucky/Monticello.generic.long=C\u00F4te Est
-America/Knox_IN.generic.long=Centre
-America/Kralendijk.generic.long=Atlantique
-America/La_Paz.generic.long=Heure de Bolivie
-America/Lima.generic.long=Heure du P\u00E9rou
-America/Los_Angeles.generic.long=Pacifique
-America/Louisville.generic.long=C\u00F4te Est
-America/Lower_Princes.generic.long=Atlantique
-America/Maceio.generic.long=Heure du Br\u00E9sil
-America/Managua.generic.long=Centre
-America/Manaus.generic.long=Heure d'Amazonie
-America/Marigot.generic.long=Atlantique
-America/Martinique.generic.long=Atlantique
-America/Matamoros.generic.long=Centre
-America/Mazatlan.generic.long=Rocheuses
-America/Mendoza.generic.long=Heure d'Argentine
-America/Menominee.generic.long=Centre
-America/Merida.generic.long=Centre
-America/Metlakatla.daylight.long=Heure avanc\u00E9e de Metlakatla
-America/Metlakatla.generic.long=Heure de Metlakatla
-America/Metlakatla.standard.long=Heure normale de Metlakatla
-America/Mexico_City.generic.long=Centre
-America/Miquelon.generic.long=Saint-Pierre-et-Miquelon
-America/Moncton.generic.long=Atlantique
-America/Monterrey.generic.long=Centre
-America/Montevideo.generic.long=Heure de l'Uruguay
-America/Montreal.generic.long=C\u00F4te Est
-America/Montserrat.generic.long=Atlantique
-America/Nassau.generic.long=C\u00F4te Est
-America/New_York.generic.long=C\u00F4te Est
-America/Nipigon.generic.long=C\u00F4te Est
-America/Nome.generic.long=Alaska
-America/Noronha.generic.long=Heure de Fernando de Noronha
-America/North_Dakota/Beulah.generic.long=Centre
-America/North_Dakota/Center.generic.long=Centre
-America/North_Dakota/New_Salem.generic.long=Centre
-America/Ojinaga.generic.long=Rocheuses
-America/Panama.generic.long=C\u00F4te Est
-America/Pangnirtung.generic.long=C\u00F4te Est
-America/Paramaribo.generic.long=Heure du Surinam
-America/Phoenix.generic.long=Rocheuses
-America/Port-au-Prince.generic.long=C\u00F4te Est
-America/Port_of_Spain.generic.long=Atlantique
-America/Porto_Acre.generic.long=Heure de l'Acre
-America/Porto_Velho.generic.long=Heure d'Amazonie
-America/Puerto_Rico.generic.long=Atlantique
-America/Rainy_River.generic.long=Centre
-America/Rankin_Inlet.generic.long=Centre
-America/Recife.generic.long=Heure du Br\u00E9sil
-America/Regina.generic.long=Centre
-America/Resolute.generic.long=Centre
-America/Rio_Branco.generic.long=Heure de l'Acre
-America/Rosario.generic.long=Heure d'Argentine
-America/Santa_Isabel.generic.long=Pacifique
-America/Santarem.generic.long=Heure du Br\u00E9sil
-America/Santiago.generic.long=Heure du Chili
-America/Santo_Domingo.generic.long=Atlantique
-America/Sao_Paulo.generic.long=Heure du Br\u00E9sil
-America/Scoresbysund.generic.long=Heure du Groenland de l'Est
-America/Shiprock.generic.long=Rocheuses
-America/Sitka.generic.long=Alaska
-America/St_Barthelemy.generic.long=Atlantique
-America/St_Johns.generic.long=Terre-Neuve
-America/St_Kitts.generic.long=Atlantique
-America/St_Lucia.generic.long=Atlantique
-America/St_Thomas.generic.long=Atlantique
-America/St_Vincent.generic.long=Atlantique
-America/Swift_Current.generic.long=Centre
-America/Tegucigalpa.generic.long=Centre
-America/Thule.generic.long=Atlantique
-America/Thunder_Bay.generic.long=C\u00F4te Est
-America/Tijuana.generic.long=Pacifique
-America/Toronto.generic.long=C\u00F4te Est
-America/Tortola.generic.long=Atlantique
-America/Vancouver.generic.long=Pacifique
-America/Virgin.generic.long=Atlantique
-America/Whitehorse.generic.long=Pacifique
-America/Winnipeg.generic.long=Centre
-America/Yakutat.generic.long=Alaska
-America/Yellowknife.generic.long=Rocheuses
-Antarctica/Casey.daylight.long=Heure d'\u00E9t\u00E9 de l'Ouest (Australie)
-Antarctica/Casey.generic.long=Ouest (Australie)
-Antarctica/Casey.standard.long=Heure normale de l'Ouest (Australie)
-Antarctica/Davis.generic.long=Heure de Davis
-Antarctica/DumontDUrville.generic.long=Heure de Dumont-d'Urville
-Antarctica/Macquarie.daylight.long=Heure d'\u00E9t\u00E9 de l'Ile Macquarie
-Antarctica/Macquarie.generic.long=Heure de l'Ile Macquarie
-Antarctica/Macquarie.standard.long=Heure de l'Ile Macquarie
-Antarctica/Mawson.generic.long=Heure de Mawson
-Antarctica/McMurdo.generic.long=Nouvelle-Z\u00E9lande
-Antarctica/Palmer.generic.long=Heure du Chili
-Antarctica/Rothera.generic.long=Heure de Rothera
-Antarctica/South_Pole.generic.long=Nouvelle-Z\u00E9lande
-Antarctica/Syowa.generic.long=Heure de Syowa
-Antarctica/Vostok.generic.long=Heure de Vostok
-Arctic/Longyearbyen.generic.long=Heure d'Europe centrale
-Asia/Aden.generic.long=Arabie
-Asia/Almaty.generic.long=Heure d'Alma-Ata
-Asia/Amman.generic.long=Arabie
-Asia/Anadyr.generic.long=Heure d'Anadyr
-Asia/Aqtau.generic.long=Heure d'Aqtau
-Asia/Aqtobe.generic.long=Heure d'Aqtobe
-Asia/Ashgabat.generic.long=Heure du Turkm\u00E9nistan
-Asia/Ashkhabad.generic.long=Heure du Turkm\u00E9nistan
-Asia/Baghdad.generic.long=Arabie
-Asia/Bahrain.generic.long=Arabie
-Asia/Baku.generic.long=Heure d'Azerba\u00EFdjan
-Asia/Bangkok.generic.long=Heure d'Indochine
-Asia/Beirut.generic.long=Heure d'Europe de l'Est
-Asia/Bishkek.generic.long=Heure du Kirghizistan
-Asia/Brunei.generic.long=Heure du Brunei
-Asia/Calcutta.generic.long=Inde
-Asia/Choibalsan.generic.long=Heure de Choibalsan
-Asia/Chongqing.generic.long=Chine
-Asia/Chungking.generic.long=Chine
-Asia/Colombo.generic.long=Inde
-Asia/Dacca.generic.long=Heure du Bangladesh
-Asia/Damascus.generic.long=Heure d'Europe de l'Est
-Asia/Dhaka.generic.long=Heure du Bangladesh
-Asia/Dili.generic.long=Heure de Timor-Leste
-Asia/Dubai.generic.long=Golfe
-Asia/Dushanbe.generic.long=Heure du Tadjikistan
-Asia/Gaza.generic.long=Heure d'Europe de l'Est
-Asia/Harbin.generic.long=Chine
-Asia/Hebron.generic.long=Heure d'Europe de l'Est
-Asia/Ho_Chi_Minh.generic.long=Heure d'Indochine
-Asia/Hong_Kong.generic.long=Heure de Hong-Kong
-Asia/Hovd.generic.long=Heure de Hovd
-Asia/Irkutsk.generic.long=Heure d'Irkutsk
-Asia/Istanbul.generic.long=Heure d'Europe de l'Est
-Asia/Jakarta.generic.long=Heure de l'Indon\u00E9sie occidentale
-Asia/Jayapura.generic.long=Heure d'Indon\u00E9sie orientale
-Asia/Jerusalem.generic.long=Isra\u00EBl
-Asia/Kabul.generic.long=Heure d'Afghanistan
-Asia/Kamchatka.generic.long=Heure de Petropavlovsk-Kamchatski
-Asia/Karachi.generic.long=Heure du Pakistan
-Asia/Kashgar.generic.long=Chine
-Asia/Kathmandu.generic.long=Heure du N\u00E9pal
-Asia/Katmandu.generic.long=Heure du N\u00E9pal
-Asia/Khandyga.daylight.long=Heure d'\u00E9t\u00E9 de Khandyga
-Asia/Khandyga.generic.long=Heure de Khandyga
-Asia/Khandyga.standard.long=Heure de Khandyga
-Asia/Kolkata.generic.long=Inde
-Asia/Krasnoyarsk.generic.long=Heure de Krasno\u00EFarsk
-Asia/Kuala_Lumpur.generic.long=Heure de Malaisie
-Asia/Kuching.generic.long=Heure de Malaisie
-Asia/Kuwait.generic.long=Arabie
-Asia/Macao.generic.long=Chine
-Asia/Macau.generic.long=Chine
-Asia/Magadan.generic.long=Heure de Magadan
-Asia/Makassar.generic.long=Heure d'Indon\u00E9sie centrale
-Asia/Manila.generic.long=Heure des Philippines
-Asia/Muscat.generic.long=Golfe
-Asia/Nicosia.generic.long=Heure d'Europe de l'Est
-Asia/Novokuznetsk.generic.long=Heure de Novossibirsk
-Asia/Novosibirsk.generic.long=Heure de Novossibirsk
-Asia/Omsk.generic.long=Heure d'Omsk
-Asia/Oral.generic.long=Heure d'Oral
-Asia/Phnom_Penh.generic.long=Heure d'Indochine
-Asia/Pontianak.generic.long=Heure de l'Indon\u00E9sie occidentale
-Asia/Pyongyang.generic.long=Cor\u00E9e
-Asia/Qatar.generic.long=Arabie
-Asia/Qyzylorda.generic.long=Heure de Kyzylorda
-Asia/Rangoon.generic.long=Heure de Myanmar
-Asia/Saigon.generic.long=Heure d'Indochine
-Asia/Sakhalin.generic.long=Heure de Sakhalin
-Asia/Samarkand.generic.long=Heure de l'Ouzb\u00E9kistan
-Asia/Seoul.generic.long=Cor\u00E9e
-Asia/Shanghai.generic.long=Chine
-Asia/Singapore.generic.long=Heure de Singapour
-Asia/Taipei.generic.long=Chine
-Asia/Tashkent.generic.long=Heure de l'Ouzb\u00E9kistan
-Asia/Tbilisi.generic.long=Heure de G\u00E9orgie
-Asia/Tehran.generic.long=Heure d'Iran
-Asia/Tel_Aviv.generic.long=Isra\u00EBl
-Asia/Thimbu.generic.long=Heure du Bhoutan
-Asia/Thimphu.generic.long=Heure du Bhoutan
-Asia/Tokyo.generic.long=Japon
-Asia/Ujung_Pandang.generic.long=Heure d'Indon\u00E9sie centrale
-Asia/Ulaanbaatar.generic.long=Heure de l'Ulaanbaatar
-Asia/Ulan_Bator.generic.long=Heure de l'Ulaanbaatar
-Asia/Urumqi.generic.long=Chine
-Asia/Ust-Nera.daylight.long=Heure d'\u00E9t\u00E9 d'Ust-Nera
-Asia/Ust-Nera.generic.long=Heure d'Ust-Nera
-Asia/Ust-Nera.standard.long=Heure d'Ust-Nera
-Asia/Vientiane.generic.long=Heure d'Indochine
-Asia/Vladivostok.generic.long=Heure de Vladivostok
-Asia/Yakutsk.generic.long=Heure du Iakoutsk
-Asia/Yekaterinburg.generic.long=Heure de Yekaterinburg
-Asia/Yerevan.generic.long=Heure d'Arm\u00E9nie
-Atlantic/Azores.generic.long=Heure des A\u00E7ores
-Atlantic/Bermuda.generic.long=Atlantique
-Atlantic/Canary.generic.long=Heure d'Europe de l'Ouest
-Atlantic/Cape_Verde.generic.long=Heure de Cap-Vert
-Atlantic/Faeroe.generic.long=Heure d'Europe de l'Ouest
-Atlantic/Faroe.generic.long=Heure d'Europe de l'Ouest
-Atlantic/Jan_Mayen.generic.long=Heure d'Europe centrale
-Atlantic/Madeira.generic.long=Heure d'Europe de l'Ouest
-Atlantic/Reykjavik.generic.long=Heure de Greenwich
-Atlantic/South_Georgia.generic.long=G\u00E9orgie du Sud
-Atlantic/St_Helena.generic.long=Heure de Greenwich
-Atlantic/Stanley.generic.long=Heure des \u00EEles Falkland
-Australia/ACT.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-Australia/ACT.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-Australia/ACT.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-Australia/Adelaide.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Australie du sud)
-Australia/Adelaide.generic.long=Centre (Australie-M\u00E9ridionale)
-Australia/Adelaide.standard.long=Heure standard d'Australie centrale (Australie du sud)
-Australia/Brisbane.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Queensland)
-Australia/Brisbane.generic.long=C\u00F4te Est (Queensland)
-Australia/Brisbane.standard.long=Heure standard d'Australie orientale (Queensland)
-Australia/Broken_Hill.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Australie du sud/Nouvelle-Galles du sud)
-Australia/Broken_Hill.generic.long=Centre (Australie-M\u00E9ridionale/Nouvelle-Galles du Sud)
-Australia/Broken_Hill.standard.long=Heure standard d'Australie centrale (Australie du sud/Nouvelle-Galles du sud)
-Australia/Canberra.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-Australia/Canberra.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-Australia/Canberra.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-Australia/Currie.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-Australia/Currie.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-Australia/Currie.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-Australia/Darwin.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Territoire du Nord)
-Australia/Darwin.generic.long=Centre (Territoire du Nord)
-Australia/Darwin.standard.long=Heure standard d'Australie centrale (Territoire du Nord)
-Australia/Eucla.daylight.long=Heure d'\u00E9t\u00E9 de l'Australie occidentale (centre)
-Australia/Eucla.generic.long=Heure de l'Australie occidentale (centre)
-Australia/Eucla.standard.long=Heure standard de l'Australie occidentale (centre)
-Australia/Hobart.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Tasmanie)
-Australia/Hobart.generic.long=C\u00F4te Est (Tasmanie)
-Australia/Hobart.standard.long=Heure standard d'Australie orientale (Tasmanie)
-Australia/LHI.generic.long=Heure de Lord Howe
-Australia/Lindeman.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Queensland)
-Australia/Lindeman.generic.long=C\u00F4te Est (Queensland)
-Australia/Lindeman.standard.long=Heure standard d'Australie orientale (Queensland)
-Australia/Lord_Howe.generic.long=Heure de Lord Howe
-Australia/Melbourne.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Victoria)
-Australia/Melbourne.generic.long=C\u00F4te Est (Victoria)
-Australia/Melbourne.standard.long=Heure standard d'Australie orientale (Victoria)
-Australia/NSW.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-Australia/NSW.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-Australia/NSW.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-Australia/North.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Territoire du Nord)
-Australia/North.generic.long=Centre (Territoire du Nord)
-Australia/North.standard.long=Heure standard d'Australie centrale (Territoire du Nord)
-Australia/Perth.daylight.long=Heure d'\u00E9t\u00E9 de l'Ouest (Australie)
-Australia/Perth.generic.long=Ouest (Australie)
-Australia/Perth.standard.long=Heure normale de l'Ouest (Australie)
-Australia/Queensland.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Queensland)
-Australia/Queensland.generic.long=C\u00F4te Est (Queensland)
-Australia/Queensland.standard.long=Heure standard d'Australie orientale (Queensland)
-Australia/South.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Australie du sud)
-Australia/South.generic.long=Centre (Australie-M\u00E9ridionale)
-Australia/South.standard.long=Heure standard d'Australie centrale (Australie du sud)
-Australia/Sydney.daylight.long=Heure d'\u00E9t\u00E9 de l'Est (Nouvelle-Galles du Sud)
-Australia/Sydney.generic.long=C\u00F4te Est (Nouvelle-Galles du Sud)
-Australia/Sydney.standard.long=Heure normale de l'Est (Nouvelle-Galles du Sud)
-Australia/Tasmania.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Tasmanie)
-Australia/Tasmania.generic.long=C\u00F4te Est (Tasmanie)
-Australia/Tasmania.standard.long=Heure standard d'Australie orientale (Tasmanie)
-Australia/Victoria.daylight.long=Heure d'\u00E9t\u00E9 d'Australie orientale (Victoria)
-Australia/Victoria.generic.long=C\u00F4te Est (Victoria)
-Australia/Victoria.standard.long=Heure standard d'Australie orientale (Victoria)
-Australia/West.daylight.long=Heure d'\u00E9t\u00E9 de l'Ouest (Australie)
-Australia/West.generic.long=Ouest (Australie)
-Australia/West.standard.long=Heure normale de l'Ouest (Australie)
-Australia/Yancowinna.daylight.long=Heure d'\u00E9t\u00E9 d'Australie centrale (Australie du sud/Nouvelle-Galles du sud)
-Australia/Yancowinna.generic.long=Centre (Australie-M\u00E9ridionale/Nouvelle-Galles du Sud)
-Australia/Yancowinna.standard.long=Heure standard d'Australie centrale (Australie du sud/Nouvelle-Galles du sud)
-BET.generic.long=Heure du Br\u00E9sil
-BST.generic.long=Heure du Bangladesh
-Brazil/Acre.generic.long=Heure de l'Acre
-Brazil/DeNoronha.generic.long=Heure de Fernando de Noronha
-Brazil/East.generic.long=Heure du Br\u00E9sil
-Brazil/West.generic.long=Heure d'Amazonie
-CAT.generic.long=Heure d'Afrique centrale
-CET.generic.long=Heure d'Europe centrale
-CNT.generic.long=Terre-Neuve
-CST.generic.long=Centre
-CST6CDT.generic.long=Centre
-CTT.generic.long=Chine
-Canada/Atlantic.generic.long=Atlantique
-Canada/Central.generic.long=Centre
-Canada/East-Saskatchewan.generic.long=Centre
-Canada/Eastern.generic.long=C\u00F4te Est
-Canada/Mountain.generic.long=Rocheuses
-Canada/Newfoundland.generic.long=Terre-Neuve
-Canada/Pacific.generic.long=Pacifique
-Canada/Saskatchewan.generic.long=Centre
-Canada/Yukon.generic.long=Pacifique
-Chile/Continental.generic.long=Heure du Chili
-Chile/EasterIsland.generic.long=Heure de l'Ile de P\u00E2ques
-Cuba.generic.long=Heure de Cuba
-EAT.generic.long=Heure d'Afrique de l'Est
-ECT.generic.long=Heure d'Europe centrale
-EET.generic.long=Heure d'Europe de l'Est
-EST.generic.long=C\u00f4te Est
-EST5EDT.generic.long=C\u00f4te Est
-Egypt.generic.long=Heure d'Europe de l'Est
-Eire.generic.long=Heure irlandaise
-Etc/Greenwich.generic.long=Heure de Greenwich
-Etc/UCT.generic.long=Temps universel coordonn\u00E9
-Etc/UTC.generic.long=Temps universel coordonn\u00E9
-Etc/Universal.generic.long=Temps universel coordonn\u00E9
-Etc/Zulu.generic.long=Temps universel coordonn\u00E9
-Europe/Amsterdam.generic.long=Heure d'Europe centrale
-Europe/Andorra.generic.long=Heure d'Europe centrale
-Europe/Athens.generic.long=Heure d'Europe de l'Est
-Europe/Belfast.generic.long=Heure britannique
-Europe/Belgrade.generic.long=Heure d'Europe centrale
-Europe/Berlin.generic.long=Heure d'Europe centrale
-Europe/Bratislava.generic.long=Heure d'Europe centrale
-Europe/Brussels.generic.long=Heure d'Europe centrale
-Europe/Bucharest.generic.long=Heure d'Europe de l'Est
-Europe/Budapest.generic.long=Heure d'Europe centrale
-Europe/Busingen.generic.long=Heure d'Europe centrale
-Europe/Chisinau.generic.long=Heure d'Europe de l'Est
-Europe/Copenhagen.generic.long=Heure d'Europe centrale
-Europe/Dublin.generic.long=Heure irlandaise
-Europe/Gibraltar.generic.long=Heure d'Europe centrale
-Europe/Guernsey.generic.long=Heure britannique
-Europe/Helsinki.generic.long=Heure d'Europe de l'Est
-Europe/Isle_of_Man.generic.long=Heure britannique
-Europe/Istanbul.generic.long=Heure d'Europe de l'Est
-Europe/Jersey.generic.long=Heure britannique
-Europe/Kaliningrad.daylight.long=Heure d'\u00E9t\u00E9 d'Europe de l'Est UTC+3
-Europe/Kaliningrad.generic.long=Heure d'Europe de l'Est UTC+3
-Europe/Kaliningrad.standard.long=Heure d'Europe de l'Est UTC+3
-Europe/Kiev.generic.long=Heure d'Europe de l'Est
-Europe/Lisbon.generic.long=Heure d'Europe de l'Ouest
-Europe/Ljubljana.generic.long=Heure d'Europe centrale
-Europe/London.generic.long=Heure britannique
-Europe/Luxembourg.generic.long=Heure d'Europe centrale
-Europe/Madrid.generic.long=Heure d'Europe centrale
-Europe/Malta.generic.long=Heure d'Europe centrale
-Europe/Mariehamn.generic.long=Heure d'Europe de l'Est
-Europe/Minsk.daylight.long=Heure d'\u00E9t\u00E9 d'Europe de l'Est UTC+3
-Europe/Minsk.generic.long=Heure d'Europe de l'Est UTC+3
-Europe/Minsk.standard.long=Heure d'Europe de l'Est UTC+3
-Europe/Monaco.generic.long=Heure d'Europe centrale
-Europe/Moscow.generic.long=Moscou
-Europe/Nicosia.generic.long=Heure d'Europe de l'Est
-Europe/Oslo.generic.long=Heure d'Europe centrale
-Europe/Paris.generic.long=Heure d'Europe centrale
-Europe/Podgorica.generic.long=Heure d'Europe centrale
-Europe/Prague.generic.long=Heure d'Europe centrale
-Europe/Riga.generic.long=Heure d'Europe de l'Est
-Europe/Rome.generic.long=Heure d'Europe centrale
-Europe/Samara.generic.long=Heure de Samara
-Europe/San_Marino.generic.long=Heure d'Europe centrale
-Europe/Sarajevo.generic.long=Heure d'Europe centrale
-Europe/Simferopol.generic.long=Heure d'Europe de l'Est
-Europe/Skopje.generic.long=Heure d'Europe centrale
-Europe/Sofia.generic.long=Heure d'Europe de l'Est
-Europe/Stockholm.generic.long=Heure d'Europe centrale
-Europe/Tallinn.generic.long=Heure d'Europe de l'Est
-Europe/Tirane.generic.long=Heure d'Europe centrale
-Europe/Tiraspol.generic.long=Heure d'Europe de l'Est
-Europe/Uzhgorod.generic.long=Heure d'Europe de l'Est
-Europe/Vaduz.generic.long=Heure d'Europe centrale
-Europe/Vatican.generic.long=Heure d'Europe centrale
-Europe/Vienna.generic.long=Heure d'Europe centrale
-Europe/Vilnius.generic.long=Heure d'Europe de l'Est
-Europe/Volgograd.generic.long=Heure de Volgograd
-Europe/Warsaw.generic.long=Heure d'Europe centrale
-Europe/Zagreb.generic.long=Heure d'Europe centrale
-Europe/Zaporozhye.generic.long=Heure d'Europe de l'Est
-Europe/Zurich.generic.long=Heure d'Europe centrale
-GB-Eire.generic.long=Heure britannique
-GB.generic.long=Heure britannique
-GMT.generic.long=Heure de Greenwich
-Greenwich.generic.long=Heure de Greenwich
-HST.generic.long=Hawa\u00ef
-Hongkong.generic.long=Heure de Hong-Kong
-IET.generic.long=C\u00F4te Est
-IST.generic.long=Inde
-Iceland.generic.long=Heure de Greenwich
-Indian/Antananarivo.generic.long=Heure d'Afrique de l'Est
-Indian/Chagos.generic.long=Heure de l'oc\u00E9an Indien
-Indian/Christmas.generic.long=Heure de l'Ile Christmas
-Indian/Cocos.generic.long=Heure des Iles Cocos
-Indian/Comoro.generic.long=Heure d'Afrique de l'Est
-Indian/Kerguelen.generic.long=Heure des Terres australes antarctiques fran\u00E7aises
-Indian/Mahe.generic.long=Heure des Seychelles
-Indian/Maldives.generic.long=Heure des Maldives
-Indian/Mauritius.generic.long=Heure de Maurice
-Indian/Mayotte.generic.long=Heure d'Afrique de l'Est
-Indian/Reunion.generic.long=Heure de la R\u00E9union
-Iran.generic.long=Heure d'Iran
-Israel.generic.long=Isra\u00EBl
-JST.generic.long=Japon
-Jamaica.generic.long=C\u00F4te Est
-Japan.generic.long=Japon
-Kwajalein.generic.long=Heure des Iles Marshall
-Libya.generic.long=Heure d'Europe de l'Est
-MET.generic.long=MET
-MIT.generic.long=Heure des Samoas occidentales
-MST.generic.long=Rocheuses
-MST7MDT.generic.long=Rocheuses
-Mexico/BajaNorte.generic.long=Pacifique
-Mexico/BajaSur.generic.long=Rocheuses
-Mexico/General.generic.long=Centre
-NET.generic.long=Heure d'Arm\u00E9nie
-NST.generic.long=Nouvelle-Z\u00E9lande
-NZ-CHAT.generic.long=Chatham
-NZ.generic.long=Nouvelle-Z\u00E9lande
-Navajo.generic.long=Rocheuses
-PLT.generic.long=Heure du Pakistan
-PNT.generic.long=Rocheuses
-PRC.generic.long=Chine
-PRT.generic.long=Atlantique
-PST.generic.long=Pacifique
-PST8PDT.generic.long=Pacifique
-Pacific/Apia.generic.long=Heure des Samoas occidentales
-Pacific/Auckland.generic.long=Nouvelle-Z\u00E9lande
-Pacific/Chatham.generic.long=Chatham
-Pacific/Chuuk.daylight.long=Heure d'\u00E9t\u00E9 de Chuuk
-Pacific/Chuuk.generic.long=Heure de Chuuk
-Pacific/Chuuk.standard.long=Heure de Chuuk
-Pacific/Easter.generic.long=Heure de l'Ile de P\u00E2ques
-Pacific/Efate.generic.long=Heure du Vanuatu
-Pacific/Enderbury.generic.long=Heure de l'Ile de Phoenix
-Pacific/Fakaofo.generic.long=Heure de Tokelau
-Pacific/Fiji.generic.long=Heure de Fidji
-Pacific/Funafuti.generic.long=Heure de Tuvalu
-Pacific/Galapagos.generic.long=Heure des Galapagos
-Pacific/Gambier.generic.long=Heure de Gambi
-Pacific/Guadalcanal.generic.long=Heure des Iles Salomon
-Pacific/Guam.generic.long=Chamorro
-Pacific/Honolulu.generic.long=Hawa\u00EF
-Pacific/Johnston.generic.long=Hawa\u00EF
-Pacific/Kiritimati.generic.long=Heure de l'Ile de Line
-Pacific/Kosrae.generic.long=Heure de Kusaie
-Pacific/Kwajalein.generic.long=Heure des Iles Marshall
-Pacific/Majuro.generic.long=Heure des Iles Marshall
-Pacific/Marquesas.generic.long=Heure des Marquises
-Pacific/Midway.generic.long=Samoa
-Pacific/Nauru.generic.long=Heure de Nauru
-Pacific/Niue.generic.long=Heure de Niue
-Pacific/Norfolk.generic.long=Heure de Norfolk
-Pacific/Noumea.generic.long=Heure de Nouvelle-Cal\u00E9donie
-Pacific/Pago_Pago.generic.long=Samoa
-Pacific/Palau.generic.long=Heure de Palaos
-Pacific/Pitcairn.generic.long=Pitcairn
-Pacific/Pohnpei.daylight.long=Heure d'\u00E9t\u00E9 de Pohnpei
-Pacific/Pohnpei.generic.long=Ponape
-Pacific/Pohnpei.standard.long=Heure de Pohnpei
-Pacific/Ponape.daylight.long=Heure d'\u00E9t\u00E9 de Pohnpei
-Pacific/Ponape.generic.long=Ponape
-Pacific/Ponape.standard.long=Heure de Pohnpei
-Pacific/Port_Moresby.generic.long=Heure de Papouasie-Nouvelle-Guin\u00E9e
-Pacific/Rarotonga.generic.long=Heure des Iles Cook
-Pacific/Saipan.generic.long=Chamorro
-Pacific/Samoa.generic.long=Samoa
-Pacific/Tahiti.generic.long=Heure de Tahiti
-Pacific/Tarawa.generic.long=Heure de Kiribati
-Pacific/Tongatapu.generic.long=Heure de Tonga
-Pacific/Truk.daylight.long=Heure d'\u00E9t\u00E9 de Chuuk
-Pacific/Truk.generic.long=Heure de Chuuk
-Pacific/Truk.standard.long=Heure de Chuuk
-Pacific/Wake.generic.long=Heure de Wake
-Pacific/Wallis.generic.long=Heure de Wallis-et-Futuna
-Pacific/Yap.daylight.long=Heure d'\u00E9t\u00E9 de Chuuk
-Pacific/Yap.generic.long=Heure de Chuuk
-Pacific/Yap.standard.long=Heure de Chuuk
-Poland.generic.long=Heure d'Europe centrale
-Portugal.generic.long=Heure d'Europe de l'Ouest
-ROK.generic.long=Cor\u00E9e
-SST.generic.long=Heure des Iles Salomon
-Singapore.generic.long=Heure de Singapour
-SystemV/AST4.generic.long=Atlantique
-SystemV/AST4ADT.generic.long=Atlantique
-SystemV/CST6.generic.long=Centre
-SystemV/CST6CDT.generic.long=Centre
-SystemV/EST5.generic.long=C\u00F4te Est
-SystemV/EST5EDT.generic.long=C\u00F4te Est
-SystemV/HST10.generic.long=Hawa\u00EF
-SystemV/MST7.generic.long=Rocheuses
-SystemV/MST7MDT.generic.long=Rocheuses
-SystemV/PST8.generic.long=Pacifique
-SystemV/PST8PDT.generic.long=Pacifique
-SystemV/YST9.generic.long=Alaska
-SystemV/YST9YDT.generic.long=Alaska
-Turkey.generic.long=Heure d'Europe de l'Est
-UCT.generic.long=Temps universel coordonn\u00E9
-US/Alaska.generic.long=Alaska
-US/Aleutian.generic.long=Hawa\u00EF-Iles Al\u00E9outiennes
-US/Arizona.generic.long=Rocheuses
-US/Central.generic.long=Centre
-US/East-Indiana.generic.long=C\u00F4te Est
-US/Eastern.generic.long=C\u00F4te Est
-US/Hawaii.generic.long=Hawa\u00EF
-US/Indiana-Starke.generic.long=Centre
-US/Michigan.generic.long=C\u00F4te Est
-US/Mountain.generic.long=Rocheuses
-US/Pacific-New.generic.long=Pacifique
-US/Pacific.generic.long=Pacifique
-US/Samoa.generic.long=Samoa
-UTC.generic.long=Temps universel coordonn\u00E9
-Universal.generic.long=Temps universel coordonn\u00E9
-VST.generic.long=Heure d'Indochine
-W-SU.generic.long=Moscou
-WET.generic.long=Heure d'Europe de l'Ouest
-Zulu.generic.long=Temps universel coordonn\u00E9
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_fr_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it.properties
deleted file mode 100644
index 6a4c828..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Ora estiva centrale (Territori del Nord)
-ACT.generic.long=Ora fuso centrale (Territori del Nord)
-ACT.standard.long=Ora standard centrale (Territori del Nord)
-AET.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-AET.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-AET.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-AGT.generic.long=Ora dell'Argentina
-ART.generic.long=Ora dell'Europa orientale
-AST.generic.long=Ora Alaska
-Africa/Abidjan.generic.long=Ora media di Greenwich
-Africa/Accra.generic.long=Ora media del Ghana
-Africa/Addis_Ababa.generic.long=Ora dell'Africa orientale
-Africa/Algiers.generic.long=Ora dell'Europa centrale
-Africa/Asmara.generic.long=Ora dell'Africa orientale
-Africa/Asmera.generic.long=Ora dell'Africa orientale
-Africa/Bamako.generic.long=Ora media di Greenwich
-Africa/Bangui.generic.long=Ora dell'Africa occidentale
-Africa/Banjul.generic.long=Ora media di Greenwich
-Africa/Bissau.generic.long=Ora media di Greenwich
-Africa/Blantyre.generic.long=Ora dell'Africa centrale
-Africa/Brazzaville.generic.long=Ora dell'Africa occidentale
-Africa/Bujumbura.generic.long=Ora dell'Africa centrale
-Africa/Cairo.generic.long=Ora dell'Europa orientale
-Africa/Casablanca.generic.long=Ora dell'Europa occidentale
-Africa/Ceuta.generic.long=Ora dell'Europa centrale
-Africa/Conakry.generic.long=Ora media di Greenwich
-Africa/Dakar.generic.long=Ora media di Greenwich
-Africa/Dar_es_Salaam.generic.long=Ora dell'Africa orientale
-Africa/Djibouti.generic.long=Ora dell'Africa orientale
-Africa/Douala.generic.long=Ora dell'Africa occidentale
-Africa/El_Aaiun.generic.long=Ora dell'Europa occidentale
-Africa/Freetown.generic.long=Ora della Sierra Leone
-Africa/Gaborone.generic.long=Ora dell'Africa centrale
-Africa/Harare.generic.long=Ora dell'Africa centrale
-Africa/Johannesburg.generic.long=Ora Sudafrica
-Africa/Juba.generic.long=Ora dell'Africa orientale
-Africa/Kampala.generic.long=Ora dell'Africa orientale
-Africa/Khartoum.generic.long=Ora dell'Africa orientale
-Africa/Kigali.generic.long=Ora dell'Africa centrale
-Africa/Kinshasa.generic.long=Ora dell'Africa occidentale
-Africa/Lagos.generic.long=Ora dell'Africa occidentale
-Africa/Libreville.generic.long=Ora dell'Africa occidentale
-Africa/Lome.generic.long=Ora media di Greenwich
-Africa/Luanda.generic.long=Ora dell'Africa occidentale
-Africa/Lubumbashi.generic.long=Ora dell'Africa centrale
-Africa/Lusaka.generic.long=Ora dell'Africa centrale
-Africa/Malabo.generic.long=Ora dell'Africa occidentale
-Africa/Maputo.generic.long=Ora dell'Africa centrale
-Africa/Maseru.generic.long=Ora Sudafrica
-Africa/Mbabane.generic.long=Ora Sudafrica
-Africa/Mogadishu.generic.long=Ora dell'Africa orientale
-Africa/Monrovia.generic.long=Ora media di Greenwich
-Africa/Nairobi.generic.long=Ora dell'Africa orientale
-Africa/Ndjamena.generic.long=Ora dell'Africa occidentale
-Africa/Niamey.generic.long=Ora dell'Africa occidentale
-Africa/Nouakchott.generic.long=Ora media di Greenwich
-Africa/Ouagadougou.generic.long=Ora media di Greenwich
-Africa/Porto-Novo.generic.long=Ora dell'Africa occidentale
-Africa/Sao_Tome.generic.long=Ora media di Greenwich
-Africa/Timbuktu.generic.long=Ora media di Greenwich
-Africa/Tripoli.generic.long=Ora dell'Europa orientale
-Africa/Tunis.generic.long=Ora dell'Europa centrale
-Africa/Windhoek.generic.long=Ora dell'Africa occidentale
-America/Adak.generic.long=Ora Hawaii-Aleutine
-America/Anchorage.generic.long=Ora Alaska
-America/Anguilla.generic.long=Fuso dell'Atlantico
-America/Antigua.generic.long=Fuso dell'Atlantico
-America/Araguaina.generic.long=Ora di Brasilia
-America/Argentina/Buenos_Aires.generic.long=Ora dell'Argentina
-America/Argentina/Catamarca.generic.long=Ora dell'Argentina
-America/Argentina/ComodRivadavia.generic.long=Ora dell'Argentina
-America/Argentina/Cordoba.generic.long=Ora dell'Argentina
-America/Argentina/Jujuy.generic.long=Ora dell'Argentina
-America/Argentina/La_Rioja.generic.long=Ora dell'Argentina
-America/Argentina/Mendoza.generic.long=Ora dell'Argentina
-America/Argentina/Rio_Gallegos.generic.long=Ora dell'Argentina
-America/Argentina/Salta.generic.long=Ora dell'Argentina
-America/Argentina/San_Juan.generic.long=Ora dell'Argentina
-America/Argentina/San_Luis.generic.long=Ora dell'Argentina
-America/Argentina/Tucuman.generic.long=Ora dell'Argentina
-America/Argentina/Ushuaia.generic.long=Ora dell'Argentina
-America/Aruba.generic.long=Fuso dell'Atlantico
-America/Asuncion.generic.long=Ora del Paraguay
-America/Atikokan.generic.long=Fuso orientale
-America/Atka.generic.long=Ora Hawaii-Aleutine
-America/Bahia.generic.long=Ora di Brasilia
-America/Bahia_Banderas.generic.long=Ora fuso centrale
-America/Barbados.generic.long=Fuso dell'Atlantico
-America/Belem.generic.long=Ora di Brasilia
-America/Belize.generic.long=Ora fuso centrale
-America/Blanc-Sablon.generic.long=Fuso dell'Atlantico
-America/Boa_Vista.generic.long=Ora dell'Amazzonia
-America/Bogota.generic.long=Ora della Colombia
-America/Boise.generic.long=Ora fuso occidentale
-America/Buenos_Aires.generic.long=Ora dell'Argentina
-America/Cambridge_Bay.generic.long=Ora fuso occidentale
-America/Campo_Grande.generic.long=Ora dell'Amazzonia
-America/Cancun.generic.long=Ora fuso centrale
-America/Caracas.generic.long=Ora del Venezuela
-America/Catamarca.generic.long=Ora dell'Argentina
-America/Cayenne.generic.long=Ora della Guyana Francese
-America/Cayman.generic.long=Fuso orientale
-America/Chicago.generic.long=Ora fuso centrale
-America/Chihuahua.generic.long=Ora fuso occidentale
-America/Coral_Harbour.generic.long=Fuso orientale
-America/Cordoba.generic.long=Ora dell'Argentina
-America/Costa_Rica.generic.long=Ora fuso centrale
-America/Creston.generic.long=Ora fuso occidentale
-America/Cuiaba.generic.long=Ora dell'Amazzonia
-America/Curacao.generic.long=Fuso dell'Atlantico
-America/Danmarkshavn.generic.long=Ora media di Greenwich
-America/Dawson.generic.long=Fuso del Pacifico
-America/Dawson_Creek.generic.long=Ora fuso occidentale
-America/Denver.generic.long=Ora fuso occidentale
-America/Detroit.generic.long=Fuso orientale
-America/Dominica.generic.long=Fuso dell'Atlantico
-America/Edmonton.generic.long=Ora fuso occidentale
-America/Eirunepe.generic.long=Ora di Acre
-America/El_Salvador.generic.long=Ora fuso centrale
-America/Ensenada.generic.long=Fuso del Pacifico
-America/Fort_Wayne.generic.long=Fuso orientale
-America/Fortaleza.generic.long=Ora di Brasilia
-America/Glace_Bay.generic.long=Fuso dell'Atlantico
-America/Godthab.generic.long=Ora della Groenlandia occidentale
-America/Goose_Bay.generic.long=Fuso dell'Atlantico
-America/Grand_Turk.generic.long=Fuso orientale
-America/Grenada.generic.long=Fuso dell'Atlantico
-America/Guadeloupe.generic.long=Fuso dell'Atlantico
-America/Guatemala.generic.long=Ora fuso centrale
-America/Guayaquil.generic.long=Ora dell'Ecuador
-America/Guyana.generic.long=Ora della Guyana
-America/Halifax.generic.long=Fuso dell'Atlantico
-America/Havana.generic.long=Ora di Cuba
-America/Hermosillo.generic.long=Ora fuso occidentale
-America/Indiana/Indianapolis.generic.long=Fuso orientale
-America/Indiana/Knox.generic.long=Ora fuso centrale
-America/Indiana/Marengo.generic.long=Fuso orientale
-America/Indiana/Petersburg.generic.long=Fuso orientale
-America/Indiana/Tell_City.generic.long=Ora fuso centrale
-America/Indiana/Vevay.generic.long=Fuso orientale
-America/Indiana/Vincennes.generic.long=Fuso orientale
-America/Indiana/Winamac.generic.long=Fuso orientale
-America/Indianapolis.generic.long=Fuso orientale
-America/Inuvik.generic.long=Ora fuso occidentale
-America/Iqaluit.generic.long=Fuso orientale
-America/Jamaica.generic.long=Fuso orientale
-America/Jujuy.generic.long=Ora dell'Argentina
-America/Juneau.generic.long=Ora Alaska
-America/Kentucky/Louisville.generic.long=Fuso orientale
-America/Kentucky/Monticello.generic.long=Fuso orientale
-America/Knox_IN.generic.long=Ora fuso centrale
-America/Kralendijk.generic.long=Fuso dell'Atlantico
-America/La_Paz.generic.long=Ora della Bolivia
-America/Lima.generic.long=Ora del Per\u00F9
-America/Los_Angeles.generic.long=Fuso del Pacifico
-America/Louisville.generic.long=Fuso orientale
-America/Lower_Princes.generic.long=Fuso dell'Atlantico
-America/Maceio.generic.long=Ora di Brasilia
-America/Managua.generic.long=Ora fuso centrale
-America/Manaus.generic.long=Ora dell'Amazzonia
-America/Marigot.generic.long=Fuso dell'Atlantico
-America/Martinique.generic.long=Fuso dell'Atlantico
-America/Matamoros.generic.long=Ora fuso centrale
-America/Mazatlan.generic.long=Ora fuso occidentale
-America/Mendoza.generic.long=Ora dell'Argentina
-America/Menominee.generic.long=Ora fuso centrale
-America/Merida.generic.long=Ora fuso centrale
-America/Metlakatla.daylight.long=Ora legale di Metlakatla
-America/Metlakatla.generic.long=Ora di Metlakatla
-America/Metlakatla.standard.long=Ora standard di Metlakatla
-America/Mexico_City.generic.long=Ora fuso centrale
-America/Miquelon.generic.long=Ora Saint-Pierre e Miquelon
-America/Moncton.generic.long=Fuso dell'Atlantico
-America/Monterrey.generic.long=Ora fuso centrale
-America/Montevideo.generic.long=Ora dell'Uruguay
-America/Montreal.generic.long=Fuso orientale
-America/Montserrat.generic.long=Fuso dell'Atlantico
-America/Nassau.generic.long=Fuso orientale
-America/New_York.generic.long=Fuso orientale
-America/Nipigon.generic.long=Fuso orientale
-America/Nome.generic.long=Ora Alaska
-America/Noronha.generic.long=Ora di Fernando de Noronha
-America/North_Dakota/Beulah.generic.long=Ora fuso centrale
-America/North_Dakota/Center.generic.long=Ora fuso centrale
-America/North_Dakota/New_Salem.generic.long=Ora fuso centrale
-America/Ojinaga.generic.long=Ora fuso occidentale
-America/Panama.generic.long=Fuso orientale
-America/Pangnirtung.generic.long=Fuso orientale
-America/Paramaribo.generic.long=Ora di Suriname
-America/Phoenix.generic.long=Ora fuso occidentale
-America/Port-au-Prince.generic.long=Fuso orientale
-America/Port_of_Spain.generic.long=Fuso dell'Atlantico
-America/Porto_Acre.generic.long=Ora di Acre
-America/Porto_Velho.generic.long=Ora dell'Amazzonia
-America/Puerto_Rico.generic.long=Fuso dell'Atlantico
-America/Rainy_River.generic.long=Ora fuso centrale
-America/Rankin_Inlet.generic.long=Ora fuso centrale
-America/Recife.generic.long=Ora di Brasilia
-America/Regina.generic.long=Ora fuso centrale
-America/Resolute.generic.long=Ora fuso centrale
-America/Rio_Branco.generic.long=Ora di Acre
-America/Rosario.generic.long=Ora dell'Argentina
-America/Santa_Isabel.generic.long=Fuso del Pacifico
-America/Santarem.generic.long=Ora di Brasilia
-America/Santiago.generic.long=Ora del Cile
-America/Santo_Domingo.generic.long=Fuso dell'Atlantico
-America/Sao_Paulo.generic.long=Ora di Brasilia
-America/Scoresbysund.generic.long=Ora della Groenlandia orientale
-America/Shiprock.generic.long=Ora fuso occidentale
-America/Sitka.generic.long=Ora Alaska
-America/St_Barthelemy.generic.long=Fuso dell'Atlantico
-America/St_Johns.generic.long=Ora Terranova
-America/St_Kitts.generic.long=Fuso dell'Atlantico
-America/St_Lucia.generic.long=Fuso dell'Atlantico
-America/St_Thomas.generic.long=Fuso dell'Atlantico
-America/St_Vincent.generic.long=Fuso dell'Atlantico
-America/Swift_Current.generic.long=Ora fuso centrale
-America/Tegucigalpa.generic.long=Ora fuso centrale
-America/Thule.generic.long=Fuso dell'Atlantico
-America/Thunder_Bay.generic.long=Fuso orientale
-America/Tijuana.generic.long=Fuso del Pacifico
-America/Toronto.generic.long=Fuso orientale
-America/Tortola.generic.long=Fuso dell'Atlantico
-America/Vancouver.generic.long=Fuso del Pacifico
-America/Virgin.generic.long=Fuso dell'Atlantico
-America/Whitehorse.generic.long=Fuso del Pacifico
-America/Winnipeg.generic.long=Ora fuso centrale
-America/Yakutat.generic.long=Ora Alaska
-America/Yellowknife.generic.long=Ora fuso occidentale
-Antarctica/Casey.daylight.long=Ora estiva dell'Australia occidentale
-Antarctica/Casey.generic.long=Ora Australia occidentale
-Antarctica/Casey.standard.long=Ora standard dell'Australia occidentale
-Antarctica/Davis.generic.long=Ora di Davis
-Antarctica/DumontDUrville.generic.long=Ora di Dumont-d'Urville
-Antarctica/Macquarie.daylight.long=Ora estiva dell'Isola Macquarie
-Antarctica/Macquarie.generic.long=Ora dell'Isola Macquarie
-Antarctica/Macquarie.standard.long=Ora dell'Isola Macquarie
-Antarctica/Mawson.generic.long=Ora di Mawson
-Antarctica/McMurdo.generic.long=Ora Nuova Zelanda
-Antarctica/Palmer.generic.long=Ora del Cile
-Antarctica/Rothera.generic.long=Ora di Rothera
-Antarctica/South_Pole.generic.long=Ora Nuova Zelanda
-Antarctica/Syowa.generic.long=Ora di Syowa
-Antarctica/Vostok.generic.long=Ora di Vostok
-Arctic/Longyearbyen.generic.long=Ora dell'Europa centrale
-Asia/Aden.generic.long=Ora Arabia Saudita
-Asia/Almaty.generic.long=Ora di Alma-Ata
-Asia/Amman.generic.long=Ora Arabia Saudita
-Asia/Anadyr.generic.long=Ora di Anadyr
-Asia/Aqtau.generic.long=Ora di Aqtau
-Asia/Aqtobe.generic.long=Ora di Aqtobe
-Asia/Ashgabat.generic.long=Ora del Turkmenistan
-Asia/Ashkhabad.generic.long=Ora del Turkmenistan
-Asia/Baghdad.generic.long=Ora Arabia Saudita
-Asia/Bahrain.generic.long=Ora Arabia Saudita
-Asia/Baku.generic.long=Ora dell'Azerbaigian
-Asia/Bangkok.generic.long=Ora dell'Indocina
-Asia/Beirut.generic.long=Ora dell'Europa orientale
-Asia/Bishkek.generic.long=Ora del Kirghizistan
-Asia/Brunei.generic.long=Ora del Brunei
-Asia/Calcutta.generic.long=Ora India
-Asia/Choibalsan.generic.long=Ora di Choibalsan
-Asia/Chongqing.generic.long=Ora Cina
-Asia/Chungking.generic.long=Ora Cina
-Asia/Colombo.generic.long=Ora India
-Asia/Dacca.generic.long=Ora del Bangladesh
-Asia/Damascus.generic.long=Ora dell'Europa orientale
-Asia/Dhaka.generic.long=Ora del Bangladesh
-Asia/Dili.generic.long=Ora di Timor Est
-Asia/Dubai.generic.long=Ora del golfo
-Asia/Dushanbe.generic.long=Ora del Tagikistan
-Asia/Gaza.generic.long=Ora dell'Europa orientale
-Asia/Harbin.generic.long=Ora Cina
-Asia/Hebron.generic.long=Ora dell'Europa orientale
-Asia/Ho_Chi_Minh.generic.long=Ora dell'Indocina
-Asia/Hong_Kong.generic.long=Ora di Hong Kong
-Asia/Hovd.generic.long=Ora di Hovd
-Asia/Irkutsk.generic.long=Ora di Irkutsk
-Asia/Istanbul.generic.long=Ora dell'Europa orientale
-Asia/Jakarta.generic.long=Ora dell'Indonesia occidentale
-Asia/Jayapura.generic.long=Ora dell'Indonesia orientale
-Asia/Jerusalem.generic.long=Ora Israele
-Asia/Kabul.generic.long=Ora dell'Afghanistan
-Asia/Kamchatka.generic.long=Ora di Petropavlovsk-Kamchatski
-Asia/Karachi.generic.long=Ora del Pakistan
-Asia/Kashgar.generic.long=Ora Cina
-Asia/Kathmandu.generic.long=Ora del Nepal
-Asia/Katmandu.generic.long=Ora del Nepal
-Asia/Khandyga.daylight.long=Ora estiva di Khandyga
-Asia/Khandyga.generic.long=Ora di Khandyga
-Asia/Khandyga.standard.long=Ora di Khandyga
-Asia/Kolkata.generic.long=Ora India
-Asia/Krasnoyarsk.generic.long=Ora di Krasnojarsk
-Asia/Kuala_Lumpur.generic.long=Ora della Malaysia
-Asia/Kuching.generic.long=Ora della Malaysia
-Asia/Kuwait.generic.long=Ora Arabia Saudita
-Asia/Macao.generic.long=Ora Cina
-Asia/Macau.generic.long=Ora Cina
-Asia/Magadan.generic.long=Ora di Magadan
-Asia/Makassar.generic.long=Ora dell'Indonesia centrale
-Asia/Manila.generic.long=Ora delle Filippine
-Asia/Muscat.generic.long=Ora del golfo
-Asia/Nicosia.generic.long=Ora dell'Europa orientale
-Asia/Novokuznetsk.generic.long=Ora di Novosibirsk
-Asia/Novosibirsk.generic.long=Ora di Novosibirsk
-Asia/Omsk.generic.long=Ora di Omsk
-Asia/Oral.generic.long=Ora di Oral
-Asia/Phnom_Penh.generic.long=Ora dell'Indocina
-Asia/Pontianak.generic.long=Ora dell'Indonesia occidentale
-Asia/Pyongyang.generic.long=Ora Corea
-Asia/Qatar.generic.long=Ora Arabia Saudita
-Asia/Qyzylorda.generic.long=Ora di Qyzylorda
-Asia/Rangoon.generic.long=Ora della Birmania/Myanmar
-Asia/Saigon.generic.long=Ora dell'Indocina
-Asia/Sakhalin.generic.long=Ora di Sakhalin
-Asia/Samarkand.generic.long=Ora dell'Uzbekistan
-Asia/Seoul.generic.long=Ora Corea
-Asia/Shanghai.generic.long=Ora Cina
-Asia/Singapore.generic.long=Ora di Singapore
-Asia/Taipei.generic.long=Ora Cina
-Asia/Tashkent.generic.long=Ora dell'Uzbekistan
-Asia/Tbilisi.generic.long=Ora della Georgia
-Asia/Tehran.generic.long=Ora Iran
-Asia/Tel_Aviv.generic.long=Ora Israele
-Asia/Thimbu.generic.long=Ora del Bhutan
-Asia/Thimphu.generic.long=Ora del Bhutan
-Asia/Tokyo.generic.long=Ora Giappone
-Asia/Ujung_Pandang.generic.long=Ora dell'Indonesia centrale
-Asia/Ulaanbaatar.generic.long=Ora di Ulaanbaatar
-Asia/Ulan_Bator.generic.long=Ora di Ulaanbaatar
-Asia/Urumqi.generic.long=Ora Cina
-Asia/Ust-Nera.daylight.long=Ora estiva di Ust-Nera
-Asia/Ust-Nera.generic.long=Ora di Ust-Nera
-Asia/Ust-Nera.standard.long=Ora di Ust-Nera
-Asia/Vientiane.generic.long=Ora dell'Indocina
-Asia/Vladivostok.generic.long=Ora di Vladivostok
-Asia/Yakutsk.generic.long=Ora di Yakutsk
-Asia/Yekaterinburg.generic.long=Ora di Ekaterinburg
-Asia/Yerevan.generic.long=Ora dell'Armenia
-Atlantic/Azores.generic.long=Ora delle Azzorre
-Atlantic/Bermuda.generic.long=Fuso dell'Atlantico
-Atlantic/Canary.generic.long=Ora dell'Europa occidentale
-Atlantic/Cape_Verde.generic.long=Ora di Capo Verde
-Atlantic/Faeroe.generic.long=Ora dell'Europa occidentale
-Atlantic/Faroe.generic.long=Ora dell'Europa occidentale
-Atlantic/Jan_Mayen.generic.long=Ora dell'Europa centrale
-Atlantic/Madeira.generic.long=Ora dell'Europa occidentale
-Atlantic/Reykjavik.generic.long=Ora media di Greenwich
-Atlantic/South_Georgia.generic.long=Ora Georgia del Sud
-Atlantic/St_Helena.generic.long=Ora media di Greenwich
-Atlantic/Stanley.generic.long=Ora delle Falkland
-Australia/ACT.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-Australia/ACT.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-Australia/ACT.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Adelaide.daylight.long=Ora estiva centrale (Australia del Sud)
-Australia/Adelaide.generic.long=Ora fuso centrale (Australia del Sud)
-Australia/Adelaide.standard.long=Ora standard centrale (Australia del Sud)
-Australia/Brisbane.daylight.long=Ora estiva orientale (Queensland)
-Australia/Brisbane.generic.long=Ora fuso orientale (Queensland)
-Australia/Brisbane.standard.long=Ora standard orientale (Queensland)
-Australia/Broken_Hill.daylight.long=Ora estiva centrale (Australia del Sud/Nuovo Galles del Sud)
-Australia/Broken_Hill.generic.long=Ora fuso centrale (Australia del Sud/Nuovo Galles del Sud)
-Australia/Broken_Hill.standard.long=Ora standard centrale (Australia del Sud/Nuovo Galles del Sud)
-Australia/Canberra.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Canberra.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-Australia/Canberra.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Currie.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Currie.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-Australia/Currie.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Darwin.daylight.long=Ora estiva centrale (Territori del Nord)
-Australia/Darwin.generic.long=Ora fuso centrale (Territori del Nord)
-Australia/Darwin.standard.long=Ora standard centrale (Territori del Nord)
-Australia/Eucla.daylight.long=Ora estiva Australia centro-occidentale
-Australia/Eucla.generic.long=Ora Australia centro-occidentale
-Australia/Eucla.standard.long=Ora standard Australia centro-occidentale
-Australia/Hobart.daylight.long=Ora estiva orientale (Tasmania)
-Australia/Hobart.generic.long=Ora fuso orientale (Tasmania)
-Australia/Hobart.standard.long=Ora standard orientale (Tasmania)
-Australia/LHI.generic.long=Ora di Lord Howe
-Australia/Lindeman.daylight.long=Ora estiva orientale (Queensland)
-Australia/Lindeman.generic.long=Ora fuso orientale (Queensland)
-Australia/Lindeman.standard.long=Ora standard orientale (Queensland)
-Australia/Lord_Howe.generic.long=Ora di Lord Howe
-Australia/Melbourne.daylight.long=Ora estiva orientale (Victoria)
-Australia/Melbourne.generic.long=Ora fuso orientale (Victoria)
-Australia/Melbourne.standard.long=Ora standard orientale (Victoria)
-Australia/NSW.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-Australia/NSW.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-Australia/NSW.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-Australia/North.daylight.long=Ora estiva centrale (Territori del Nord)
-Australia/North.generic.long=Ora fuso centrale (Territori del Nord)
-Australia/North.standard.long=Ora standard centrale (Territori del Nord)
-Australia/Perth.daylight.long=Ora estiva dell'Australia occidentale
-Australia/Perth.generic.long=Ora Australia occidentale
-Australia/Perth.standard.long=Ora standard dell'Australia occidentale
-Australia/Queensland.daylight.long=Ora estiva orientale (Queensland)
-Australia/Queensland.generic.long=Ora fuso orientale (Queensland)
-Australia/Queensland.standard.long=Ora standard orientale (Queensland)
-Australia/South.daylight.long=Ora estiva centrale (Australia del Sud)
-Australia/South.generic.long=Ora fuso centrale (Australia del Sud)
-Australia/South.standard.long=Ora standard centrale (Australia del Sud)
-Australia/Sydney.daylight.long=Ora estiva dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Sydney.generic.long=Ora fuso orientale (Nuovo Galles del Sud)
-Australia/Sydney.standard.long=Ora standard dell'Australia orientale (Nuovo Galles del Sud)
-Australia/Tasmania.daylight.long=Ora estiva orientale (Tasmania)
-Australia/Tasmania.generic.long=Ora fuso orientale (Tasmania)
-Australia/Tasmania.standard.long=Ora standard orientale (Tasmania)
-Australia/Victoria.daylight.long=Ora estiva orientale (Victoria)
-Australia/Victoria.generic.long=Ora fuso orientale (Victoria)
-Australia/Victoria.standard.long=Ora standard orientale (Victoria)
-Australia/West.daylight.long=Ora estiva dell'Australia occidentale
-Australia/West.generic.long=Ora Australia occidentale
-Australia/West.standard.long=Ora standard dell'Australia occidentale
-Australia/Yancowinna.daylight.long=Ora estiva centrale (Australia del Sud/Nuovo Galles del Sud)
-Australia/Yancowinna.generic.long=Ora fuso centrale (Australia del Sud/Nuovo Galles del Sud)
-Australia/Yancowinna.standard.long=Ora standard centrale (Australia del Sud/Nuovo Galles del Sud)
-BET.generic.long=Ora di Brasilia
-BST.generic.long=Ora del Bangladesh
-Brazil/Acre.generic.long=Ora di Acre
-Brazil/DeNoronha.generic.long=Ora di Fernando de Noronha
-Brazil/East.generic.long=Ora di Brasilia
-Brazil/West.generic.long=Ora dell'Amazzonia
-CAT.generic.long=Ora dell'Africa centrale
-CET.generic.long=Ora dell'Europa centrale
-CNT.generic.long=Ora Terranova
-CST.generic.long=Ora fuso centrale
-CST6CDT.generic.long=Ora fuso centrale
-CTT.generic.long=Ora Cina
-Canada/Atlantic.generic.long=Fuso dell'Atlantico
-Canada/Central.generic.long=Ora fuso centrale
-Canada/East-Saskatchewan.generic.long=Ora fuso centrale
-Canada/Eastern.generic.long=Fuso orientale
-Canada/Mountain.generic.long=Ora fuso occidentale
-Canada/Newfoundland.generic.long=Ora Terranova
-Canada/Pacific.generic.long=Fuso del Pacifico
-Canada/Saskatchewan.generic.long=Ora fuso centrale
-Canada/Yukon.generic.long=Fuso del Pacifico
-Chile/Continental.generic.long=Ora del Cile
-Chile/EasterIsland.generic.long=Ora dell'Isola di Pasqua
-Cuba.generic.long=Ora di Cuba
-EAT.generic.long=Ora dell'Africa orientale
-ECT.generic.long=Ora dell'Europa centrale
-EET.generic.long=Ora dell'Europa orientale
-EST.generic.long=Fuso orientale
-EST5EDT.generic.long=Fuso orientale
-Egypt.generic.long=Ora dell'Europa orientale
-Eire.generic.long=Ora irlandese
-Etc/Greenwich.generic.long=Ora media di Greenwich
-Etc/UCT.generic.long=Tempo universale coordinato
-Etc/UTC.generic.long=Tempo universale coordinato
-Etc/Universal.generic.long=Tempo universale coordinato
-Etc/Zulu.generic.long=Tempo universale coordinato
-Europe/Amsterdam.generic.long=Ora dell'Europa centrale
-Europe/Andorra.generic.long=Ora dell'Europa centrale
-Europe/Athens.generic.long=Ora dell'Europa orientale
-Europe/Belfast.generic.long=Ora britannica
-Europe/Belgrade.generic.long=Ora dell'Europa centrale
-Europe/Berlin.generic.long=Ora dell'Europa centrale
-Europe/Bratislava.generic.long=Ora dell'Europa centrale
-Europe/Brussels.generic.long=Ora dell'Europa centrale
-Europe/Bucharest.generic.long=Ora dell'Europa orientale
-Europe/Budapest.generic.long=Ora dell'Europa centrale
-Europe/Busingen.generic.long=Ora dell'Europa centrale
-Europe/Chisinau.generic.long=Ora dell'Europa orientale
-Europe/Copenhagen.generic.long=Ora dell'Europa centrale
-Europe/Dublin.generic.long=Ora irlandese
-Europe/Gibraltar.generic.long=Ora dell'Europa centrale
-Europe/Guernsey.generic.long=Ora britannica
-Europe/Helsinki.generic.long=Ora dell'Europa orientale
-Europe/Isle_of_Man.generic.long=Ora britannica
-Europe/Istanbul.generic.long=Ora dell'Europa orientale
-Europe/Jersey.generic.long=Ora britannica
-Europe/Kaliningrad.daylight.long=Ora estiva dei paesi europei pi\u00F9 orientali
-Europe/Kaliningrad.generic.long=Ora dei paesi europei pi\u00F9 orientali
-Europe/Kaliningrad.standard.long=Ora dei paesi europei pi\u00F9 orientali
-Europe/Kiev.generic.long=Ora dell'Europa orientale
-Europe/Lisbon.generic.long=Ora dell'Europa occidentale
-Europe/Ljubljana.generic.long=Ora dell'Europa centrale
-Europe/London.generic.long=Ora britannica
-Europe/Luxembourg.generic.long=Ora dell'Europa centrale
-Europe/Madrid.generic.long=Ora dell'Europa centrale
-Europe/Malta.generic.long=Ora dell'Europa centrale
-Europe/Mariehamn.generic.long=Ora dell'Europa orientale
-Europe/Minsk.daylight.long=Ora estiva dei paesi europei pi\u00F9 orientali
-Europe/Minsk.generic.long=Ora dei paesi europei pi\u00F9 orientali
-Europe/Minsk.standard.long=Ora dei paesi europei pi\u00F9 orientali
-Europe/Monaco.generic.long=Ora dell'Europa centrale
-Europe/Moscow.generic.long=Ora Mosca
-Europe/Nicosia.generic.long=Ora dell'Europa orientale
-Europe/Oslo.generic.long=Ora dell'Europa centrale
-Europe/Paris.generic.long=Ora dell'Europa centrale
-Europe/Podgorica.generic.long=Ora dell'Europa centrale
-Europe/Prague.generic.long=Ora dell'Europa centrale
-Europe/Riga.generic.long=Ora dell'Europa orientale
-Europe/Rome.generic.long=Ora dell'Europa centrale
-Europe/Samara.generic.long=Ora di Samara
-Europe/San_Marino.generic.long=Ora dell'Europa centrale
-Europe/Sarajevo.generic.long=Ora dell'Europa centrale
-Europe/Simferopol.generic.long=Ora dell'Europa orientale
-Europe/Skopje.generic.long=Ora dell'Europa centrale
-Europe/Sofia.generic.long=Ora dell'Europa orientale
-Europe/Stockholm.generic.long=Ora dell'Europa centrale
-Europe/Tallinn.generic.long=Ora dell'Europa orientale
-Europe/Tirane.generic.long=Ora dell'Europa centrale
-Europe/Tiraspol.generic.long=Ora dell'Europa orientale
-Europe/Uzhgorod.generic.long=Ora dell'Europa orientale
-Europe/Vaduz.generic.long=Ora dell'Europa centrale
-Europe/Vatican.generic.long=Ora dell'Europa centrale
-Europe/Vienna.generic.long=Ora dell'Europa centrale
-Europe/Vilnius.generic.long=Ora dell'Europa orientale
-Europe/Volgograd.generic.long=Ora di Volgograd
-Europe/Warsaw.generic.long=Ora dell'Europa centrale
-Europe/Zagreb.generic.long=Ora dell'Europa centrale
-Europe/Zaporozhye.generic.long=Ora dell'Europa orientale
-Europe/Zurich.generic.long=Ora dell'Europa centrale
-GB-Eire.generic.long=Ora britannica
-GB.generic.long=Ora britannica
-GMT.generic.long=Ora media di Greenwich
-Greenwich.generic.long=Ora media di Greenwich
-HST.generic.long=Ora Hawaii
-Hongkong.generic.long=Ora di Hong Kong
-IET.generic.long=Fuso orientale
-IST.generic.long=Ora India
-Iceland.generic.long=Ora media di Greenwich
-Indian/Antananarivo.generic.long=Ora dell'Africa orientale
-Indian/Chagos.generic.long=Ora del Territorio Britannico dell'Oceano Indiano
-Indian/Christmas.generic.long=Ora dell'Isola Christmas
-Indian/Cocos.generic.long=Ora delle Isole Cocos
-Indian/Comoro.generic.long=Ora dell'Africa orientale
-Indian/Kerguelen.generic.long=Ora delle Terre Australi e Antartiche Francesi
-Indian/Mahe.generic.long=Ora delle Seychelles
-Indian/Maldives.generic.long=Ora delle Maldive
-Indian/Mauritius.generic.long=Ora di Mauritius
-Indian/Mayotte.generic.long=Ora dell'Africa orientale
-Indian/Reunion.generic.long=Ora di Reunion
-Iran.generic.long=Ora Iran
-Israel.generic.long=Ora Israele
-JST.generic.long=Ora Giappone
-Jamaica.generic.long=Fuso orientale
-Japan.generic.long=Ora Giappone
-Kwajalein.generic.long=Ora delle Isole Marshall
-Libya.generic.long=Ora dell'Europa orientale
-MET.generic.long=MET
-MIT.generic.long=Ora di Samoa occidentale
-MST.generic.long=Ora fuso occidentale
-MST7MDT.generic.long=Ora fuso occidentale
-Mexico/BajaNorte.generic.long=Fuso del Pacifico
-Mexico/BajaSur.generic.long=Ora fuso occidentale
-Mexico/General.generic.long=Ora fuso centrale
-NET.generic.long=Ora dell'Armenia
-NST.generic.long=Ora Nuova Zelanda
-NZ-CHAT.generic.long=Ora Chatham
-NZ.generic.long=Ora Nuova Zelanda
-Navajo.generic.long=Ora fuso occidentale
-PLT.generic.long=Ora del Pakistan
-PNT.generic.long=Ora fuso occidentale
-PRC.generic.long=Ora Cina
-PRT.generic.long=Fuso dell'Atlantico
-PST.generic.long=Fuso del Pacifico
-PST8PDT.generic.long=Fuso del Pacifico
-Pacific/Apia.generic.long=Ora di Samoa occidentale
-Pacific/Auckland.generic.long=Ora Nuova Zelanda
-Pacific/Chatham.generic.long=Ora Chatham
-Pacific/Chuuk.daylight.long=Ora estiva di Chuuk
-Pacific/Chuuk.generic.long=Ora di Chuuk
-Pacific/Chuuk.standard.long=Ora di Chuuk
-Pacific/Easter.generic.long=Ora dell'Isola di Pasqua
-Pacific/Efate.generic.long=Ora di Vanuatu
-Pacific/Enderbury.generic.long=Ora delle Isole Phoenix
-Pacific/Fakaofo.generic.long=Ora di Tokelau
-Pacific/Fiji.generic.long=Ora di Figi
-Pacific/Funafuti.generic.long=Ora di Tuvalu
-Pacific/Galapagos.generic.long=Ora delle Galapagos
-Pacific/Gambier.generic.long=Ora di Gambier
-Pacific/Guadalcanal.generic.long=Ora delle Isole Salomone
-Pacific/Guam.generic.long=Ora Chamorro
-Pacific/Honolulu.generic.long=Ora Hawaii
-Pacific/Johnston.generic.long=Ora Hawaii
-Pacific/Kiritimati.generic.long=Ora delle Line Islands
-Pacific/Kosrae.generic.long=Ora di Kosrae
-Pacific/Kwajalein.generic.long=Ora delle Isole Marshall
-Pacific/Majuro.generic.long=Ora delle Isole Marshall
-Pacific/Marquesas.generic.long=Ora delle Isole Marchesi
-Pacific/Midway.generic.long=Ora Samoa
-Pacific/Nauru.generic.long=Ora di Nauru
-Pacific/Niue.generic.long=Ora di Niue
-Pacific/Norfolk.generic.long=Ora di Norfolk
-Pacific/Noumea.generic.long=Ora della Nuova Caledonia
-Pacific/Pago_Pago.generic.long=Ora Samoa
-Pacific/Palau.generic.long=Ora di Palau
-Pacific/Pitcairn.generic.long=Ora Pitcairn
-Pacific/Pohnpei.daylight.long=Ora estiva di Pohnpei
-Pacific/Pohnpei.generic.long=Ora Ponape
-Pacific/Pohnpei.standard.long=Ora di Pohnpei
-Pacific/Ponape.daylight.long=Ora estiva di Pohnpei
-Pacific/Ponape.generic.long=Ora Ponape
-Pacific/Ponape.standard.long=Ora di Pohnpei
-Pacific/Port_Moresby.generic.long=Ora di Papua Nuova Guinea
-Pacific/Rarotonga.generic.long=Ora delle Isole Cook
-Pacific/Saipan.generic.long=Ora Chamorro
-Pacific/Samoa.generic.long=Ora Samoa
-Pacific/Tahiti.generic.long=Ora di Tahiti
-Pacific/Tarawa.generic.long=Ora delle Isole Gilbert
-Pacific/Tongatapu.generic.long=Ora di Tonga
-Pacific/Truk.daylight.long=Ora estiva di Chuuk
-Pacific/Truk.generic.long=Ora di Chuuk
-Pacific/Truk.standard.long=Ora di Chuuk
-Pacific/Wake.generic.long=Ora di Wake
-Pacific/Wallis.generic.long=Ora di Wallis e Futuna
-Pacific/Yap.daylight.long=Ora estiva di Chuuk
-Pacific/Yap.generic.long=Ora di Chuuk
-Pacific/Yap.standard.long=Ora di Chuuk
-Poland.generic.long=Ora dell'Europa centrale
-Portugal.generic.long=Ora dell'Europa occidentale
-ROK.generic.long=Ora Corea
-SST.generic.long=Ora delle Isole Salomone
-Singapore.generic.long=Ora di Singapore
-SystemV/AST4.generic.long=Fuso dell'Atlantico
-SystemV/AST4ADT.generic.long=Fuso dell'Atlantico
-SystemV/CST6.generic.long=Ora fuso centrale
-SystemV/CST6CDT.generic.long=Ora fuso centrale
-SystemV/EST5.generic.long=Fuso orientale
-SystemV/EST5EDT.generic.long=Fuso orientale
-SystemV/HST10.generic.long=Ora Hawaii
-SystemV/MST7.generic.long=Ora fuso occidentale
-SystemV/MST7MDT.generic.long=Ora fuso occidentale
-SystemV/PST8.generic.long=Fuso del Pacifico
-SystemV/PST8PDT.generic.long=Fuso del Pacifico
-SystemV/YST9.generic.long=Ora Alaska
-SystemV/YST9YDT.generic.long=Ora Alaska
-Turkey.generic.long=Ora dell'Europa orientale
-UCT.generic.long=Tempo universale coordinato
-US/Alaska.generic.long=Ora Alaska
-US/Aleutian.generic.long=Ora Hawaii-Aleutine
-US/Arizona.generic.long=Ora fuso occidentale
-US/Central.generic.long=Ora fuso centrale
-US/East-Indiana.generic.long=Fuso orientale
-US/Eastern.generic.long=Fuso orientale
-US/Hawaii.generic.long=Ora Hawaii
-US/Indiana-Starke.generic.long=Ora fuso centrale
-US/Michigan.generic.long=Fuso orientale
-US/Mountain.generic.long=Ora fuso occidentale
-US/Pacific-New.generic.long=Fuso del Pacifico
-US/Pacific.generic.long=Fuso del Pacifico
-US/Samoa.generic.long=Ora Samoa
-UTC.generic.long=Tempo universale coordinato
-Universal.generic.long=Tempo universale coordinato
-VST.generic.long=Ora dell'Indocina
-W-SU.generic.long=Ora Mosca
-WET.generic.long=Ora dell'Europa occidentale
-Zulu.generic.long=Tempo universale coordinato
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_it_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja.properties
deleted file mode 100644
index ac5a86d..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-ACT.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-ACT.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-AET.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-AET.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-AET.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-AGT.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-ART.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-AST.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-Africa/Abidjan.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Accra.generic.long=\u30AC\u30FC\u30CA\u6A19\u6E96\u6642
-Africa/Addis_Ababa.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Algiers.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Asmara.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Asmera.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Bamako.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Bangui.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Banjul.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Bissau.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Blantyre.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Brazzaville.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Bujumbura.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Cairo.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Casablanca.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Ceuta.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Conakry.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Dakar.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Dar_es_Salaam.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Djibouti.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Douala.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/El_Aaiun.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Freetown.generic.long=\u30B7\u30A8\u30E9\u30EC\u30AA\u30CD\u6642\u9593
-Africa/Gaborone.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Harare.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Johannesburg.generic.long=\u5357\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Juba.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Kampala.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Khartoum.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Kigali.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Kinshasa.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Lagos.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Libreville.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Lome.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Luanda.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Lubumbashi.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Lusaka.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Malabo.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Maputo.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Maseru.generic.long=\u5357\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Mbabane.generic.long=\u5357\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Mogadishu.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Monrovia.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Nairobi.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Ndjamena.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Niamey.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Nouakchott.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Ouagadougou.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Porto-Novo.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Africa/Sao_Tome.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Timbuktu.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Africa/Tripoli.generic.long=\u6771\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593
-Africa/Tunis.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Africa/Windhoek.generic.long=\u897F\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-America/Adak.generic.long=\u30CF\u30EF\u30A4\u30FB\u30A2\u30EA\u30E5\u30FC\u30B7\u30E3\u30F3\u6642\u9593
-America/Anchorage.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-America/Anguilla.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Antigua.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Araguaina.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Argentina/Buenos_Aires.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Catamarca.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/ComodRivadavia.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Cordoba.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Jujuy.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/La_Rioja.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Mendoza.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Rio_Gallegos.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Salta.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/San_Juan.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/San_Luis.generic.long=\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3\u6642\u9593
-America/Argentina/Tucuman.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Argentina/Ushuaia.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Aruba.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Asuncion.generic.long=\u30D1\u30E9\u30B0\u30A2\u30A4\u6642\u9593
-America/Atikokan.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Atka.generic.long=\u30CF\u30EF\u30A4\u30FB\u30A2\u30EA\u30E5\u30FC\u30B7\u30E3\u30F3\u6642\u9593
-America/Bahia.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Bahia_Banderas.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Barbados.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Belem.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Belize.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Blanc-Sablon.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Boa_Vista.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-America/Bogota.generic.long=\u30B3\u30ED\u30F3\u30D3\u30A2\u6642\u9593
-America/Boise.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Buenos_Aires.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Cambridge_Bay.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Campo_Grande.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-America/Cancun.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Caracas.generic.long=\u30D9\u30CD\u30BA\u30A8\u30E9\u6642\u9593
-America/Catamarca.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Cayenne.generic.long=\u30D5\u30E9\u30F3\u30B9\u9818\u30AE\u30A2\u30CA\u6642\u9593
-America/Cayman.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Chicago.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Chihuahua.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Coral_Harbour.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Cordoba.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Costa_Rica.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Creston.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Cuiaba.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-America/Curacao.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Danmarkshavn.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-America/Dawson.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Dawson_Creek.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Denver.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Detroit.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Dominica.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Edmonton.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Eirunepe.generic.long=\u30a2\u30af\u30ec\u6642\u9593
-America/El_Salvador.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Ensenada.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Fort_Wayne.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Fortaleza.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Glace_Bay.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Godthab.generic.long=\u897F\u90E8\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9\u6642\u9593
-America/Goose_Bay.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Grand_Turk.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Grenada.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Guadeloupe.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Guatemala.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Guayaquil.generic.long=\u30A8\u30AF\u30A2\u30C9\u30EB\u6642\u9593
-America/Guyana.generic.long=\u30AC\u30A4\u30A2\u30CA\u6642\u9593
-America/Halifax.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Havana.generic.long=\u30AD\u30E5\u30FC\u30D0\u6642\u9593
-America/Hermosillo.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Indiana/Indianapolis.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indiana/Knox.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Indiana/Marengo.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indiana/Petersburg.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indiana/Tell_City.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Indiana/Vevay.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indiana/Vincennes.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indiana/Winamac.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Indianapolis.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Inuvik.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Iqaluit.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Jamaica.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Jujuy.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Juneau.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-America/Kentucky/Louisville.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Kentucky/Monticello.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Knox_IN.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Kralendijk.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/La_Paz.generic.long=\u30DC\u30EA\u30D3\u30A2\u6642\u9593
-America/Lima.generic.long=\u30DA\u30EB\u30FC\u6642\u9593
-America/Los_Angeles.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Louisville.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Lower_Princes.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Maceio.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Managua.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Manaus.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-America/Marigot.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Martinique.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Matamoros.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Mazatlan.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Mendoza.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Menominee.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Merida.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Metlakatla.daylight.long=\u30E1\u30C8\u30E9\u30AB\u30C8\u30E9\u590F\u6642\u9593
-America/Metlakatla.generic.long=\u30E1\u30C8\u30E9\u30AB\u30C8\u30E9\u6642\u9593
-America/Metlakatla.standard.long=\u30E1\u30C8\u30E9\u30AB\u30C8\u30E9\u6A19\u6E96\u6642\u9593
-America/Mexico_City.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Miquelon.generic.long=\u30D4\u30A8\u30FC\u30EB\u30FB\u30DF\u30AF\u30ED\u30F3\u6642\u9593
-America/Moncton.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Monterrey.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Montevideo.generic.long=\u30A6\u30EB\u30B0\u30A2\u30A4\u6642\u9593
-America/Montreal.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Montserrat.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Nassau.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/New_York.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Nipigon.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Nome.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-America/Noronha.generic.long=\u30D5\u30A7\u30EB\u30CA\u30F3\u30C9\u30FB\u30C7\u30FB\u30CE\u30ED\u30FC\u30CB\u30E3\u6642\u9593
-America/North_Dakota/Beulah.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/North_Dakota/Center.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/North_Dakota/New_Salem.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Ojinaga.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Panama.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Pangnirtung.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Paramaribo.generic.long=\u30B9\u30EA\u30CA\u30E0\u6642\u9593
-America/Phoenix.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Port-au-Prince.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Port_of_Spain.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Porto_Acre.generic.long=\u30a2\u30af\u30ec\u6642\u9593
-America/Porto_Velho.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-America/Puerto_Rico.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Rainy_River.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Rankin_Inlet.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Recife.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Regina.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Resolute.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Rio_Branco.generic.long=\u30a2\u30af\u30ec\u6642\u9593
-America/Rosario.generic.long=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3\u6642\u9593
-America/Santa_Isabel.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Santarem.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Santiago.generic.long=\u30C1\u30EA\u6642\u9593
-America/Santo_Domingo.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Sao_Paulo.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-America/Scoresbysund.generic.long=\u6771\u90E8\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9\u6642\u9593
-America/Shiprock.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-America/Sitka.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-America/St_Barthelemy.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/St_Johns.generic.long=\u30CB\u30E5\u30FC\u30D5\u30A1\u30F3\u30C9\u30E9\u30F3\u30C9\u6642\u9593
-America/St_Kitts.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/St_Lucia.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/St_Thomas.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/St_Vincent.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Swift_Current.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Tegucigalpa.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Thule.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Thunder_Bay.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Tijuana.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Toronto.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-America/Tortola.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Vancouver.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Virgin.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-America/Whitehorse.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-America/Winnipeg.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-America/Yakutat.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-America/Yellowknife.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-Antarctica/Casey.daylight.long=\u897F\u90E8\u590F\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Antarctica/Casey.generic.long=\u897F\u90E8\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Antarctica/Casey.standard.long=\u897F\u90E8\u6A19\u6E96\u6642(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Antarctica/Davis.generic.long=\u30C7\u30FC\u30D3\u30B9\u6642\u9593
-Antarctica/DumontDUrville.generic.long=\u30C7\u30E5\u30E2\u30F3\u30FB\u30C7\u30E5\u30EB\u30D3\u30EB\u6642\u9593
-Antarctica/Macquarie.daylight.long=\u30DE\u30C3\u30B3\u30FC\u30EA\u30FC\u5CF6\u590F\u6642\u9593
-Antarctica/Macquarie.generic.long=\u30DE\u30C3\u30B3\u30FC\u30EA\u30FC\u5CF6\u6642\u9593
-Antarctica/Macquarie.standard.long=\u30DE\u30C3\u30B3\u30FC\u30EA\u30FC\u5CF6\u6642\u9593
-Antarctica/Mawson.generic.long=\u30E2\u30FC\u30BD\u30F3\u6642\u9593
-Antarctica/McMurdo.generic.long=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9\u6642\u9593
-Antarctica/Palmer.generic.long=\u30C1\u30EA\u6642\u9593
-Antarctica/Rothera.generic.long=\u30ED\u30BC\u30E9\u6642\u9593
-Antarctica/South_Pole.generic.long=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9\u6642\u9593
-Antarctica/Syowa.generic.long=\u662D\u548C\u57FA\u5730\u6642\u9593
-Antarctica/Vostok.generic.long=\u30DC\u30B9\u30C8\u30FC\u30AF\u6642\u9593
-Arctic/Longyearbyen.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Aden.generic.long=\u30A2\u30E9\u30D3\u30A2\u6642\u9593
-Asia/Almaty.generic.long=\u30A2\u30EB\u30DE\u30A2\u30BF\u6642\u9593
-Asia/Amman.generic.long=\u30a2\u30e9\u30d3\u30a2\u6642\u9593
-Asia/Anadyr.generic.long=\u30A2\u30CA\u30C7\u30A3\u30EA\u6642\u9593
-Asia/Aqtau.generic.long=\u30A2\u30AF\u30BF\u30A6\u6642\u9593
-Asia/Aqtobe.generic.long=\u30A2\u30AF\u30C8\u30D9\u6642\u9593
-Asia/Ashgabat.generic.long=\u30C8\u30EB\u30AF\u30E1\u30CB\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Ashkhabad.generic.long=\u30C8\u30EB\u30AF\u30E1\u30CB\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Baghdad.generic.long=\u30A2\u30E9\u30D3\u30A2\u6642\u9593
-Asia/Bahrain.generic.long=\u30A2\u30E9\u30D3\u30A2\u6642\u9593
-Asia/Baku.generic.long=\u30A2\u30BC\u30EB\u30D0\u30A4\u30B8\u30E3\u30F3\u6642\u9593
-Asia/Bangkok.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-Asia/Beirut.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Bishkek.generic.long=\u30AD\u30EB\u30AE\u30B9\u6642\u9593
-Asia/Brunei.generic.long=\u30D6\u30EB\u30CD\u30A4\u6642\u9593
-Asia/Calcutta.generic.long=\u30A4\u30F3\u30C9\u6642\u9593
-Asia/Choibalsan.generic.long=\u30C1\u30E7\u30A4\u30D0\u30EB\u30B5\u30F3\u6642\u9593
-Asia/Chongqing.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Chungking.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Colombo.generic.long=\u30A4\u30F3\u30C9\u6642\u9593
-Asia/Dacca.generic.long=\u30D0\u30F3\u30B0\u30E9\u30C7\u30B7\u30E5\u6642\u9593
-Asia/Damascus.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Dhaka.generic.long=\u30D0\u30F3\u30B0\u30E9\u30C7\u30B7\u30E5\u6642\u9593
-Asia/Dili.generic.long=\u6771\u30C6\u30A3\u30E2\u30FC\u30EB\u6642\u9593
-Asia/Dubai.generic.long=\u6E7E\u5CB8\u6642\u9593
-Asia/Dushanbe.generic.long=\u30BF\u30B8\u30AD\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Gaza.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Harbin.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Hebron.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Ho_Chi_Minh.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-Asia/Hong_Kong.generic.long=\u9999\u6E2F\u6642\u9593
-Asia/Hovd.generic.long=\u30DB\u30D6\u30C9\u6642\u9593
-Asia/Irkutsk.generic.long=\u30A4\u30EB\u30AF\u30FC\u30C4\u30AF\u6642\u9593
-Asia/Istanbul.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Jakarta.generic.long=\u897F\u90E8\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u6642\u9593
-Asia/Jayapura.generic.long=\u6771\u90E8\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u6642\u9593
-Asia/Jerusalem.generic.long=\u30A4\u30B9\u30E9\u30A8\u30EB\u6642\u9593
-Asia/Kabul.generic.long=\u30A2\u30D5\u30AC\u30CB\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Kamchatka.generic.long=\u30DA\u30C8\u30ED\u30D1\u30D6\u30ED\u30D5\u30B9\u30AF\u30FB\u30AB\u30E0\u30C1\u30E3\u30C4\u30AD\u30FC\u6642\u9593
-Asia/Karachi.generic.long=\u30D1\u30AD\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Kashgar.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Kathmandu.generic.long=\u30CD\u30D1\u30FC\u30EB\u6642\u9593
-Asia/Katmandu.generic.long=\u30CD\u30D1\u30FC\u30EB\u6642\u9593
-Asia/Khandyga.daylight.long=\u30CF\u30F3\u30C9\u30A5\u30A4\u30AC\u590F\u6642\u9593
-Asia/Khandyga.generic.long=\u30CF\u30F3\u30C9\u30A5\u30A4\u30AC\u6642\u9593
-Asia/Khandyga.standard.long=\u30CF\u30F3\u30C9\u30A5\u30A4\u30AC\u6642\u9593
-Asia/Kolkata.generic.long=\u30A4\u30F3\u30C9\u6642\u9593
-Asia/Krasnoyarsk.generic.long=\u30AF\u30E9\u30B9\u30CE\u30E4\u30EB\u30B9\u30AF\u6642\u9593
-Asia/Kuala_Lumpur.generic.long=\u30DE\u30EC\u30FC\u30B7\u30A2\u6642\u9593
-Asia/Kuching.generic.long=\u30DE\u30EC\u30FC\u30B7\u30A2\u6642\u9593
-Asia/Kuwait.generic.long=\u30A2\u30E9\u30D3\u30A2\u6642\u9593
-Asia/Macao.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Macau.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Magadan.generic.long=\u30DE\u30AC\u30C0\u30F3\u6642\u9593
-Asia/Makassar.generic.long=\u4E2D\u90E8\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u6642\u9593
-Asia/Manila.generic.long=\u30D5\u30A3\u30EA\u30D4\u30F3\u6642\u9593
-Asia/Muscat.generic.long=\u6E7E\u5CB8\u6642\u9593
-Asia/Nicosia.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Asia/Novokuznetsk.generic.long=\u30CE\u30F4\u30A9\u30B7\u30D3\u30EB\u30B9\u30AF\u6642\u9593
-Asia/Novosibirsk.generic.long=\u30CE\u30F4\u30A9\u30B7\u30D3\u30EB\u30B9\u30AF\u6642\u9593
-Asia/Omsk.generic.long=\u30AA\u30E0\u30B9\u30AF\u6642\u9593
-Asia/Oral.generic.long=\u30AA\u30E9\u30EB\u6642\u9593
-Asia/Phnom_Penh.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-Asia/Pontianak.generic.long=\u897F\u90E8\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u6642\u9593
-Asia/Pyongyang.generic.long=\u97D3\u56FD\u6642\u9593
-Asia/Qatar.generic.long=\u30A2\u30E9\u30D3\u30A2\u6642\u9593
-Asia/Qyzylorda.generic.long=\u30AF\u30BA\u30ED\u30EB\u30C0\u6642\u9593
-Asia/Rangoon.generic.long=\u30DF\u30E3\u30F3\u30DE\u30FC\u6642\u9593
-Asia/Saigon.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-Asia/Sakhalin.generic.long=\u30B5\u30CF\u30EA\u30F3\u6642\u9593
-Asia/Samarkand.generic.long=\u30A6\u30BA\u30D9\u30AD\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Seoul.generic.long=\u97D3\u56FD\u6642\u9593
-Asia/Shanghai.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Singapore.generic.long=\u30B7\u30F3\u30AC\u30DD\u30FC\u30EB\u6642\u9593
-Asia/Taipei.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Tashkent.generic.long=\u30A6\u30BA\u30D9\u30AD\u30B9\u30BF\u30F3\u6642\u9593
-Asia/Tbilisi.generic.long=\u30B0\u30EB\u30B8\u30A2\u6642\u9593
-Asia/Tehran.generic.long=\u30A4\u30E9\u30F3\u6642\u9593
-Asia/Tel_Aviv.generic.long=\u30A4\u30B9\u30E9\u30A8\u30EB\u6642\u9593
-Asia/Thimbu.generic.long=\u30D6\u30FC\u30BF\u30F3\u6642\u9593
-Asia/Thimphu.generic.long=\u30D6\u30FC\u30BF\u30F3\u6642\u9593
-Asia/Tokyo.generic.long=\u65E5\u672C\u6642\u9593
-Asia/Ujung_Pandang.generic.long=\u4E2D\u90E8\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u6642\u9593
-Asia/Ulaanbaatar.generic.long=\u30A6\u30E9\u30F3\u30D0\u30FC\u30C8\u30EB\u6642\u9593
-Asia/Ulan_Bator.generic.long=\u30A6\u30E9\u30F3\u30D0\u30FC\u30C8\u30EB\u6642\u9593
-Asia/Urumqi.generic.long=\u4E2D\u56FD\u6642\u9593
-Asia/Ust-Nera.daylight.long=\u30A6\u30B9\u30C1\u30CD\u30E9\u590F\u6642\u9593
-Asia/Ust-Nera.generic.long=\u30A6\u30B9\u30C1\u30CD\u30E9\u6642\u9593
-Asia/Ust-Nera.standard.long=\u30A6\u30B9\u30C1\u30CD\u30E9\u6642\u9593
-Asia/Vientiane.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-Asia/Vladivostok.generic.long=\u30A6\u30E9\u30B8\u30AA\u30B9\u30C8\u30AF\u6642\u9593
-Asia/Yakutsk.generic.long=\u30E4\u30AF\u30FC\u30C4\u30AF\u6642\u9593
-Asia/Yekaterinburg.generic.long=\u30A8\u30AB\u30C6\u30EA\u30F3\u30D6\u30EB\u30AF\u6642\u9593
-Asia/Yerevan.generic.long=\u30A2\u30EB\u30E1\u30CB\u30A2\u6642\u9593
-Atlantic/Azores.generic.long=\u30A2\u30BE\u30EC\u30B9\u6642\u9593
-Atlantic/Bermuda.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-Atlantic/Canary.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Atlantic/Cape_Verde.generic.long=\u30AB\u30FC\u30DC\u30D9\u30EB\u30C7\u6642\u9593
-Atlantic/Faeroe.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Atlantic/Faroe.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Atlantic/Jan_Mayen.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Atlantic/Madeira.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Atlantic/Reykjavik.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Atlantic/South_Georgia.generic.long=\u5357\u30B8\u30E7\u30FC\u30B8\u30A2\u6642\u9593
-Atlantic/St_Helena.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Atlantic/Stanley.generic.long=\u30D5\u30A9\u30FC\u30AF\u30E9\u30F3\u30C9\u8AF8\u5CF6\u6642\u9593
-Australia/ACT.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/ACT.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/ACT.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Adelaide.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Adelaide.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Adelaide.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Brisbane.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Brisbane.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Brisbane.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Broken_Hill.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Broken_Hill.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Broken_Hill.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Canberra.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Canberra.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Canberra.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Currie.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Currie.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Currie.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Darwin.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/Darwin.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/Darwin.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/Eucla.daylight.long=\u4E2D\u897F\u90E8\u590F\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Eucla.generic.long=\u4E2D\u897F\u90E8\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Eucla.standard.long=\u4E2D\u897F\u90E8\u6A19\u6E96\u6642(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Hobart.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/Hobart.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/Hobart.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/LHI.generic.long=\u30ED\u30FC\u30C9\u30CF\u30A6\u6642\u9593
-Australia/Lindeman.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Lindeman.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Lindeman.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Lord_Howe.generic.long=\u30ED\u30FC\u30C9\u30CF\u30A6\u6642\u9593
-Australia/Melbourne.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/Melbourne.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/Melbourne.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/NSW.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/NSW.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/NSW.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/North.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/North.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/North.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u30CE\u30FC\u30B6\u30F3\u30C6\u30EA\u30C8\u30EA\u30FC)
-Australia/Perth.daylight.long=\u897F\u90E8\u590F\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Perth.generic.long=\u897F\u90E8\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Perth.standard.long=\u897F\u90E8\u6A19\u6E96\u6642(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Queensland.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Queensland.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/Queensland.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30AF\u30A4\u30FC\u30F3\u30BA\u30E9\u30F3\u30C9)
-Australia/South.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/South.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/South.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Sydney.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Sydney.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Sydney.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Tasmania.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/Tasmania.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/Tasmania.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30BF\u30B9\u30DE\u30CB\u30A2)
-Australia/Victoria.daylight.long=\u6771\u90E8\u590F\u6642\u9593(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/Victoria.generic.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/Victoria.standard.long=\u6771\u90E8\u6A19\u6E96\u6642(\u30D3\u30AF\u30C8\u30EA\u30A2)
-Australia/West.daylight.long=\u897F\u90E8\u590F\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/West.generic.long=\u897F\u90E8\u6642\u9593(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/West.standard.long=\u897F\u90E8\u6A19\u6E96\u6642(\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2)
-Australia/Yancowinna.daylight.long=\u4E2D\u90E8\u590F\u6642\u9593(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Yancowinna.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-Australia/Yancowinna.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642(\u5357\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2/\u30CB\u30E5\u30FC\u30B5\u30A6\u30B9\u30A6\u30A7\u30FC\u30EB\u30BA)
-BET.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-BST.generic.long=\u30D0\u30F3\u30B0\u30E9\u30C7\u30B7\u30E5\u6642\u9593
-Brazil/Acre.generic.long=\u30a2\u30af\u30ec\u6642\u9593
-Brazil/DeNoronha.generic.long=\u30D5\u30A7\u30EB\u30CA\u30F3\u30C9\u30FB\u30C7\u30FB\u30CE\u30ED\u30FC\u30CB\u30E3\u6642\u9593
-Brazil/East.generic.long=\u30D6\u30E9\u30B8\u30EA\u30A2\u6642\u9593
-Brazil/West.generic.long=\u30A2\u30DE\u30BE\u30F3\u6642\u9593
-CAT.generic.long=\u4E2D\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-CET.generic.long=\u4e2d\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593
-CNT.generic.long=\u30CB\u30E5\u30FC\u30D5\u30A1\u30F3\u30C9\u30E9\u30F3\u30C9\u6642\u9593
-CST.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-CST6CDT.generic.long=\u4e2d\u90e8\u6a19\u6e96\u6642
-CTT.generic.long=\u4E2D\u56FD\u6642\u9593
-Canada/Atlantic.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-Canada/Central.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-Canada/East-Saskatchewan.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-Canada/Eastern.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-Canada/Mountain.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-Canada/Newfoundland.generic.long=\u30CB\u30E5\u30FC\u30D5\u30A1\u30F3\u30C9\u30E9\u30F3\u30C9\u6642\u9593
-Canada/Pacific.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-Canada/Saskatchewan.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-Canada/Yukon.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-Chile/Continental.generic.long=\u30C1\u30EA\u6642\u9593
-Chile/EasterIsland.generic.long=\u30A4\u30FC\u30B9\u30BF\u30FC\u5CF6\u6642\u9593
-Cuba.generic.long=\u30AD\u30E5\u30FC\u30D0\u6642\u9593
-EAT.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-ECT.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-EET.generic.long=\u6771\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593
-EST.generic.long=\u6771\u90e8\u6a19\u6e96\u6642
-EST5EDT.generic.long=\u6771\u90e8\u6a19\u6e96\u6642
-Egypt.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Eire.generic.long=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9\u6642\u9593
-Etc/Greenwich.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Etc/UCT.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-Etc/UTC.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-Etc/Universal.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-Etc/Zulu.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-Europe/Amsterdam.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Andorra.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Athens.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Belfast.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-Europe/Belgrade.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Berlin.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Bratislava.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Brussels.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Bucharest.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Budapest.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Busingen.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Chisinau.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Copenhagen.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Dublin.generic.long=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9\u6642\u9593
-Europe/Gibraltar.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Guernsey.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-Europe/Helsinki.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Isle_of_Man.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-Europe/Istanbul.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Jersey.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-Europe/Kaliningrad.daylight.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u590F\u6642\u9593
-Europe/Kaliningrad.generic.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Kaliningrad.standard.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Kiev.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Lisbon.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Ljubljana.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/London.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-Europe/Luxembourg.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Madrid.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Malta.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Mariehamn.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Minsk.daylight.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u590F\u6642\u9593
-Europe/Minsk.generic.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Minsk.standard.long=\u6975\u6771\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Monaco.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Moscow.generic.long=\u30E2\u30B9\u30AF\u30EF\u6642\u9593
-Europe/Nicosia.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Oslo.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Paris.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Podgorica.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Prague.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Riga.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Rome.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Samara.generic.long=\u30B5\u30DE\u30E9\u6642\u9593
-Europe/San_Marino.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Sarajevo.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Simferopol.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Skopje.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Sofia.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Stockholm.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Tallinn.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Tirane.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Tiraspol.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Uzhgorod.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Vaduz.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Vatican.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Vienna.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Vilnius.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Volgograd.generic.long=\u30DC\u30EB\u30B4\u30B0\u30E9\u30FC\u30C9\u6642\u9593
-Europe/Warsaw.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Zagreb.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Zaporozhye.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Europe/Zurich.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-GB-Eire.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-GB.generic.long=\u30A4\u30AE\u30EA\u30B9\u6642\u9593
-GMT.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Greenwich.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-HST.generic.long=\u30cf\u30ef\u30a4\u6642\u9593
-Hongkong.generic.long=\u9999\u6E2F\u6642\u9593
-IET.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-IST.generic.long=\u30A4\u30F3\u30C9\u6642\u9593
-Iceland.generic.long=\u30B0\u30EA\u30CB\u30C3\u30B8\u6A19\u6E96\u6642
-Indian/Antananarivo.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Indian/Chagos.generic.long=\u30A4\u30F3\u30C9\u6D0B\u5730\u57DF\u6642\u9593
-Indian/Christmas.generic.long=\u30AF\u30EA\u30B9\u30DE\u30B9\u5CF6\u6642\u9593
-Indian/Cocos.generic.long=\u30B3\u30B3\u30B9\u8AF8\u5CF6\u6642\u9593
-Indian/Comoro.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Indian/Kerguelen.generic.long=\u30D5\u30E9\u30F3\u30B9\u9818\u5357\u65B9\u304A\u3088\u3073\u5357\u6975\u5927\u9678\u6642\u9593
-Indian/Mahe.generic.long=\u30BB\u30FC\u30B7\u30A7\u30EB\u6642\u9593
-Indian/Maldives.generic.long=\u30E2\u30EB\u30B8\u30D6\u6642\u9593
-Indian/Mauritius.generic.long=\u30E2\u30FC\u30EA\u30B7\u30E3\u30B9\u6642\u9593
-Indian/Mayotte.generic.long=\u6771\u90E8\u30A2\u30D5\u30EA\u30AB\u6642\u9593
-Indian/Reunion.generic.long=\u30EC\u30E6\u30CB\u30AA\u30F3\u6642\u9593
-Iran.generic.long=\u30A4\u30E9\u30F3\u6642\u9593
-Israel.generic.long=\u30A4\u30B9\u30E9\u30A8\u30EB\u6642\u9593
-JST.generic.long=\u65E5\u672C\u6642\u9593
-Jamaica.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-Japan.generic.long=\u65E5\u672C\u6642\u9593
-Kwajalein.generic.long=\u30DE\u30FC\u30B7\u30E3\u30EB\u8AF8\u5CF6\u6642\u9593
-Libya.generic.long=\u6771\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593
-MET.generic.long=MET
-MIT.generic.long=\u897F\u30B5\u30E2\u30A2\u6642\u9593
-MST.generic.long=\u5c71\u5730\u6a19\u6e96\u6642
-MST7MDT.generic.long=\u5c71\u5730\u6a19\u6e96\u6642
-Mexico/BajaNorte.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-Mexico/BajaSur.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-Mexico/General.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-NET.generic.long=\u30A2\u30EB\u30E1\u30CB\u30A2\u6642\u9593
-NST.generic.long=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9\u6642\u9593
-NZ-CHAT.generic.long=\u30C1\u30E3\u30BF\u30E0\u6642\u9593
-NZ.generic.long=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9\u6642\u9593
-Navajo.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-PLT.generic.long=\u30D1\u30AD\u30B9\u30BF\u30F3\u6642\u9593
-PNT.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-PRC.generic.long=\u4E2D\u56FD\u6642\u9593
-PRT.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-PST.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-PST8PDT.generic.long=\u592a\u5e73\u6d0b\u6a19\u6e96\u6642
-Pacific/Apia.generic.long=\u897F\u30B5\u30E2\u30A2\u6642\u9593
-Pacific/Auckland.generic.long=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9\u6642\u9593
-Pacific/Chatham.generic.long=\u30C1\u30E3\u30BF\u30E0\u6642\u9593
-Pacific/Chuuk.daylight.long=Chuuk Time
-Pacific/Chuuk.generic.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Pacific/Chuuk.standard.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Pacific/Easter.generic.long=\u30A4\u30FC\u30B9\u30BF\u30FC\u5CF6\u6642\u9593
-Pacific/Efate.generic.long=\u30D0\u30CC\u30A2\u30C4\u6642\u9593
-Pacific/Enderbury.generic.long=\u30D5\u30A7\u30CB\u30C3\u30AF\u30B9\u8AF8\u5CF6\u6642\u9593
-Pacific/Fakaofo.generic.long=\u30C8\u30B1\u30E9\u30A6\u6642\u9593
-Pacific/Fiji.generic.long=\u30D5\u30A3\u30B8\u30FC\u6642\u9593
-Pacific/Funafuti.generic.long=\u30C4\u30D0\u30EB\u6642\u9593
-Pacific/Galapagos.generic.long=\u30AC\u30E9\u30D1\u30B4\u30B9\u6642\u9593
-Pacific/Gambier.generic.long=\u30AC\u30F3\u30D3\u30A8\u6642\u9593
-Pacific/Guadalcanal.generic.long=\u30BD\u30ED\u30E2\u30F3\u8AF8\u5CF6\u6642\u9593
-Pacific/Guam.generic.long=\u30C1\u30E3\u30E2\u30ED\u6642\u9593
-Pacific/Honolulu.generic.long=\u30CF\u30EF\u30A4\u6642\u9593
-Pacific/Johnston.generic.long=\u30CF\u30EF\u30A4\u6642\u9593
-Pacific/Kiritimati.generic.long=\u30E9\u30A4\u30F3\u8AF8\u5CF6\u6642\u9593
-Pacific/Kosrae.generic.long=\u30B3\u30B9\u30E9\u30A8\u6642\u9593
-Pacific/Kwajalein.generic.long=\u30DE\u30FC\u30B7\u30E3\u30EB\u8AF8\u5CF6\u6642\u9593
-Pacific/Majuro.generic.long=\u30DE\u30FC\u30B7\u30E3\u30EB\u8AF8\u5CF6\u6642\u9593
-Pacific/Marquesas.generic.long=\u30DE\u30EB\u30AD\u30FC\u30BA\u6642\u9593
-Pacific/Midway.generic.long=\u30B5\u30E2\u30A2\u6642\u9593
-Pacific/Nauru.generic.long=\u30CA\u30A6\u30EB\u6642\u9593
-Pacific/Niue.generic.long=\u30CB\u30A6\u30A8\u6642\u9593
-Pacific/Norfolk.generic.long=\u30CE\u30FC\u30D5\u30A9\u30FC\u30AF\u6642\u9593
-Pacific/Noumea.generic.long=\u30CB\u30E5\u30FC\u30AB\u30EC\u30C9\u30CB\u30A2\u6642\u9593
-Pacific/Pago_Pago.generic.long=\u30B5\u30E2\u30A2\u6642\u9593
-Pacific/Palau.generic.long=\u30D1\u30E9\u30AA\u6642\u9593
-Pacific/Pitcairn.generic.long=\u30D4\u30C8\u30B1\u30A2\u30F3\u6642\u9593
-Pacific/Pohnpei.daylight.long=\u30DD\u30F3\u30DA\u30A4\u590F\u6642\u9593
-Pacific/Pohnpei.generic.long=\u30DD\u30CA\u30DA\u6642\u9593
-Pacific/Pohnpei.standard.long=\u30DD\u30F3\u30DA\u30A4\u6642\u9593
-Pacific/Ponape.daylight.long=\u30DD\u30F3\u30DA\u30A4\u590F\u6642\u9593
-Pacific/Ponape.generic.long=\u30DD\u30CA\u30DA\u6642\u9593
-Pacific/Ponape.standard.long=\u30DD\u30F3\u30DA\u30A4\u6642\u9593
-Pacific/Port_Moresby.generic.long=\u30D1\u30D7\u30A2\u30CB\u30E5\u30FC\u30AE\u30CB\u30A2\u6642\u9593
-Pacific/Rarotonga.generic.long=\u30AF\u30C3\u30AF\u8AF8\u5CF6\u6642\u9593
-Pacific/Saipan.generic.long=\u30C1\u30E3\u30E2\u30ED\u6642\u9593
-Pacific/Samoa.generic.long=\u30B5\u30E2\u30A2\u6642\u9593
-Pacific/Tahiti.generic.long=\u30BF\u30D2\u30C1\u6642\u9593
-Pacific/Tarawa.generic.long=\u30AE\u30EB\u30D0\u30FC\u30C8\u8AF8\u5CF6\u6642\u9593
-Pacific/Tongatapu.generic.long=\u30C8\u30F3\u30AC\u6642\u9593
-Pacific/Truk.daylight.long=Chuuk Time
-Pacific/Truk.generic.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Pacific/Truk.standard.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Pacific/Wake.generic.long=\u30A6\u30A7\u30FC\u30AF\u6642\u9593
-Pacific/Wallis.generic.long=\u30A6\u30A9\u30EA\u30B9\u30FB\u30D5\u30C4\u30CA\u6642\u9593
-Pacific/Yap.daylight.long=Chuuk Time
-Pacific/Yap.generic.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Pacific/Yap.standard.long=\u30C1\u30E5\u30FC\u30AF\u6642\u9593
-Poland.generic.long=\u4E2D\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-Portugal.generic.long=\u897F\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-ROK.generic.long=\u97D3\u56FD\u6642\u9593
-SST.generic.long=\u30BD\u30ED\u30E2\u30F3\u8AF8\u5CF6\u6642\u9593
-Singapore.generic.long=\u30B7\u30F3\u30AC\u30DD\u30FC\u30EB\u6642\u9593
-SystemV/AST4.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-SystemV/AST4ADT.generic.long=\u5927\u897F\u6D0B\u6A19\u6E96\u6642
-SystemV/CST6.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-SystemV/CST6CDT.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-SystemV/EST5.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-SystemV/EST5EDT.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-SystemV/HST10.generic.long=\u30CF\u30EF\u30A4\u6642\u9593
-SystemV/MST7.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-SystemV/MST7MDT.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-SystemV/PST8.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-SystemV/PST8PDT.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-SystemV/YST9.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-SystemV/YST9YDT.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-Turkey.generic.long=\u6771\u90E8\u30E8\u30FC\u30ED\u30C3\u30D1\u6642\u9593
-UCT.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-US/Alaska.generic.long=\u30A2\u30E9\u30B9\u30AB\u6642\u9593
-US/Aleutian.generic.long=\u30CF\u30EF\u30A4\u30FB\u30A2\u30EA\u30E5\u30FC\u30B7\u30E3\u30F3\u6642\u9593
-US/Arizona.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-US/Central.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-US/East-Indiana.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-US/Eastern.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-US/Hawaii.generic.long=\u30CF\u30EF\u30A4\u6642\u9593
-US/Indiana-Starke.generic.long=\u4E2D\u90E8\u6A19\u6E96\u6642
-US/Michigan.generic.long=\u6771\u90E8\u6A19\u6E96\u6642
-US/Mountain.generic.long=\u5C71\u5730\u6A19\u6E96\u6642
-US/Pacific-New.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-US/Pacific.generic.long=\u592A\u5E73\u6D0B\u6A19\u6E96\u6642
-US/Samoa.generic.long=\u30B5\u30E2\u30A2\u6642\u9593
-UTC.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-Universal.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
-VST.generic.long=\u30A4\u30F3\u30C9\u30B7\u30CA\u6642\u9593
-W-SU.generic.long=\u30E2\u30B9\u30AF\u30EF\u6642\u9593
-WET.generic.long=\u897f\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593
-Zulu.generic.long=\u5354\u5B9A\u4E16\u754C\u6642
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ja_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko.properties
deleted file mode 100644
index 52c2bc8..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uBD81\uBD80 \uC9C0\uC5ED)
-ACT.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-ACT.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-AET.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-AET.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-AET.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-AGT.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-ART.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-AST.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-Africa/Abidjan.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Accra.generic.long=\uAC00\uB098 \uD45C\uC900\uC2DC
-Africa/Addis_Ababa.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Algiers.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Asmara.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Asmera.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Bamako.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Bangui.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Banjul.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Bissau.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Blantyre.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Brazzaville.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Bujumbura.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Cairo.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Casablanca.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Ceuta.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Conakry.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Dakar.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Dar_es_Salaam.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Djibouti.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Douala.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/El_Aaiun.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Freetown.generic.long=\uC2DC\uC5D0\uB77C\uB9AC\uC628 \uD45C\uC900\uC2DC
-Africa/Gaborone.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Harare.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Johannesburg.generic.long=\uB0A8\uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Juba.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Kampala.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Khartoum.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Kigali.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Kinshasa.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Lagos.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Libreville.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Lome.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Luanda.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Lubumbashi.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Lusaka.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Malabo.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Maputo.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Maseru.generic.long=\uB0A8\uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Mbabane.generic.long=\uB0A8\uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Mogadishu.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Monrovia.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Nairobi.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Ndjamena.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Niamey.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Nouakchott.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Ouagadougou.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Porto-Novo.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Africa/Sao_Tome.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Timbuktu.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Africa/Tripoli.generic.long=\ub3d9\ubd80 \uc720\ub7fd \ud45c\uc900\uc2dc
-Africa/Tunis.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Africa/Windhoek.generic.long=\uC11C\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-America/Adak.generic.long=\uD558\uC640\uC774-\uC54C\uB8E8\uC0E8 \uD45C\uC900\uC2DC
-America/Anchorage.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-America/Anguilla.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Antigua.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Araguaina.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Argentina/Buenos_Aires.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Catamarca.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/ComodRivadavia.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Cordoba.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Jujuy.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/La_Rioja.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Mendoza.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Rio_Gallegos.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Salta.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/San_Juan.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/San_Luis.generic.long=\uc544\ub974\ud5e8\ud2f0\ub098 \ud45c\uc900\uc2dc
-America/Argentina/Tucuman.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Argentina/Ushuaia.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Aruba.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Asuncion.generic.long=\uD30C\uB77C\uACFC\uC774 \uD45C\uC900\uC2DC
-America/Atikokan.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Atka.generic.long=\uD558\uC640\uC774-\uC54C\uB8E8\uC0E8 \uD45C\uC900\uC2DC
-America/Bahia.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Bahia_Banderas.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Barbados.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Belem.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Belize.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Blanc-Sablon.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Boa_Vista.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-America/Bogota.generic.long=\uCF5C\uB86C\uBE44\uC544 \uD45C\uC900\uC2DC
-America/Boise.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Buenos_Aires.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Cambridge_Bay.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Campo_Grande.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-America/Cancun.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Caracas.generic.long=\uBCA0\uB124\uC218\uC5D8\uB77C \uD45C\uC900\uC2DC
-America/Catamarca.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Cayenne.generic.long=\uD504\uB791\uC2A4\uB839 \uAE30\uC544\uB098 \uD45C\uC900\uC2DC
-America/Cayman.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Chicago.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Chihuahua.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Coral_Harbour.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Cordoba.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Costa_Rica.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Creston.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Cuiaba.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-America/Curacao.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Danmarkshavn.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-America/Dawson.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Dawson_Creek.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Denver.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Detroit.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Dominica.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Edmonton.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Eirunepe.generic.long=\uc5d0\uc774\ucee4 \uc2dc\uac04
-America/El_Salvador.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Ensenada.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Fort_Wayne.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Fortaleza.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Glace_Bay.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Godthab.generic.long=\uC11C\uBD80 \uADF8\uB9B0\uB780\uB4DC \uD45C\uC900\uC2DC
-America/Goose_Bay.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Grand_Turk.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Grenada.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Guadeloupe.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Guatemala.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Guayaquil.generic.long=\uC5D0\uCF70\uB3C4\uB974 \uD45C\uC900\uC2DC
-America/Guyana.generic.long=\uAC00\uC774\uC544\uB098 \uD45C\uC900\uC2DC
-America/Halifax.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Havana.generic.long=\uCFE0\uBC14 \uD45C\uC900\uC2DC
-America/Hermosillo.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Indiana/Indianapolis.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Knox.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Marengo.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Petersburg.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Tell_City.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Vevay.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Vincennes.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indiana/Winamac.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Indianapolis.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Inuvik.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Iqaluit.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Jamaica.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Jujuy.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Juneau.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-America/Kentucky/Louisville.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Kentucky/Monticello.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Knox_IN.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Kralendijk.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/La_Paz.generic.long=\uBCFC\uB9AC\uBE44\uC544 \uD45C\uC900\uC2DC
-America/Lima.generic.long=\uD398\uB8E8 \uD45C\uC900\uC2DC
-America/Los_Angeles.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Louisville.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Lower_Princes.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Maceio.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Managua.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Manaus.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-America/Marigot.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Martinique.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Matamoros.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Mazatlan.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Mendoza.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Menominee.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Merida.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Metlakatla.daylight.long=\uBA54\uD2B8\uB77C\uCE74\uD2B8\uB77C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-America/Metlakatla.generic.long=\uBA54\uD2B8\uB77C\uCE74\uD2B8\uB77C \uD45C\uC900\uC2DC
-America/Metlakatla.standard.long=\uBA54\uD2B8\uB77C\uCE74\uD2B8\uB77C \uD45C\uC900\uC2DC
-America/Mexico_City.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Miquelon.generic.long=\uD53C\uC5D0\uB974 \uBBF8\uD074\uB871 \uD45C\uC900\uC2DC
-America/Moncton.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Monterrey.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Montevideo.generic.long=\uC6B0\uB8E8\uACFC\uC774 \uD45C\uC900\uC2DC
-America/Montreal.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Montserrat.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Nassau.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/New_York.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Nipigon.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Nome.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-America/Noronha.generic.long=\uD398\uB974\uB09C\uB3C4 \uB4DC \uB178\uB85C\uD558 \uD45C\uC900\uC2DC
-America/North_Dakota/Beulah.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/North_Dakota/Center.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/North_Dakota/New_Salem.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Ojinaga.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Panama.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Pangnirtung.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Paramaribo.generic.long=\uC218\uB9AC\uB0A8 \uD45C\uC900\uC2DC
-America/Phoenix.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Port-au-Prince.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Port_of_Spain.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Porto_Acre.generic.long=\uc5d0\uc774\ucee4 \uc2dc\uac04
-America/Porto_Velho.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-America/Puerto_Rico.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Rainy_River.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Rankin_Inlet.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Recife.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Regina.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Resolute.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Rio_Branco.generic.long=\uc5d0\uc774\ucee4 \uc2dc\uac04
-America/Rosario.generic.long=\uC544\uB974\uD5E8\uD2F0\uB098 \uD45C\uC900\uC2DC
-America/Santa_Isabel.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Santarem.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Santiago.generic.long=\uCE60\uB808 \uD45C\uC900\uC2DC
-America/Santo_Domingo.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Sao_Paulo.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-America/Scoresbysund.generic.long=\uB3D9\uBD80 \uADF8\uB9B0\uB780\uB4DC \uD45C\uC900\uC2DC
-America/Shiprock.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-America/Sitka.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-America/St_Barthelemy.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/St_Johns.generic.long=\uB274\uD380\uB4E4\uB79C\uB4DC \uD45C\uC900\uC2DC
-America/St_Kitts.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/St_Lucia.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/St_Thomas.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/St_Vincent.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Swift_Current.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Tegucigalpa.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Thule.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Thunder_Bay.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Tijuana.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Toronto.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-America/Tortola.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Vancouver.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Virgin.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-America/Whitehorse.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-America/Winnipeg.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-America/Yakutat.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-America/Yellowknife.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-Antarctica/Casey.daylight.long=\uC11C\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Antarctica/Casey.generic.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Antarctica/Casey.standard.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Antarctica/Davis.generic.long=\uB370\uC774\uBE44\uC2A4 \uD45C\uC900\uC2DC
-Antarctica/DumontDUrville.generic.long=\uB450\uBAAC\uD2B8\uC6B0\uB974\uBE4C \uD45C\uC900\uC2DC
-Antarctica/Macquarie.daylight.long=\uB9E4\uCF70\uB9AC \uC12C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Antarctica/Macquarie.generic.long=\uB9E4\uCF70\uB9AC \uC12C \uD45C\uC900\uC2DC
-Antarctica/Macquarie.standard.long=\uB9E4\uCF70\uB9AC \uC12C \uD45C\uC900\uC2DC
-Antarctica/Mawson.generic.long=\uB9C8\uC2A8 \uD45C\uC900\uC2DC
-Antarctica/McMurdo.generic.long=\uB274\uC9C8\uB79C\uB4DC \uD45C\uC900\uC2DC
-Antarctica/Palmer.generic.long=\uCE60\uB808 \uD45C\uC900\uC2DC
-Antarctica/Rothera.generic.long=\uB85C\uB354\uB77C \uD45C\uC900\uC2DC
-Antarctica/South_Pole.generic.long=\uB274\uC9C8\uB79C\uB4DC \uD45C\uC900\uC2DC
-Antarctica/Syowa.generic.long=\uC1FC\uC640 \uD45C\uC900\uC2DC
-Antarctica/Vostok.generic.long=\uBCF4\uC2A4\uD1A1 \uD45C\uC900\uC2DC
-Arctic/Longyearbyen.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Aden.generic.long=\uC544\uB77C\uBE44\uC544 \uD45C\uC900\uC2DC
-Asia/Almaty.generic.long=\uC54C\uB9C8\uC544\uD0C0 \uD45C\uC900\uC2DC
-Asia/Amman.generic.long=\uc544\ub77c\ube44\uc544 \ud45c\uc900\uc2dc
-Asia/Anadyr.generic.long=\uC544\uB098\uB514\uB9AC \uD45C\uC900\uC2DC
-Asia/Aqtau.generic.long=\uC544\uD06C\uD0C0\uC6B0 \uD45C\uC900\uC2DC
-Asia/Aqtobe.generic.long=\uC544\uD06C\uD1A0\uBCA0 \uD45C\uC900\uC2DC
-Asia/Ashgabat.generic.long=\uD22C\uB974\uD06C\uBA54\uB2C8\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Ashkhabad.generic.long=\uD22C\uB974\uD06C\uBA54\uB2C8\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Baghdad.generic.long=\uC544\uB77C\uBE44\uC544 \uD45C\uC900\uC2DC
-Asia/Bahrain.generic.long=\uC544\uB77C\uBE44\uC544 \uD45C\uC900\uC2DC
-Asia/Baku.generic.long=\uC544\uC81C\uB974\uBC14\uC774\uC794 \uD45C\uC900\uC2DC
-Asia/Bangkok.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-Asia/Beirut.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Bishkek.generic.long=\uD0A4\uB974\uAE30\uC2A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Brunei.generic.long=\uBE0C\uB8E8\uB098\uC774 \uD45C\uC900\uC2DC
-Asia/Calcutta.generic.long=\uC778\uB3C4 \uD45C\uC900\uC2DC
-Asia/Choibalsan.generic.long=\uCD08\uC774\uBC1C\uC0B0 \uD45C\uC900\uC2DC
-Asia/Chongqing.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Chungking.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Colombo.generic.long=\uC778\uB3C4 \uD45C\uC900\uC2DC
-Asia/Dacca.generic.long=\uBC29\uAE00\uB77C\uB370\uC2DC \uD45C\uC900\uC2DC
-Asia/Damascus.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Dhaka.generic.long=\uBC29\uAE00\uB77C\uB370\uC2DC \uD45C\uC900\uC2DC
-Asia/Dili.generic.long=\uB3D9\uD2F0\uBAA8\uB974 \uD45C\uC900\uC2DC
-Asia/Dubai.generic.long=\uAC78\uD504\uB9CC \uD45C\uC900\uC2DC
-Asia/Dushanbe.generic.long=\uD0C0\uC9C0\uD0A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Gaza.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Harbin.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Hebron.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Ho_Chi_Minh.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-Asia/Hong_Kong.generic.long=\uD64D\uCF69 \uD45C\uC900\uC2DC
-Asia/Hovd.generic.long=\uD638\uBE0C\uB4DC \uD45C\uC900\uC2DC
-Asia/Irkutsk.generic.long=\uC774\uB974\uCFE0\uCE20\uD06C \uD45C\uC900\uC2DC
-Asia/Istanbul.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Jakarta.generic.long=\uC11C\uBD80 \uC778\uB3C4\uB124\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Jayapura.generic.long=\uB3D9\uBD80 \uC778\uB3C4\uB124\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Jerusalem.generic.long=\uC544\uC2A4\uB77C\uC5D8 \uD45C\uC900\uC2DC
-Asia/Kabul.generic.long=\uC544\uD504\uAC00\uB2C8\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Kamchatka.generic.long=\uD398\uD2B8\uB85C\uD30C\uBE0C\uB85C\uD504\uC2A4\uD06C-\uCE84\uCC28\uCE20\uD0A4 \uD45C\uC900\uC2DC
-Asia/Karachi.generic.long=\uD30C\uD0A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Kashgar.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Kathmandu.generic.long=\uB124\uD314 \uD45C\uC900\uC2DC
-Asia/Katmandu.generic.long=\uB124\uD314 \uD45C\uC900\uC2DC
-Asia/Khandyga.daylight.long=\uD55C\uB514\uAC00 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Asia/Khandyga.generic.long=\uD55C\uB514\uAC00 \uD45C\uC900\uC2DC
-Asia/Khandyga.standard.long=\uD55C\uB514\uAC00 \uD45C\uC900\uC2DC
-Asia/Kolkata.generic.long=\uC778\uB3C4 \uD45C\uC900\uC2DC
-Asia/Krasnoyarsk.generic.long=\uD06C\uB77C\uC2A4\uB178\uC57C\uB974\uC2A4\uD06C \uD45C\uC900\uC2DC
-Asia/Kuala_Lumpur.generic.long=\uB9D0\uB808\uC774\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Kuching.generic.long=\uB9D0\uB808\uC774\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Kuwait.generic.long=\uC544\uB77C\uBE44\uC544 \uD45C\uC900\uC2DC
-Asia/Macao.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Macau.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Magadan.generic.long=\uB9C8\uAC00\uB2E8 \uD45C\uC900\uC2DC
-Asia/Makassar.generic.long=\uC911\uBD80 \uC778\uB3C4\uB124\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Manila.generic.long=\uD544\uB9AC\uD540 \uD45C\uC900\uC2DC
-Asia/Muscat.generic.long=\uAC78\uD504\uB9CC \uD45C\uC900\uC2DC
-Asia/Nicosia.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Asia/Novokuznetsk.generic.long=\uB178\uBCF4\uC2DC\uBE44\uB974\uC2A4\uD06C \uD45C\uC900\uC2DC
-Asia/Novosibirsk.generic.long=\uB178\uBCF4\uC2DC\uBE44\uB974\uC2A4\uD06C \uD45C\uC900\uC2DC
-Asia/Omsk.generic.long=\uC634\uC2A4\uD06C \uD45C\uC900\uC2DC
-Asia/Oral.generic.long=\uC624\uB7F4 \uD45C\uC900\uC2DC
-Asia/Phnom_Penh.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-Asia/Pontianak.generic.long=\uC11C\uBD80 \uC778\uB3C4\uB124\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Pyongyang.generic.long=\uB300\uD55C\uBBFC\uAD6D \uD45C\uC900\uC2DC
-Asia/Qatar.generic.long=\uC544\uB77C\uBE44\uC544 \uD45C\uC900\uC2DC
-Asia/Qyzylorda.generic.long=\uD0A4\uC9C8\uB85C\uB974\uB2E4 \uD45C\uC900\uC2DC
-Asia/Rangoon.generic.long=\uBBF8\uC580\uB9C8 \uD45C\uC900\uC2DC
-Asia/Saigon.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-Asia/Sakhalin.generic.long=\uC0AC\uD560\uB9B0 \uD45C\uC900\uC2DC
-Asia/Samarkand.generic.long=\uC6B0\uC988\uBCA0\uD0A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Seoul.generic.long=\uB300\uD55C\uBBFC\uAD6D \uD45C\uC900\uC2DC
-Asia/Shanghai.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Singapore.generic.long=\uC2F1\uAC00\uD3EC\uB974 \uD45C\uC900\uC2DC
-Asia/Taipei.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Tashkent.generic.long=\uC6B0\uC988\uBCA0\uD0A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-Asia/Tbilisi.generic.long=\uADF8\uB8E8\uC9C0\uC57C \uD45C\uC900\uC2DC
-Asia/Tehran.generic.long=\uC774\uB780 \uD45C\uC900\uC2DC
-Asia/Tel_Aviv.generic.long=\uC544\uC2A4\uB77C\uC5D8 \uD45C\uC900\uC2DC
-Asia/Thimbu.generic.long=\uBD80\uD0C4 \uD45C\uC900\uC2DC
-Asia/Thimphu.generic.long=\uBD80\uD0C4 \uD45C\uC900\uC2DC
-Asia/Tokyo.generic.long=\uC77C\uBCF8 \uD45C\uC900\uC2DC
-Asia/Ujung_Pandang.generic.long=\uC911\uBD80 \uC778\uB3C4\uB124\uC2DC\uC544 \uD45C\uC900\uC2DC
-Asia/Ulaanbaatar.generic.long=\uC6B8\uB780\uBC14\uD1A0\uB974 \uD45C\uC900\uC2DC
-Asia/Ulan_Bator.generic.long=\uC6B8\uB780\uBC14\uD1A0\uB974 \uD45C\uC900\uC2DC
-Asia/Urumqi.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Asia/Ust-Nera.daylight.long=\uC6B0\uC2A4\uD2F0\uB124\uB77C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Asia/Ust-Nera.generic.long=\uC6B0\uC2A4\uD2F0\uB124\uB77C \uD45C\uC900\uC2DC
-Asia/Ust-Nera.standard.long=\uC6B0\uC2A4\uD2F0\uB124\uB77C \uD45C\uC900\uC2DC
-Asia/Vientiane.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-Asia/Vladivostok.generic.long=\uBE14\uB77C\uB514\uBCF4\uC2A4\uD1A1 \uD45C\uC900\uC2DC
-Asia/Yakutsk.generic.long=\uC57C\uCFE0\uCE20\uD06C \uD45C\uC900\uC2DC
-Asia/Yekaterinburg.generic.long=\uC608\uCE74\uD14C\uB9B0\uBD80\uB974\uD06C \uD45C\uC900\uC2DC
-Asia/Yerevan.generic.long=\uC544\uB974\uBA54\uB2C8\uC544 \uD45C\uC900\uC2DC
-Atlantic/Azores.generic.long=\uC544\uC870\uB808\uC2A4 \uD45C\uC900\uC2DC
-Atlantic/Bermuda.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-Atlantic/Canary.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Atlantic/Cape_Verde.generic.long=\uCF00\uC774\uD504\uBCA0\uB974\uB370 \uD45C\uC900\uC2DC
-Atlantic/Faeroe.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Atlantic/Faroe.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Atlantic/Jan_Mayen.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Atlantic/Madeira.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Atlantic/Reykjavik.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Atlantic/South_Georgia.generic.long=\uC0AC\uC6B0\uC2A4\uC870\uC9C0\uC544 \uD45C\uC900\uC2DC
-Atlantic/St_Helena.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Atlantic/Stanley.generic.long=\uD3EC\uD074\uB79C\uB4DC \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Australia/ACT.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/ACT.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/ACT.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Adelaide.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Adelaide.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Adelaide.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Brisbane.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uD038\uC990\uB79C\uB4DC)
-Australia/Brisbane.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/Brisbane.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/Broken_Hill.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Broken_Hill.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Broken_Hill.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Canberra.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Canberra.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Canberra.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Currie.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Currie.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Currie.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Darwin.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/Darwin.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/Darwin.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/Eucla.daylight.long=\uC911\uC559 \uC11C\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Eucla.generic.long=\uC911\uC559 \uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Eucla.standard.long=\uC911\uC559 \uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Hobart.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/Hobart.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/Hobart.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/LHI.generic.long=\uB85C\uB4DC\uD558\uC6B0 \uD45C\uC900\uC2DC
-Australia/Lindeman.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uD038\uC990\uB79C\uB4DC)
-Australia/Lindeman.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/Lindeman.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/Lord_Howe.generic.long=\uB85C\uB4DC\uD558\uC6B0 \uD45C\uC900\uC2DC
-Australia/Melbourne.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uBE45\uD1A0\uB9AC\uC544)
-Australia/Melbourne.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uBE45\uD1A0\uB9AC\uC544)
-Australia/Melbourne.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uBE45\uD1A0\uB9AC\uC544)
-Australia/NSW.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/NSW.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/NSW.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/North.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/North.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/North.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uBD81\uBD80 \uC9C0\uC5ED)
-Australia/Perth.daylight.long=\uC11C\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Perth.generic.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Perth.standard.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Queensland.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uD038\uC990\uB79C\uB4DC)
-Australia/Queensland.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/Queensland.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD038\uC990\uB79C\uB4DC)
-Australia/South.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/South.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/South.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Sydney.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Sydney.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Sydney.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Tasmania.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/Tasmania.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/Tasmania.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uD0DC\uC988\uBA54\uC774\uB2C8\uC544)
-Australia/Victoria.daylight.long=\uB3D9\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uBE45\uD1A0\uB9AC\uC544)
-Australia/Victoria.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uBE45\uD1A0\uB9AC\uC544)
-Australia/Victoria.standard.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC(\uBE45\uD1A0\uB9AC\uC544)
-Australia/West.daylight.long=\uC11C\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/West.generic.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/West.standard.long=\uC11C\uBD80 \uD45C\uC900\uC2DC(\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544)
-Australia/Yancowinna.daylight.long=\uC911\uBD80 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Yancowinna.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-Australia/Yancowinna.standard.long=\uC911\uBD80 \uD45C\uC900\uC2DC(\uB0A8\uBD80 \uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544/\uB274\uC0AC\uC6B0\uC2A4\uC6E8\uC77C\uC988)
-BET.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-BST.generic.long=\uBC29\uAE00\uB77C\uB370\uC2DC \uD45C\uC900\uC2DC
-Brazil/Acre.generic.long=\uc5d0\uc774\ucee4 \uc2dc\uac04
-Brazil/DeNoronha.generic.long=\uD398\uB974\uB09C\uB3C4 \uB4DC \uB178\uB85C\uD558 \uD45C\uC900\uC2DC
-Brazil/East.generic.long=\uBE0C\uB77C\uC9C8\uB9AC\uC544 \uD45C\uC900\uC2DC
-Brazil/West.generic.long=\uC544\uB9C8\uC874 \uD45C\uC900\uC2DC
-CAT.generic.long=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-CET.generic.long=\uc911\uc559 \uc720\ub7fd \ud45c\uc900\uc2dc
-CNT.generic.long=\uB274\uD380\uB4E4\uB79C\uB4DC \uD45C\uC900\uC2DC
-CST.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-CST6CDT.generic.long=\uc911\ubd80 \ud45c\uc900\uc2dc
-CTT.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-Canada/Atlantic.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-Canada/Central.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-Canada/East-Saskatchewan.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-Canada/Eastern.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-Canada/Mountain.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-Canada/Newfoundland.generic.long=\uB274\uD380\uB4E4\uB79C\uB4DC \uD45C\uC900\uC2DC
-Canada/Pacific.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-Canada/Saskatchewan.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-Canada/Yukon.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-Chile/Continental.generic.long=\uCE60\uB808 \uD45C\uC900\uC2DC
-Chile/EasterIsland.generic.long=\uC774\uC2A4\uD130 \uC12C \uD45C\uC900\uC2DC
-Cuba.generic.long=\uCFE0\uBC14 \uD45C\uC900\uC2DC
-EAT.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-ECT.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-EET.generic.long=\ub3d9\ubd80 \uc720\ub7fd \ud45c\uc900\uc2dc
-EST.generic.long=\ub3d9\ubd80 \ud45c\uc900\uc2dc
-EST5EDT.generic.long=\ub3d9\ubd80 \ud45c\uc900\uc2dc
-Egypt.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Eire.generic.long=\uC544\uC77C\uB79C\uB4DC \uD45C\uC900\uC2DC
-Etc/Greenwich.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Etc/UCT.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-Etc/UTC.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-Etc/Universal.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-Etc/Zulu.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-Europe/Amsterdam.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Andorra.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Athens.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Belfast.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-Europe/Belgrade.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Berlin.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Bratislava.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Brussels.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Bucharest.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Budapest.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Busingen.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Chisinau.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Copenhagen.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Dublin.generic.long=\uC544\uC77C\uB79C\uB4DC \uD45C\uC900\uC2DC
-Europe/Gibraltar.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Guernsey.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-Europe/Helsinki.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Isle_of_Man.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-Europe/Istanbul.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Jersey.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-Europe/Kaliningrad.daylight.long=\uADF9\uB3D9 \uC720\uB7FD \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Europe/Kaliningrad.generic.long=\uADF9\uB3D9 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Kaliningrad.standard.long=\uADF9\uB3D9 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Kiev.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Lisbon.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Ljubljana.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/London.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-Europe/Luxembourg.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Madrid.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Malta.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Mariehamn.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Minsk.daylight.long=\uADF9\uB3D9 \uC720\uB7FD \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Europe/Minsk.generic.long=\uADF9\uB3D9 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Minsk.standard.long=\uADF9\uB3D9 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Monaco.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Moscow.generic.long=\uBAA8\uC2A4\uD06C\uBC14 \uD45C\uC900\uC2DC
-Europe/Nicosia.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Oslo.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Paris.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Podgorica.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Prague.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Riga.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Rome.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Samara.generic.long=\uC0AC\uB9C8\uB77C \uD45C\uC900\uC2DC
-Europe/San_Marino.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Sarajevo.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Simferopol.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Skopje.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Sofia.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Stockholm.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Tallinn.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Tirane.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Tiraspol.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Uzhgorod.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Vaduz.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Vatican.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Vienna.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Vilnius.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Volgograd.generic.long=\uBCFC\uACE0\uADF8\uB77C\uB4DC \uD45C\uC900\uC2DC
-Europe/Warsaw.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Zagreb.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Zaporozhye.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-Europe/Zurich.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-GB-Eire.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-GB.generic.long=\uC601\uAD6D \uD45C\uC900\uC2DC
-GMT.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Greenwich.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-HST.generic.long=\ud558\uc640\uc774 \ud45c\uc900\uc2dc
-Hongkong.generic.long=\uD64D\uCF69 \uD45C\uC900\uC2DC
-IET.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-IST.generic.long=\uC778\uB3C4 \uD45C\uC900\uC2DC
-Iceland.generic.long=\uADF8\uB9AC\uB2C8\uCE58 \uD45C\uC900\uC2DC
-Indian/Antananarivo.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Indian/Chagos.generic.long=\uC778\uB3C4\uC591 \uC2DD\uBBFC\uC9C0 \uD45C\uC900\uC2DC
-Indian/Christmas.generic.long=\uD06C\uB9AC\uC2A4\uB9C8\uC2A4 \uC12C \uD45C\uC900\uC2DC
-Indian/Cocos.generic.long=\uCF54\uCF54\uC2A4 \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Indian/Comoro.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Indian/Kerguelen.generic.long=\uD504\uB791\uC2A4\uB839 \uB0A8\uBD80 \uBC0F \uB0A8\uADF9 \uB300\uB959 \uD45C\uC900\uC2DC
-Indian/Mahe.generic.long=\uC138\uC774\uC178 \uD45C\uC900\uC2DC
-Indian/Maldives.generic.long=\uBAB0\uB514\uBE0C \uD45C\uC900\uC2DC
-Indian/Mauritius.generic.long=\uBAA8\uB9AC\uC154\uC2A4 \uD45C\uC900\uC2DC
-Indian/Mayotte.generic.long=\uB3D9\uBD80 \uC544\uD504\uB9AC\uCE74 \uD45C\uC900\uC2DC
-Indian/Reunion.generic.long=\uB808\uC704\uB2C8\uC639 \uD45C\uC900\uC2DC
-Iran.generic.long=\uC774\uB780 \uD45C\uC900\uC2DC
-Israel.generic.long=\uC544\uC2A4\uB77C\uC5D8 \uD45C\uC900\uC2DC
-JST.generic.long=\uC77C\uBCF8 \uD45C\uC900\uC2DC
-Jamaica.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-Japan.generic.long=\uC77C\uBCF8 \uD45C\uC900\uC2DC
-Kwajalein.generic.long=\uB9C8\uC15C \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Libya.generic.long=\ub3d9\ubd80 \uc720\ub7fd \ud45c\uc900\uc2dc
-MET.generic.long=MET
-MIT.generic.long=\uC11C\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-MST.generic.long=\uc0b0\uc9c0 \ud45c\uc900\uc2dc
-MST7MDT.generic.long=\uc0b0\uc9c0 \ud45c\uc900\uc2dc
-Mexico/BajaNorte.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-Mexico/BajaSur.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-Mexico/General.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-NET.generic.long=\uC544\uB974\uBA54\uB2C8\uC544 \uD45C\uC900\uC2DC
-NST.generic.long=\uB274\uC9C8\uB79C\uB4DC \uD45C\uC900\uC2DC
-NZ-CHAT.generic.long=\uCC44\uD140 \uD45C\uC900\uC2DC
-NZ.generic.long=\uB274\uC9C8\uB79C\uB4DC \uD45C\uC900\uC2DC
-Navajo.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-PLT.generic.long=\uD30C\uD0A4\uC2A4\uD0C4 \uD45C\uC900\uC2DC
-PNT.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-PRC.generic.long=\uC911\uAD6D \uD45C\uC900\uC2DC
-PRT.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-PST.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-PST8PDT.generic.long=\ud0dc\ud3c9\uc591 \ud45c\uc900\uc2dc
-Pacific/Apia.generic.long=\uC11C\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-Pacific/Auckland.generic.long=\uB274\uC9C8\uB79C\uB4DC \uD45C\uC900\uC2DC
-Pacific/Chatham.generic.long=\uCC44\uD140 \uD45C\uC900\uC2DC
-Pacific/Chuuk.daylight.long=\uCD94\uD06C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Pacific/Chuuk.generic.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Pacific/Chuuk.standard.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Pacific/Easter.generic.long=\uC774\uC2A4\uD130 \uC12C \uD45C\uC900\uC2DC
-Pacific/Efate.generic.long=\uBC14\uB204\uC544\uD22C \uD45C\uC900\uC2DC
-Pacific/Enderbury.generic.long=\uD53C\uB2C9\uC2A4 \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Fakaofo.generic.long=\uD1A0\uCF08\uB77C\uC6B0 \uD45C\uC900\uC2DC
-Pacific/Fiji.generic.long=\uD53C\uC9C0 \uD45C\uC900\uC2DC
-Pacific/Funafuti.generic.long=\uD22C\uBC1C\uB8E8 \uD45C\uC900\uC2DC
-Pacific/Galapagos.generic.long=\uAC08\uB77C\uD30C\uACE0\uC2A4 \uD45C\uC900\uC2DC
-Pacific/Gambier.generic.long=\uC7A0\uBE44\uC544 \uD45C\uC900\uC2DC
-Pacific/Guadalcanal.generic.long=\uC194\uB85C\uBAAC \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Guam.generic.long=\uCC28\uBAA8\uB974 \uD45C\uC900\uC2DC
-Pacific/Honolulu.generic.long=\uD558\uC640\uC774 \uD45C\uC900\uC2DC
-Pacific/Johnston.generic.long=\uD558\uC640\uC774 \uD45C\uC900\uC2DC
-Pacific/Kiritimati.generic.long=\uB77C\uC778 \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Kosrae.generic.long=\uCF54\uC2A4\uB808 \uD45C\uC900\uC2DC
-Pacific/Kwajalein.generic.long=\uB9C8\uC15C \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Majuro.generic.long=\uB9C8\uC15C \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Marquesas.generic.long=\uB9C8\uD0A4\uC800\uC2A4 \uD45C\uC900\uC2DC
-Pacific/Midway.generic.long=\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-Pacific/Nauru.generic.long=\uB098\uC6B0\uB8E8 \uD45C\uC900\uC2DC
-Pacific/Niue.generic.long=\uB2C8\uC6B0\uC5D0 \uD45C\uC900\uC2DC
-Pacific/Norfolk.generic.long=\uB178\uD37D \uD45C\uC900\uC2DC
-Pacific/Noumea.generic.long=\uB274 \uCE7C\uB808\uB3C4\uB2C8\uC544 \uD45C\uC900\uC2DC
-Pacific/Pago_Pago.generic.long=\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-Pacific/Palau.generic.long=\uD314\uB77C\uC6B0 \uD45C\uC900\uC2DC
-Pacific/Pitcairn.generic.long=\uD54F\uCF00\uC5B8 \uD45C\uC900\uC2DC
-Pacific/Pohnpei.daylight.long=\uD3F0\uD398\uC774 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Pacific/Pohnpei.generic.long=\uD3EC\uB098\uD398 \uD45C\uC900\uC2DC
-Pacific/Pohnpei.standard.long=\uD3F0\uD398\uC774 \uD45C\uC900\uC2DC
-Pacific/Ponape.daylight.long=\uD3F0\uD398\uC774 \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Pacific/Ponape.generic.long=\uD3EC\uB098\uD398 \uD45C\uC900\uC2DC
-Pacific/Ponape.standard.long=\uD3F0\uD398\uC774 \uD45C\uC900\uC2DC
-Pacific/Port_Moresby.generic.long=\uD30C\uD478\uC544 \uB274\uAE30\uB2C8\uC544 \uD45C\uC900\uC2DC
-Pacific/Rarotonga.generic.long=\uCFE1 \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Saipan.generic.long=\uCC28\uBAA8\uB974 \uD45C\uC900\uC2DC
-Pacific/Samoa.generic.long=\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-Pacific/Tahiti.generic.long=\uD0C0\uD788\uD2F0 \uD45C\uC900\uC2DC
-Pacific/Tarawa.generic.long=\uAE38\uBC84\uD2B8 \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Pacific/Tongatapu.generic.long=\uD1B5\uAC00 \uD45C\uC900\uC2DC
-Pacific/Truk.daylight.long=\uCD94\uD06C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Pacific/Truk.generic.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Pacific/Truk.standard.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Pacific/Wake.generic.long=\uC6E8\uC774\uD06C \uD45C\uC900\uC2DC
-Pacific/Wallis.generic.long=\uC6D4\uB9AC\uC2A4 \uD478\uD22C\uB098 \uD45C\uC900\uC2DC
-Pacific/Yap.daylight.long=\uCD94\uD06C \uC77C\uAD11 \uC808\uC57D \uC2DC\uAC04
-Pacific/Yap.generic.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Pacific/Yap.standard.long=\uCD94\uD06C \uD45C\uC900\uC2DC
-Poland.generic.long=\uC911\uC559 \uC720\uB7FD \uD45C\uC900\uC2DC
-Portugal.generic.long=\uC11C\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-ROK.generic.long=\uB300\uD55C\uBBFC\uAD6D \uD45C\uC900\uC2DC
-SST.generic.long=\uC194\uB85C\uBAAC \uC81C\uB3C4 \uD45C\uC900\uC2DC
-Singapore.generic.long=\uC2F1\uAC00\uD3EC\uB974 \uD45C\uC900\uC2DC
-SystemV/AST4.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-SystemV/AST4ADT.generic.long=\uB300\uC11C\uC591 \uD45C\uC900\uC2DC
-SystemV/CST6.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-SystemV/CST6CDT.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-SystemV/EST5.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-SystemV/EST5EDT.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-SystemV/HST10.generic.long=\uD558\uC640\uC774 \uD45C\uC900\uC2DC
-SystemV/MST7.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-SystemV/MST7MDT.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-SystemV/PST8.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-SystemV/PST8PDT.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-SystemV/YST9.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-SystemV/YST9YDT.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-Turkey.generic.long=\uB3D9\uBD80 \uC720\uB7FD \uD45C\uC900\uC2DC
-UCT.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-US/Alaska.generic.long=\uC54C\uB798\uC2A4\uCE74 \uD45C\uC900\uC2DC
-US/Aleutian.generic.long=\uD558\uC640\uC774-\uC54C\uB8E8\uC0E8 \uD45C\uC900\uC2DC
-US/Arizona.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-US/Central.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-US/East-Indiana.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-US/Eastern.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-US/Hawaii.generic.long=\uD558\uC640\uC774 \uD45C\uC900\uC2DC
-US/Indiana-Starke.generic.long=\uC911\uBD80 \uD45C\uC900\uC2DC
-US/Michigan.generic.long=\uB3D9\uBD80 \uD45C\uC900\uC2DC
-US/Mountain.generic.long=\uC0B0\uC9C0 \uD45C\uC900\uC2DC
-US/Pacific-New.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-US/Pacific.generic.long=\uD0DC\uD3C9\uC591 \uD45C\uC900\uC2DC
-US/Samoa.generic.long=\uC0AC\uBAA8\uC544 \uD45C\uC900\uC2DC
-UTC.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-Universal.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
-VST.generic.long=\uC778\uB3C4\uCC28\uC774\uB098 \uBC18\uB3C4 \uD45C\uC900\uC2DC
-W-SU.generic.long=\uBAA8\uC2A4\uD06C\uBC14 \uD45C\uC900\uC2DC
-WET.generic.long=\uc11c\ubd80 \uc720\ub7fd \ud45c\uc900\uc2dc
-Zulu.generic.long=\uC9C0\uC5ED \uD45C\uC900\uC2DC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_ko_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR.properties
deleted file mode 100644
index 763311b..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Territ\u00F3rio do Norte)
-ACT.generic.long=Hor\u00E1rio Central (Territ\u00F3rio do Norte)
-ACT.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Territ\u00F3rio do Norte)
-AET.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-AET.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-AET.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-AGT.generic.long=Hor\u00E1rio da Argentina
-ART.generic.long=Hor\u00E1rio da Europa Oriental
-AST.generic.long=Hor\u00E1rio do Alasca
-Africa/Abidjan.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Accra.generic.long=Fuso Hor\u00E1rio do Meridiano de Gana
-Africa/Addis_Ababa.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Algiers.generic.long=Hor\u00E1rio da Europa Central
-Africa/Asmara.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Asmera.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Bamako.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Bangui.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Banjul.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Bissau.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Blantyre.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Brazzaville.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Bujumbura.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Cairo.generic.long=Hor\u00E1rio da Europa Oriental
-Africa/Casablanca.generic.long=Hor\u00E1rio da Europa Ocidental
-Africa/Ceuta.generic.long=Hor\u00E1rio da Europa Central
-Africa/Conakry.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Dakar.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Dar_es_Salaam.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Djibouti.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Douala.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/El_Aaiun.generic.long=Hor\u00E1rio da Europa Ocidental
-Africa/Freetown.generic.long=Hor\u00E1rio de Serra Leoa
-Africa/Gaborone.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Harare.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Johannesburg.generic.long=Hor\u00E1rio da \u00C1frica do Sul
-Africa/Juba.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Kampala.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Khartoum.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Kigali.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Kinshasa.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Lagos.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Libreville.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Lome.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Luanda.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Lubumbashi.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Lusaka.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Malabo.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Maputo.generic.long=Hor\u00E1rio da \u00C1frica Central
-Africa/Maseru.generic.long=Hor\u00E1rio da \u00C1frica do Sul
-Africa/Mbabane.generic.long=Hor\u00E1rio da \u00C1frica do Sul
-Africa/Mogadishu.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Monrovia.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Nairobi.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Africa/Ndjamena.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Niamey.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Nouakchott.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Ouagadougou.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Porto-Novo.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-Africa/Sao_Tome.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Timbuktu.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Africa/Tripoli.generic.long=Hor\u00e1rio da Europa Oriental
-Africa/Tunis.generic.long=Hor\u00E1rio da Europa Central
-Africa/Windhoek.generic.long=Hor\u00E1rio da \u00C1frica Ocidental
-America/Adak.generic.long=Hor\u00E1rio do Hava\u00ED-Aleutas
-America/Anchorage.generic.long=Hor\u00E1rio do Alasca
-America/Anguilla.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Antigua.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Araguaina.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Argentina/Buenos_Aires.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Catamarca.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/ComodRivadavia.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Cordoba.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Jujuy.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/La_Rioja.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Mendoza.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Rio_Gallegos.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Salta.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/San_Juan.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/San_Luis.generic.long=Hor\u00e1rio da Argentina
-America/Argentina/Tucuman.generic.long=Hor\u00E1rio da Argentina
-America/Argentina/Ushuaia.generic.long=Hor\u00E1rio da Argentina
-America/Aruba.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Asuncion.generic.long=Hor\u00E1rio do Paraguai
-America/Atikokan.generic.long=Hor\u00E1rio do Leste
-America/Atka.generic.long=Hor\u00E1rio do Hava\u00ED-Aleutas
-America/Bahia.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Bahia_Banderas.generic.long=Hor\u00E1rio Central
-America/Barbados.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Belem.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Belize.generic.long=Hor\u00E1rio Central
-America/Blanc-Sablon.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Boa_Vista.generic.long=Hor\u00E1rio do Amazonas
-America/Bogota.generic.long=Hor\u00E1rio da Col\u00F4mbia
-America/Boise.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Buenos_Aires.generic.long=Hor\u00E1rio da Argentina
-America/Cambridge_Bay.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Campo_Grande.generic.long=Hor\u00E1rio do Amazonas
-America/Cancun.generic.long=Hor\u00E1rio Central
-America/Caracas.generic.long=Hor\u00E1rio da Venezuela
-America/Catamarca.generic.long=Hor\u00E1rio da Argentina
-America/Cayenne.generic.long=Hor\u00E1rio da Guiana Francesa
-America/Cayman.generic.long=Hor\u00E1rio do Leste
-America/Chicago.generic.long=Hor\u00E1rio Central
-America/Chihuahua.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Coral_Harbour.generic.long=Hor\u00E1rio do Leste
-America/Cordoba.generic.long=Hor\u00E1rio da Argentina
-America/Costa_Rica.generic.long=Hor\u00E1rio Central
-America/Creston.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Cuiaba.generic.long=Hor\u00E1rio do Amazonas
-America/Curacao.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Danmarkshavn.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-America/Dawson.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Dawson_Creek.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Denver.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Detroit.generic.long=Hor\u00E1rio do Leste
-America/Dominica.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Edmonton.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Eirunepe.generic.long=Fuso hor\u00e1rio do Acre
-America/El_Salvador.generic.long=Hor\u00E1rio Central
-America/Ensenada.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Fort_Wayne.generic.long=Hor\u00E1rio do Leste
-America/Fortaleza.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Glace_Bay.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Godthab.generic.long=Hor\u00E1rio da Groenl\u00E2ndia Ocidental
-America/Goose_Bay.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Grand_Turk.generic.long=Hor\u00E1rio do Leste
-America/Grenada.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Guadeloupe.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Guatemala.generic.long=Hor\u00E1rio Central
-America/Guayaquil.generic.long=Hor\u00E1rio do Equador
-America/Guyana.generic.long=Hor\u00E1rios da Guiana
-America/Halifax.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Havana.generic.long=Hor\u00E1rio de Cuba
-America/Hermosillo.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Indiana/Indianapolis.generic.long=Hor\u00E1rio do Leste
-America/Indiana/Knox.generic.long=Hor\u00E1rio Central
-America/Indiana/Marengo.generic.long=Hor\u00E1rio do Leste
-America/Indiana/Petersburg.generic.long=Hor\u00E1rio do Leste
-America/Indiana/Tell_City.generic.long=Hor\u00E1rio Central
-America/Indiana/Vevay.generic.long=Hor\u00E1rio do Leste
-America/Indiana/Vincennes.generic.long=Hor\u00E1rio do Leste
-America/Indiana/Winamac.generic.long=Hor\u00E1rio do Leste
-America/Indianapolis.generic.long=Hor\u00E1rio do Leste
-America/Inuvik.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Iqaluit.generic.long=Hor\u00E1rio do Leste
-America/Jamaica.generic.long=Hor\u00E1rio do Leste
-America/Jujuy.generic.long=Hor\u00E1rio da Argentina
-America/Juneau.generic.long=Hor\u00E1rio do Alasca
-America/Kentucky/Louisville.generic.long=Hor\u00E1rio do Leste
-America/Kentucky/Monticello.generic.long=Hor\u00E1rio do Leste
-America/Knox_IN.generic.long=Hor\u00E1rio Central
-America/Kralendijk.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/La_Paz.generic.long=Hor\u00E1rio da Bol\u00EDvia
-America/Lima.generic.long=Hor\u00E1rio do Peru
-America/Los_Angeles.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Louisville.generic.long=Hor\u00E1rio do Leste
-America/Lower_Princes.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Maceio.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Managua.generic.long=Hor\u00E1rio Central
-America/Manaus.generic.long=Hor\u00E1rio do Amazonas
-America/Marigot.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Martinique.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Matamoros.generic.long=Hor\u00E1rio Central
-America/Mazatlan.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Mendoza.generic.long=Hor\u00E1rio da Argentina
-America/Menominee.generic.long=Hor\u00E1rio Central
-America/Merida.generic.long=Hor\u00E1rio Central
-America/Metlakatla.daylight.long=Hor\u00E1rio de Luz Natural de Metlakatla
-America/Metlakatla.generic.long=Hor\u00E1rio de Metlakatla
-America/Metlakatla.standard.long=Hor\u00E1rio Padr\u00E3o de Metlakatla
-America/Mexico_City.generic.long=Hor\u00E1rio Central
-America/Miquelon.generic.long=Hor\u00E1rio de Saint Pierre e Miquelon
-America/Moncton.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Monterrey.generic.long=Hor\u00E1rio Central
-America/Montevideo.generic.long=Hor\u00E1rio do Uruguai
-America/Montreal.generic.long=Hor\u00E1rio do Leste
-America/Montserrat.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Nassau.generic.long=Hor\u00E1rio do Leste
-America/New_York.generic.long=Hor\u00E1rio do Leste
-America/Nipigon.generic.long=Hor\u00E1rio do Leste
-America/Nome.generic.long=Hor\u00E1rio do Alasca
-America/Noronha.generic.long=Hor\u00E1rio de Fernando de Noronha
-America/North_Dakota/Beulah.generic.long=Hor\u00E1rio Central
-America/North_Dakota/Center.generic.long=Hor\u00E1rio Central
-America/North_Dakota/New_Salem.generic.long=Hor\u00E1rio Central
-America/Ojinaga.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Panama.generic.long=Hor\u00E1rio do Leste
-America/Pangnirtung.generic.long=Hor\u00E1rio do Leste
-America/Paramaribo.generic.long=Hor\u00E1rio do Suriname
-America/Phoenix.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Port-au-Prince.generic.long=Hor\u00E1rio do Leste
-America/Port_of_Spain.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Porto_Acre.generic.long=Fuso hor\u00e1rio do Acre
-America/Porto_Velho.generic.long=Hor\u00E1rio do Amazonas
-America/Puerto_Rico.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Rainy_River.generic.long=Hor\u00E1rio Central
-America/Rankin_Inlet.generic.long=Hor\u00E1rio Central
-America/Recife.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Regina.generic.long=Hor\u00E1rio Central
-America/Resolute.generic.long=Hor\u00E1rio Central
-America/Rio_Branco.generic.long=Fuso hor\u00e1rio do Acre
-America/Rosario.generic.long=Hor\u00E1rio da Argentina
-America/Santa_Isabel.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Santarem.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Santiago.generic.long=Hor\u00E1rio do Chile
-America/Santo_Domingo.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Sao_Paulo.generic.long=Hor\u00E1rio de Bras\u00EDlia
-America/Scoresbysund.generic.long=Hor\u00E1rio da Groenl\u00E2ndia Oriental
-America/Shiprock.generic.long=Hor\u00E1rio das Montanhas Rochosas
-America/Sitka.generic.long=Hor\u00E1rio do Alasca
-America/St_Barthelemy.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/St_Johns.generic.long=Hor\u00E1rio de Terra Nova
-America/St_Kitts.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/St_Lucia.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/St_Thomas.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/St_Vincent.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Swift_Current.generic.long=Hor\u00E1rio Central
-America/Tegucigalpa.generic.long=Hor\u00E1rio Central
-America/Thule.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Thunder_Bay.generic.long=Hor\u00E1rio do Leste
-America/Tijuana.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Toronto.generic.long=Hor\u00E1rio do Leste
-America/Tortola.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Vancouver.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Virgin.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-America/Whitehorse.generic.long=Hor\u00E1rio do Pac\u00EDfico
-America/Winnipeg.generic.long=Hor\u00E1rio Central
-America/Yakutat.generic.long=Hor\u00E1rio do Alasca
-America/Yellowknife.generic.long=Hor\u00E1rio das Montanhas Rochosas
-Antarctica/Casey.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Ocidental (Austr\u00E1lia)
-Antarctica/Casey.generic.long=Hor\u00E1rio Ocidental (Austr\u00E1lia)
-Antarctica/Casey.standard.long=Hor\u00E1rio-Padr\u00E3o Ocidental (Austr\u00E1lia)
-Antarctica/Davis.generic.long=Hor\u00E1rio de Davis
-Antarctica/DumontDUrville.generic.long=Fuso Hor\u00E1rio de Dumont-d'Urville
-Antarctica/Macquarie.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o da Ilha de Macquarie
-Antarctica/Macquarie.generic.long=Fuso Hor\u00E1rio da Ilha de Macquarie
-Antarctica/Macquarie.standard.long=Fuso Hor\u00E1rio da Ilha de Macquarie
-Antarctica/Mawson.generic.long=Hor\u00E1rio de Mawson
-Antarctica/McMurdo.generic.long=Hor\u00E1rio da Nova Zel\u00E2ndia
-Antarctica/Palmer.generic.long=Hor\u00E1rio do Chile
-Antarctica/Rothera.generic.long=Hor\u00E1rio de Rothera
-Antarctica/South_Pole.generic.long=Hor\u00E1rio da Nova Zel\u00E2ndia
-Antarctica/Syowa.generic.long=Hor\u00E1rio de Syowa
-Antarctica/Vostok.generic.long=Hor\u00E1rio de Vostok
-Arctic/Longyearbyen.generic.long=Hor\u00E1rio da Europa Central
-Asia/Aden.generic.long=Hor\u00E1rio da Ar\u00E1bia
-Asia/Almaty.generic.long=Hor\u00E1rio de Alma-Ata
-Asia/Amman.generic.long=Hor\u00e1rio da Ar\u00e1bia
-Asia/Anadyr.generic.long=Hor\u00E1rio de Anadyr
-Asia/Aqtau.generic.long=Hor\u00E1rio de Aqtau
-Asia/Aqtobe.generic.long=Hor\u00E1rio de Aqtobe
-Asia/Ashgabat.generic.long=Hor\u00E1rio do Turcomenist\u00E3o
-Asia/Ashkhabad.generic.long=Hor\u00E1rio do Turcomenist\u00E3o
-Asia/Baghdad.generic.long=Hor\u00E1rio da Ar\u00E1bia
-Asia/Bahrain.generic.long=Hor\u00E1rio da Ar\u00E1bia
-Asia/Baku.generic.long=Hor\u00E1rio do Azerbaij\u00E3o
-Asia/Bangkok.generic.long=Hor\u00E1rio da Indochina
-Asia/Beirut.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Bishkek.generic.long=Hor\u00E1rio do Quirguist\u00E3o
-Asia/Brunei.generic.long=Hor\u00E1rio de Brunei
-Asia/Calcutta.generic.long=Hor\u00E1rio da \u00CDndia
-Asia/Choibalsan.generic.long=Hor\u00E1rio de Choibalsan
-Asia/Chongqing.generic.long=Hor\u00E1rio da China
-Asia/Chungking.generic.long=Hor\u00E1rio da China
-Asia/Colombo.generic.long=Hor\u00E1rio da \u00CDndia
-Asia/Dacca.generic.long=Hor\u00E1rio de Bangladesh
-Asia/Damascus.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Dhaka.generic.long=Hor\u00E1rio de Bangladesh
-Asia/Dili.generic.long=Hor\u00E1rio do Timor-Leste
-Asia/Dubai.generic.long=Hor\u00E1rio do Golfo
-Asia/Dushanbe.generic.long=Hor\u00E1rio do Tadjiquist\u00E3o
-Asia/Gaza.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Harbin.generic.long=Hor\u00E1rio da China
-Asia/Hebron.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Ho_Chi_Minh.generic.long=Hor\u00E1rio da Indochina
-Asia/Hong_Kong.generic.long=Hor\u00E1rio de Hong Kong
-Asia/Hovd.generic.long=Hor\u00E1rio de Hovd
-Asia/Irkutsk.generic.long=Hor\u00E1rio de Irkutsk
-Asia/Istanbul.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Jakarta.generic.long=Hor\u00E1rio da Indon\u00E9sia Ocidental
-Asia/Jayapura.generic.long=Hor\u00E1rio da Indon\u00E9sia Oriental
-Asia/Jerusalem.generic.long=Hor\u00E1rio de Israel
-Asia/Kabul.generic.long=Hor\u00E1rio do Afeganist\u00E3o
-Asia/Kamchatka.generic.long=Hor\u00E1rio de Petropavlovsk-Kamchatski
-Asia/Karachi.generic.long=Hor\u00E1rio do Paquist\u00E3o
-Asia/Kashgar.generic.long=Hor\u00E1rio da China
-Asia/Kathmandu.generic.long=Hor\u00E1rio do Nepal
-Asia/Katmandu.generic.long=Hor\u00E1rio do Nepal
-Asia/Khandyga.daylight.long=Hor\u00E1rio de Ver\u00E3o de Khandyga
-Asia/Khandyga.generic.long=Hor\u00E1rio de Khandyga
-Asia/Khandyga.standard.long=Hor\u00E1rio de Khandyga
-Asia/Kolkata.generic.long=Hor\u00E1rio da \u00CDndia
-Asia/Krasnoyarsk.generic.long=Hor\u00E1rio de Krasnoyarsk
-Asia/Kuala_Lumpur.generic.long=Hor\u00E1rio da Mal\u00E1sia
-Asia/Kuching.generic.long=Hor\u00E1rio da Mal\u00E1sia
-Asia/Kuwait.generic.long=Hor\u00E1rio da Ar\u00E1bia
-Asia/Macao.generic.long=Hor\u00E1rio da China
-Asia/Macau.generic.long=Hor\u00E1rio da China
-Asia/Magadan.generic.long=Hor\u00E1rio de Magadan
-Asia/Makassar.generic.long=Hor\u00E1rio da Indon\u00E9sia Central
-Asia/Manila.generic.long=Hor\u00E1rio das Filipinas
-Asia/Muscat.generic.long=Hor\u00E1rio do Golfo
-Asia/Nicosia.generic.long=Hor\u00E1rio da Europa Oriental
-Asia/Novokuznetsk.generic.long=Hor\u00E1rio de Novosibirsk
-Asia/Novosibirsk.generic.long=Hor\u00E1rio de Novosibirsk
-Asia/Omsk.generic.long=Hor\u00E1rio de Omsk
-Asia/Oral.generic.long=Hor\u00E1rio de Uralsk
-Asia/Phnom_Penh.generic.long=Hor\u00E1rio da Indochina
-Asia/Pontianak.generic.long=Hor\u00E1rio da Indon\u00E9sia Ocidental
-Asia/Pyongyang.generic.long=Hor\u00E1rio da Coreia
-Asia/Qatar.generic.long=Hor\u00E1rio da Ar\u00E1bia
-Asia/Qyzylorda.generic.long=Hor\u00E1rio de Qyzylorda
-Asia/Rangoon.generic.long=Hor\u00E1rio de Mianmar
-Asia/Saigon.generic.long=Hor\u00E1rio da Indochina
-Asia/Sakhalin.generic.long=Hor\u00E1rio de Sakhalin
-Asia/Samarkand.generic.long=Hor\u00E1rio do Uzbequist\u00E3o
-Asia/Seoul.generic.long=Hor\u00E1rio da Coreia
-Asia/Shanghai.generic.long=Hor\u00E1rio da China
-Asia/Singapore.generic.long=Hor\u00E1rio de Cingapura
-Asia/Taipei.generic.long=Hor\u00E1rio da China
-Asia/Tashkent.generic.long=Hor\u00E1rio do Uzbequist\u00E3o
-Asia/Tbilisi.generic.long=Hor\u00E1rio da Ge\u00F3rgia
-Asia/Tehran.generic.long=Hor\u00E1rio do Ir\u00E3
-Asia/Tel_Aviv.generic.long=Hor\u00E1rio de Israel
-Asia/Thimbu.generic.long=Hor\u00E1rio do But\u00E3o
-Asia/Thimphu.generic.long=Hor\u00E1rio do But\u00E3o
-Asia/Tokyo.generic.long=Hor\u00E1rio do Jap\u00E3o
-Asia/Ujung_Pandang.generic.long=Hor\u00E1rio da Indon\u00E9sia Central
-Asia/Ulaanbaatar.generic.long=Hor\u00E1rio de Ulaanbaatar
-Asia/Ulan_Bator.generic.long=Hor\u00E1rio de Ulaanbaatar
-Asia/Urumqi.generic.long=Hor\u00E1rio da China
-Asia/Ust-Nera.daylight.long=Hor\u00E1rio de Ver\u00E3o de Ust-Nera
-Asia/Ust-Nera.generic.long=Hor\u00E1rio de Ust-Nera
-Asia/Ust-Nera.standard.long=Hor\u00E1rio de Ust-Nera
-Asia/Vientiane.generic.long=Hor\u00E1rio da Indochina
-Asia/Vladivostok.generic.long=Hor\u00E1rio de Vladivostok
-Asia/Yakutsk.generic.long=Hor\u00E1rio de Yakutsk
-Asia/Yekaterinburg.generic.long=Hor\u00E1rio de Yekaterinburg
-Asia/Yerevan.generic.long=Hor\u00E1rio da Arm\u00EAnia
-Atlantic/Azores.generic.long=Hor\u00E1rio de A\u00E7ores
-Atlantic/Bermuda.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-Atlantic/Canary.generic.long=Hor\u00E1rio da Europa Ocidental
-Atlantic/Cape_Verde.generic.long=Hor\u00E1rio de Cabo Verde
-Atlantic/Faeroe.generic.long=Hor\u00E1rio da Europa Ocidental
-Atlantic/Faroe.generic.long=Hor\u00E1rio da Europa Ocidental
-Atlantic/Jan_Mayen.generic.long=Hor\u00E1rio da Europa Central
-Atlantic/Madeira.generic.long=Hor\u00E1rio da Europa Ocidental
-Atlantic/Reykjavik.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Atlantic/South_Georgia.generic.long=Hor\u00E1rio da Ge\u00F3rgia do Sul
-Atlantic/St_Helena.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Atlantic/Stanley.generic.long=Hor\u00E1rio das Ilhas Malvinas
-Australia/ACT.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-Australia/ACT.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-Australia/ACT.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-Australia/Adelaide.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Austr\u00E1lia do Sul)
-Australia/Adelaide.generic.long=Hor\u00E1rio Central (Austr\u00E1lia do Sul)
-Australia/Adelaide.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Austr\u00E1lia do Sul)
-Australia/Brisbane.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Queensland)
-Australia/Brisbane.generic.long=Hor\u00E1rio do Leste (Queensland)
-Australia/Brisbane.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Queensland)
-Australia/Broken_Hill.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-Australia/Broken_Hill.generic.long=Hor\u00E1rio Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-Australia/Broken_Hill.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-Australia/Canberra.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-Australia/Canberra.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-Australia/Canberra.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-Australia/Currie.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-Australia/Currie.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-Australia/Currie.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-Australia/Darwin.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Territ\u00F3rio do Norte)
-Australia/Darwin.generic.long=Hor\u00E1rio Central (Territ\u00F3rio do Norte)
-Australia/Darwin.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Territ\u00F3rio do Norte)
-Australia/Eucla.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Ocidental Central (Austr\u00E1lia)
-Australia/Eucla.generic.long=Hor\u00E1rio Ocidental Central (Austr\u00E1lia)
-Australia/Eucla.standard.long=Fuso Hor\u00E1rio Ocidental Central (Austr\u00E1lia)
-Australia/Hobart.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Tasm\u00E2nia)
-Australia/Hobart.generic.long=Hor\u00E1rio do Leste (Tasm\u00E2nia)
-Australia/Hobart.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Tasm\u00E2nia)
-Australia/LHI.generic.long=Hor\u00E1rio de Lord Howe
-Australia/Lindeman.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Queensland)
-Australia/Lindeman.generic.long=Hor\u00E1rio do Leste (Queensland)
-Australia/Lindeman.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Queensland)
-Australia/Lord_Howe.generic.long=Hor\u00E1rio de Lord Howe
-Australia/Melbourne.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Victoria)
-Australia/Melbourne.generic.long=Hor\u00E1rio do Leste (Victoria)
-Australia/Melbourne.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Victoria)
-Australia/NSW.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-Australia/NSW.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-Australia/NSW.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-Australia/North.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Territ\u00F3rio do Norte)
-Australia/North.generic.long=Hor\u00E1rio Central (Territ\u00F3rio do Norte)
-Australia/North.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Territ\u00F3rio do Norte)
-Australia/Perth.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Ocidental (Austr\u00E1lia)
-Australia/Perth.generic.long=Hor\u00E1rio Ocidental (Austr\u00E1lia)
-Australia/Perth.standard.long=Hor\u00E1rio-Padr\u00E3o Ocidental (Austr\u00E1lia)
-Australia/Queensland.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Queensland)
-Australia/Queensland.generic.long=Hor\u00E1rio do Leste (Queensland)
-Australia/Queensland.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Queensland)
-Australia/South.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Austr\u00E1lia do Sul)
-Australia/South.generic.long=Hor\u00E1rio Central (Austr\u00E1lia do Sul)
-Australia/South.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Austr\u00E1lia do Sul)
-Australia/Sydney.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Nova Gales do Sul)
-Australia/Sydney.generic.long=Hor\u00E1rio Oriental (Nova Gales do Sul)
-Australia/Sydney.standard.long=Hor\u00E1rio-Padr\u00E3o Oriental (Nova Gales do Sul)
-Australia/Tasmania.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Tasm\u00E2nia)
-Australia/Tasmania.generic.long=Hor\u00E1rio do Leste (Tasm\u00E2nia)
-Australia/Tasmania.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Tasm\u00E2nia)
-Australia/Victoria.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Oriental (Victoria)
-Australia/Victoria.generic.long=Hor\u00E1rio do Leste (Victoria)
-Australia/Victoria.standard.long=Hor\u00E1rio-Padr\u00E3o do Leste (Victoria)
-Australia/West.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Ocidental (Austr\u00E1lia)
-Australia/West.generic.long=Hor\u00E1rio Ocidental (Austr\u00E1lia)
-Australia/West.standard.long=Hor\u00E1rio-Padr\u00E3o Ocidental (Austr\u00E1lia)
-Australia/Yancowinna.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-Australia/Yancowinna.generic.long=Hor\u00E1rio Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-Australia/Yancowinna.standard.long=Hor\u00E1rio-Padr\u00E3o Central (Austr\u00E1lia do Sul/Nova Gales do Sul)
-BET.generic.long=Hor\u00E1rio de Bras\u00EDlia
-BST.generic.long=Hor\u00E1rio de Bangladesh
-Brazil/Acre.generic.long=Fuso hor\u00e1rio do Acre
-Brazil/DeNoronha.generic.long=Hor\u00E1rio de Fernando de Noronha
-Brazil/East.generic.long=Hor\u00E1rio de Bras\u00EDlia
-Brazil/West.generic.long=Hor\u00E1rio do Amazonas
-CAT.generic.long=Hor\u00E1rio da \u00C1frica Central
-CET.generic.long=Hor\u00e1rio da Europa Central
-CNT.generic.long=Hor\u00E1rio de Terra Nova
-CST.generic.long=Hor\u00E1rio Central
-CST6CDT.generic.long=Hor\u00e1rio Central
-CTT.generic.long=Hor\u00E1rio da China
-Canada/Atlantic.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-Canada/Central.generic.long=Hor\u00E1rio Central
-Canada/East-Saskatchewan.generic.long=Hor\u00E1rio Central
-Canada/Eastern.generic.long=Hor\u00E1rio do Leste
-Canada/Mountain.generic.long=Hor\u00E1rio das Montanhas Rochosas
-Canada/Newfoundland.generic.long=Hor\u00E1rio de Terra Nova
-Canada/Pacific.generic.long=Hor\u00E1rio do Pac\u00EDfico
-Canada/Saskatchewan.generic.long=Hor\u00E1rio Central
-Canada/Yukon.generic.long=Hor\u00E1rio do Pac\u00EDfico
-Chile/Continental.generic.long=Hor\u00E1rio do Chile
-Chile/EasterIsland.generic.long=Hor\u00E1rio da Ilha de P\u00E1scoa
-Cuba.generic.long=Hor\u00E1rio de Cuba
-EAT.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-ECT.generic.long=Hor\u00E1rio da Europa Central
-EET.generic.long=Hor\u00e1rio da Europa Oriental
-EST.generic.long=Hor\u00e1rio do Leste
-EST5EDT.generic.long=Hor\u00e1rio do Leste
-Egypt.generic.long=Hor\u00E1rio da Europa Oriental
-Eire.generic.long=Hor\u00E1rio da Rep\u00FAblica da Irlanda
-Etc/Greenwich.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Etc/UCT.generic.long=Hor\u00E1rio Universal Coordenado
-Etc/UTC.generic.long=Hor\u00E1rio Universal Coordenado
-Etc/Universal.generic.long=Hor\u00E1rio Universal Coordenado
-Etc/Zulu.generic.long=Hor\u00E1rio Universal Coordenado
-Europe/Amsterdam.generic.long=Hor\u00E1rio da Europa Central
-Europe/Andorra.generic.long=Hor\u00E1rio da Europa Central
-Europe/Athens.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Belfast.generic.long=Hor\u00E1rio do Reino Unido
-Europe/Belgrade.generic.long=Hor\u00E1rio da Europa Central
-Europe/Berlin.generic.long=Hor\u00E1rio da Europa Central
-Europe/Bratislava.generic.long=Hor\u00E1rio da Europa Central
-Europe/Brussels.generic.long=Hor\u00E1rio da Europa Central
-Europe/Bucharest.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Budapest.generic.long=Hor\u00E1rio da Europa Central
-Europe/Busingen.generic.long=Hor\u00E1rio da Europa Central
-Europe/Chisinau.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Copenhagen.generic.long=Hor\u00E1rio da Europa Central
-Europe/Dublin.generic.long=Hor\u00E1rio da Rep\u00FAblica da Irlanda
-Europe/Gibraltar.generic.long=Hor\u00E1rio da Europa Central
-Europe/Guernsey.generic.long=Hor\u00E1rio do Reino Unido
-Europe/Helsinki.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Isle_of_Man.generic.long=Hor\u00E1rio do Reino Unido
-Europe/Istanbul.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Jersey.generic.long=Hor\u00E1rio do Reino Unido
-Europe/Kaliningrad.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o do Extremo Leste Europeu
-Europe/Kaliningrad.generic.long=Hor\u00E1rio do Extremo Leste Europeu (FET)
-Europe/Kaliningrad.standard.long=Hor\u00E1rio do Extremo Leste Europeu (FET)
-Europe/Kiev.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Lisbon.generic.long=Hor\u00E1rio da Europa Ocidental
-Europe/Ljubljana.generic.long=Hor\u00E1rio da Europa Central
-Europe/London.generic.long=Hor\u00E1rio do Reino Unido
-Europe/Luxembourg.generic.long=Hor\u00E1rio da Europa Central
-Europe/Madrid.generic.long=Hor\u00E1rio da Europa Central
-Europe/Malta.generic.long=Hor\u00E1rio da Europa Central
-Europe/Mariehamn.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Minsk.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o do Extremo Leste Europeu
-Europe/Minsk.generic.long=Hor\u00E1rio do Extremo Leste Europeu (FET)
-Europe/Minsk.standard.long=Hor\u00E1rio do Extremo Leste Europeu (FET)
-Europe/Monaco.generic.long=Hor\u00E1rio da Europa Central
-Europe/Moscow.generic.long=Hor\u00E1rio de Moscou
-Europe/Nicosia.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Oslo.generic.long=Hor\u00E1rio da Europa Central
-Europe/Paris.generic.long=Hor\u00E1rio da Europa Central
-Europe/Podgorica.generic.long=Hor\u00E1rio da Europa Central
-Europe/Prague.generic.long=Hor\u00E1rio da Europa Central
-Europe/Riga.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Rome.generic.long=Hor\u00E1rio da Europa Central
-Europe/Samara.generic.long=Hor\u00E1rio de Samara
-Europe/San_Marino.generic.long=Hor\u00E1rio da Europa Central
-Europe/Sarajevo.generic.long=Hor\u00E1rio da Europa Central
-Europe/Simferopol.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Skopje.generic.long=Hor\u00E1rio da Europa Central
-Europe/Sofia.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Stockholm.generic.long=Hor\u00E1rio da Europa Central
-Europe/Tallinn.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Tirane.generic.long=Hor\u00E1rio da Europa Central
-Europe/Tiraspol.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Uzhgorod.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Vaduz.generic.long=Hor\u00E1rio da Europa Central
-Europe/Vatican.generic.long=Hor\u00E1rio da Europa Central
-Europe/Vienna.generic.long=Hor\u00E1rio da Europa Central
-Europe/Vilnius.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Volgograd.generic.long=Hor\u00E1rio de Volgogrado
-Europe/Warsaw.generic.long=Hor\u00E1rio da Europa Central
-Europe/Zagreb.generic.long=Hor\u00E1rio da Europa Central
-Europe/Zaporozhye.generic.long=Hor\u00E1rio da Europa Oriental
-Europe/Zurich.generic.long=Hor\u00E1rio da Europa Central
-GB-Eire.generic.long=Hor\u00E1rio do Reino Unido
-GB.generic.long=Hor\u00E1rio do Reino Unido
-GMT.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Greenwich.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-HST.generic.long=Hor\u00e1rio do Hava\u00ed
-Hongkong.generic.long=Hor\u00E1rio de Hong Kong
-IET.generic.long=Hor\u00E1rio do Leste
-IST.generic.long=Hor\u00E1rio da \u00CDndia
-Iceland.generic.long=Hor\u00E1rio M\u00E9dio de Greenwich
-Indian/Antananarivo.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Indian/Chagos.generic.long=Hor\u00E1rio do Territ\u00F3rio do Oceano \u00CDndico
-Indian/Christmas.generic.long=Hor\u00E1rio da Ilha Christmas
-Indian/Cocos.generic.long=Hor\u00E1rio das Ilhas Cocos
-Indian/Comoro.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Indian/Kerguelen.generic.long=Hor\u00E1rio do Territ\u00F3rio Franc\u00EAs no Sul da Ant\u00E1rtica
-Indian/Mahe.generic.long=Hor\u00E1rio de Seychelles
-Indian/Maldives.generic.long=Hor\u00E1rio das Maldivas
-Indian/Mauritius.generic.long=Hor\u00E1rio de Maur\u00EDcio
-Indian/Mayotte.generic.long=Hor\u00E1rio do Leste da \u00C1frica
-Indian/Reunion.generic.long=Hor\u00E1rio das Ilhas Reuni\u00E3o
-Iran.generic.long=Hor\u00E1rio do Ir\u00E3
-Israel.generic.long=Hor\u00E1rio de Israel
-JST.generic.long=Hor\u00E1rio do Jap\u00E3o
-Jamaica.generic.long=Hor\u00E1rio do Leste
-Japan.generic.long=Hor\u00E1rio do Jap\u00E3o
-Kwajalein.generic.long=Hor\u00E1rio das Ilhas Marshall
-Libya.generic.long=Hor\u00e1rio da Europa Oriental
-MET.generic.long=MET
-MIT.generic.long=Fuso Hor\u00E1rio de Samoa Ocidental
-MST.generic.long=Hor\u00e1rio das Montanhas Rochosas
-MST7MDT.generic.long=Hor\u00e1rio das Montanhas Rochosas
-Mexico/BajaNorte.generic.long=Hor\u00E1rio do Pac\u00EDfico
-Mexico/BajaSur.generic.long=Hor\u00E1rio das Montanhas Rochosas
-Mexico/General.generic.long=Hor\u00E1rio Central
-NET.generic.long=Hor\u00E1rio da Arm\u00EAnia
-NST.generic.long=Hor\u00E1rio da Nova Zel\u00E2ndia
-NZ-CHAT.generic.long=Hor\u00E1rio de Chatham
-NZ.generic.long=Hor\u00E1rio da Nova Zel\u00E2ndia
-Navajo.generic.long=Hor\u00E1rio das Montanhas Rochosas
-PLT.generic.long=Hor\u00E1rio do Paquist\u00E3o
-PNT.generic.long=Hor\u00E1rio das Montanhas Rochosas
-PRC.generic.long=Hor\u00E1rio da China
-PRT.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-PST.generic.long=Hor\u00E1rio do Pac\u00EDfico
-PST8PDT.generic.long=Hor\u00e1rio do Pac\u00edfico
-Pacific/Apia.generic.long=Fuso Hor\u00E1rio de Samoa Ocidental
-Pacific/Auckland.generic.long=Hor\u00E1rio da Nova Zel\u00E2ndia
-Pacific/Chatham.generic.long=Hor\u00E1rio de Chatham
-Pacific/Chuuk.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o de Chuuk
-Pacific/Chuuk.generic.long=Fuso Hor\u00E1rio de Chuuk
-Pacific/Chuuk.standard.long=Fuso Hor\u00E1rio de Chuuk
-Pacific/Easter.generic.long=Hor\u00E1rio da Ilha de P\u00E1scoa
-Pacific/Efate.generic.long=Hor\u00E1rio de Vanuatu
-Pacific/Enderbury.generic.long=Hor\u00E1rio da Ilha Phoenix
-Pacific/Fakaofo.generic.long=Hor\u00E1rio de Toquelau
-Pacific/Fiji.generic.long=Hor\u00E1rio de Fiji
-Pacific/Funafuti.generic.long=Hor\u00E1rio de Tuvalu
-Pacific/Galapagos.generic.long=Hor\u00E1rio de Gal\u00E1pagos
-Pacific/Gambier.generic.long=Hor\u00E1rio de Gambier
-Pacific/Guadalcanal.generic.long=Hor\u00E1rio das Ilhas Salom\u00E3o
-Pacific/Guam.generic.long=Hor\u00E1rio de Chamorro
-Pacific/Honolulu.generic.long=Hor\u00E1rio do Hava\u00ED
-Pacific/Johnston.generic.long=Hor\u00E1rio do Hava\u00ED
-Pacific/Kiritimati.generic.long=Hor\u00E1rio das Ilhas Line
-Pacific/Kosrae.generic.long=Hor\u00E1rio de Kosrae
-Pacific/Kwajalein.generic.long=Hor\u00E1rio das Ilhas Marshall
-Pacific/Majuro.generic.long=Hor\u00E1rio das Ilhas Marshall
-Pacific/Marquesas.generic.long=Hor\u00E1rio das Ilhas Marquesas
-Pacific/Midway.generic.long=Hor\u00E1rio da Samoa
-Pacific/Nauru.generic.long=Hor\u00E1rio de Nauru
-Pacific/Niue.generic.long=Hor\u00E1rio de Niue
-Pacific/Norfolk.generic.long=Hor\u00E1rio de Norfolk
-Pacific/Noumea.generic.long=Hor\u00E1rio da Nova Caled\u00F4nia
-Pacific/Pago_Pago.generic.long=Hor\u00E1rio da Samoa
-Pacific/Palau.generic.long=Hor\u00E1rio de Palau
-Pacific/Pitcairn.generic.long=Hor\u00E1rio de Pitcairn
-Pacific/Pohnpei.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o de Pohnpei
-Pacific/Pohnpei.generic.long=Hor\u00E1rio de Ponape
-Pacific/Pohnpei.standard.long=Fuso Hor\u00E1rio de Pohnpei
-Pacific/Ponape.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o de Pohnpei
-Pacific/Ponape.generic.long=Hor\u00E1rio de Ponape
-Pacific/Ponape.standard.long=Fuso Hor\u00E1rio de Pohnpei
-Pacific/Port_Moresby.generic.long=Hor\u00E1rio de Papua-Nova Guin\u00E9
-Pacific/Rarotonga.generic.long=Hor\u00E1rio das Ilhas Cook
-Pacific/Saipan.generic.long=Hor\u00E1rio de Chamorro
-Pacific/Samoa.generic.long=Hor\u00E1rio da Samoa
-Pacific/Tahiti.generic.long=Hor\u00E1rio do Tahiti
-Pacific/Tarawa.generic.long=Hor\u00E1rio das Ilhas Gilbert
-Pacific/Tongatapu.generic.long=Hor\u00E1rio de Tonga
-Pacific/Truk.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o de Chuuk
-Pacific/Truk.generic.long=Fuso Hor\u00E1rio de Chuuk
-Pacific/Truk.standard.long=Fuso Hor\u00E1rio de Chuuk
-Pacific/Wake.generic.long=Hor\u00E1rio de Wake
-Pacific/Wallis.generic.long=Hor\u00E1rio das Ilhas Wallis e Futuna
-Pacific/Yap.daylight.long=Fuso Hor\u00E1rio de Ver\u00E3o de Chuuk
-Pacific/Yap.generic.long=Fuso Hor\u00E1rio de Chuuk
-Pacific/Yap.standard.long=Fuso Hor\u00E1rio de Chuuk
-Poland.generic.long=Hor\u00E1rio da Europa Central
-Portugal.generic.long=Hor\u00E1rio da Europa Ocidental
-ROK.generic.long=Hor\u00E1rio da Coreia
-SST.generic.long=Hor\u00E1rio das Ilhas Salom\u00E3o
-Singapore.generic.long=Hor\u00E1rio de Cingapura
-SystemV/AST4.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-SystemV/AST4ADT.generic.long=Hor\u00E1rio do Atl\u00E2ntico
-SystemV/CST6.generic.long=Hor\u00E1rio Central
-SystemV/CST6CDT.generic.long=Hor\u00E1rio Central
-SystemV/EST5.generic.long=Hor\u00E1rio do Leste
-SystemV/EST5EDT.generic.long=Hor\u00E1rio do Leste
-SystemV/HST10.generic.long=Hor\u00E1rio do Hava\u00ED
-SystemV/MST7.generic.long=Hor\u00E1rio das Montanhas Rochosas
-SystemV/MST7MDT.generic.long=Hor\u00E1rio das Montanhas Rochosas
-SystemV/PST8.generic.long=Hor\u00E1rio do Pac\u00EDfico
-SystemV/PST8PDT.generic.long=Hor\u00E1rio do Pac\u00EDfico
-SystemV/YST9.generic.long=Hor\u00E1rio do Alasca
-SystemV/YST9YDT.generic.long=Hor\u00E1rio do Alasca
-Turkey.generic.long=Hor\u00E1rio da Europa Oriental
-UCT.generic.long=Hor\u00E1rio Universal Coordenado
-US/Alaska.generic.long=Hor\u00E1rio do Alasca
-US/Aleutian.generic.long=Hor\u00E1rio do Hava\u00ED-Aleutas
-US/Arizona.generic.long=Hor\u00E1rio das Montanhas Rochosas
-US/Central.generic.long=Hor\u00E1rio Central
-US/East-Indiana.generic.long=Hor\u00E1rio do Leste
-US/Eastern.generic.long=Hor\u00E1rio do Leste
-US/Hawaii.generic.long=Hor\u00E1rio do Hava\u00ED
-US/Indiana-Starke.generic.long=Hor\u00E1rio Central
-US/Michigan.generic.long=Hor\u00E1rio do Leste
-US/Mountain.generic.long=Hor\u00E1rio das Montanhas Rochosas
-US/Pacific-New.generic.long=Hor\u00E1rio do Pac\u00EDfico
-US/Pacific.generic.long=Hor\u00E1rio do Pac\u00EDfico
-US/Samoa.generic.long=Hor\u00E1rio da Samoa
-UTC.generic.long=Hor\u00E1rio Universal Coordenado
-Universal.generic.long=Hor\u00E1rio Universal Coordenado
-VST.generic.long=Hor\u00E1rio da Indochina
-W-SU.generic.long=Hor\u00E1rio de Moscou
-WET.generic.long=Hor\u00e1rio da Europa Ocidental
-Zulu.generic.long=Hor\u00E1rio Universal Coordenado
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_pt_BR_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv.properties
deleted file mode 100644
index e1db445..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=Central sommartid (Nordterritoriet)
-ACT.generic.long=Central tid (Nordterritoriet)
-ACT.standard.long=Central standardtid (Nordterritoriet)
-AET.daylight.long=\u00D6stlig sommartid (New South Wales)
-AET.generic.long=\u00D6stlig tid (New South Wales)
-AET.standard.long=\u00D6stlig standardtid (New South Wales)
-AGT.generic.long=Argentinsk tid
-ART.generic.long=\u00D6steuropeisk tid
-AST.generic.long=Alaskisk tid
-Africa/Abidjan.generic.long=Greenwichtid
-Africa/Accra.generic.long=Ghana, normaltid
-Africa/Addis_Ababa.generic.long=\u00D6stafrikansk tid
-Africa/Algiers.generic.long=Centraleuropeisk tid
-Africa/Asmara.generic.long=\u00D6stafrikansk tid
-Africa/Asmera.generic.long=\u00D6stafrikansk tid
-Africa/Bamako.generic.long=Greenwichtid
-Africa/Bangui.generic.long=V\u00E4stafrikansk tid
-Africa/Banjul.generic.long=Greenwichtid
-Africa/Bissau.generic.long=Greenwichtid
-Africa/Blantyre.generic.long=Centralafrikansk tid
-Africa/Brazzaville.generic.long=V\u00E4stafrikansk tid
-Africa/Bujumbura.generic.long=Centralafrikansk tid
-Africa/Cairo.generic.long=\u00D6steuropeisk tid
-Africa/Casablanca.generic.long=V\u00E4steuropeisk tid
-Africa/Ceuta.generic.long=Centraleuropeisk tid
-Africa/Conakry.generic.long=Greenwichtid
-Africa/Dakar.generic.long=Greenwichtid
-Africa/Dar_es_Salaam.generic.long=\u00D6stafrikansk tid
-Africa/Djibouti.generic.long=\u00D6stafrikansk tid
-Africa/Douala.generic.long=V\u00E4stafrikansk tid
-Africa/El_Aaiun.generic.long=V\u00E4steuropeisk tid
-Africa/Freetown.generic.long=Sierra Leone-tid
-Africa/Gaborone.generic.long=Centralafrikansk tid
-Africa/Harare.generic.long=Centralafrikansk tid
-Africa/Johannesburg.generic.long=Sydafrikansk tid
-Africa/Juba.generic.long=\u00D6stafrikansk tid
-Africa/Kampala.generic.long=\u00D6stafrikansk tid
-Africa/Khartoum.generic.long=\u00D6stafrikansk tid
-Africa/Kigali.generic.long=Centralafrikansk tid
-Africa/Kinshasa.generic.long=V\u00E4stafrikansk tid
-Africa/Lagos.generic.long=V\u00E4stafrikansk tid
-Africa/Libreville.generic.long=V\u00E4stafrikansk tid
-Africa/Lome.generic.long=Greenwichtid
-Africa/Luanda.generic.long=V\u00E4stafrikansk tid
-Africa/Lubumbashi.generic.long=Centralafrikansk tid
-Africa/Lusaka.generic.long=Centralafrikansk tid
-Africa/Malabo.generic.long=V\u00E4stafrikansk tid
-Africa/Maputo.generic.long=Centralafrikansk tid
-Africa/Maseru.generic.long=Sydafrikansk tid
-Africa/Mbabane.generic.long=Sydafrikansk tid
-Africa/Mogadishu.generic.long=\u00D6stafrikansk tid
-Africa/Monrovia.generic.long=Greenwichtid
-Africa/Nairobi.generic.long=\u00D6stafrikansk tid
-Africa/Ndjamena.generic.long=V\u00E4stafrikansk tid
-Africa/Niamey.generic.long=V\u00E4stafrikansk tid
-Africa/Nouakchott.generic.long=Greenwichtid
-Africa/Ouagadougou.generic.long=Greenwichtid
-Africa/Porto-Novo.generic.long=V\u00E4stafrikansk tid
-Africa/Sao_Tome.generic.long=Greenwichtid
-Africa/Timbuktu.generic.long=Greenwichtid
-Africa/Tripoli.generic.long=\u00d6steuropeisk tid
-Africa/Tunis.generic.long=Centraleuropeisk tid
-Africa/Windhoek.generic.long=V\u00E4stafrikansk tid
-America/Adak.generic.long=Hawaiiansk-aleutisk tid
-America/Anchorage.generic.long=Alaskisk tid
-America/Anguilla.generic.long=Atlantisk tid
-America/Antigua.generic.long=Atlantisk tid
-America/Araguaina.generic.long=Brasiliansk tid
-America/Argentina/Buenos_Aires.generic.long=Argentinsk tid
-America/Argentina/Catamarca.generic.long=Argentinsk tid
-America/Argentina/ComodRivadavia.generic.long=Argentinsk tid
-America/Argentina/Cordoba.generic.long=Argentinsk tid
-America/Argentina/Jujuy.generic.long=Argentinsk tid
-America/Argentina/La_Rioja.generic.long=Argentinsk tid
-America/Argentina/Mendoza.generic.long=Argentinsk tid
-America/Argentina/Rio_Gallegos.generic.long=Argentinsk tid
-America/Argentina/Salta.generic.long=Argentinsk tid
-America/Argentina/San_Juan.generic.long=Argentinsk tid
-America/Argentina/San_Luis.generic.long=Argentinsk tid
-America/Argentina/Tucuman.generic.long=Argentinsk tid
-America/Argentina/Ushuaia.generic.long=Argentinsk tid
-America/Aruba.generic.long=Atlantisk tid
-America/Asuncion.generic.long=Paraguayansk tid
-America/Atikokan.generic.long=\u00D6stlig tid
-America/Atka.generic.long=Hawaiiansk-aleutisk tid
-America/Bahia.generic.long=Brasiliansk tid
-America/Bahia_Banderas.generic.long=Central tid
-America/Barbados.generic.long=Atlantisk tid
-America/Belem.generic.long=Brasiliansk tid
-America/Belize.generic.long=Central tid
-America/Blanc-Sablon.generic.long=Atlantisk tid
-America/Boa_Vista.generic.long=Amazonas-tid
-America/Bogota.generic.long=Kolombiansk tid
-America/Boise.generic.long=Mountain-tid
-America/Buenos_Aires.generic.long=Argentinsk tid
-America/Cambridge_Bay.generic.long=Mountain-tid
-America/Campo_Grande.generic.long=Amazonas-tid
-America/Cancun.generic.long=Central tid
-America/Caracas.generic.long=Venezuelansk tid
-America/Catamarca.generic.long=Argentinsk tid
-America/Cayenne.generic.long=Franska Guyana-tid
-America/Cayman.generic.long=\u00D6stlig tid
-America/Chicago.generic.long=Central tid
-America/Chihuahua.generic.long=Mountain-tid
-America/Coral_Harbour.generic.long=\u00D6stlig tid
-America/Cordoba.generic.long=Argentinsk tid
-America/Costa_Rica.generic.long=Central tid
-America/Creston.generic.long=Mountain-tid
-America/Cuiaba.generic.long=Amazonas-tid
-America/Curacao.generic.long=Atlantisk tid
-America/Danmarkshavn.generic.long=Greenwichtid
-America/Dawson.generic.long=Stillahavet
-America/Dawson_Creek.generic.long=Mountain-tid
-America/Denver.generic.long=Mountain-tid
-America/Detroit.generic.long=\u00D6stlig tid
-America/Dominica.generic.long=Atlantisk tid
-America/Edmonton.generic.long=Mountain-tid
-America/Eirunepe.generic.long=Acre, normaltid
-America/El_Salvador.generic.long=Central tid
-America/Ensenada.generic.long=Stillahavet
-America/Fort_Wayne.generic.long=\u00D6stlig tid
-America/Fortaleza.generic.long=Brasiliansk tid
-America/Glace_Bay.generic.long=Atlantisk tid
-America/Godthab.generic.long=V\u00E4stgr\u00F6nl\u00E4ndsk tid
-America/Goose_Bay.generic.long=Atlantisk tid
-America/Grand_Turk.generic.long=\u00D6stlig tid
-America/Grenada.generic.long=Atlantisk tid
-America/Guadeloupe.generic.long=Atlantisk tid
-America/Guatemala.generic.long=Central tid
-America/Guayaquil.generic.long=Ecuadoriansk tid
-America/Guyana.generic.long=Guyansk tid
-America/Halifax.generic.long=Atlantisk tid
-America/Havana.generic.long=Kubansk tid
-America/Hermosillo.generic.long=Mountain-tid
-America/Indiana/Indianapolis.generic.long=\u00D6stlig tid
-America/Indiana/Knox.generic.long=Central tid
-America/Indiana/Marengo.generic.long=\u00D6stlig tid
-America/Indiana/Petersburg.generic.long=\u00D6stlig tid
-America/Indiana/Tell_City.generic.long=Central tid
-America/Indiana/Vevay.generic.long=\u00D6stlig tid
-America/Indiana/Vincennes.generic.long=\u00D6stlig tid
-America/Indiana/Winamac.generic.long=\u00D6stlig tid
-America/Indianapolis.generic.long=\u00D6stlig tid
-America/Inuvik.generic.long=Mountain-tid
-America/Iqaluit.generic.long=\u00D6stlig tid
-America/Jamaica.generic.long=\u00D6stlig tid
-America/Jujuy.generic.long=Argentinsk tid
-America/Juneau.generic.long=Alaskisk tid
-America/Kentucky/Louisville.generic.long=\u00D6stlig tid
-America/Kentucky/Monticello.generic.long=\u00D6stlig tid
-America/Knox_IN.generic.long=Central tid
-America/Kralendijk.generic.long=Atlantisk tid
-America/La_Paz.generic.long=Boliviansk tid
-America/Lima.generic.long=Peruansk tid
-America/Los_Angeles.generic.long=Stillahavet
-America/Louisville.generic.long=\u00D6stlig tid
-America/Lower_Princes.generic.long=Atlantisk tid
-America/Maceio.generic.long=Brasiliansk tid
-America/Managua.generic.long=Central tid
-America/Manaus.generic.long=Amazonas-tid
-America/Marigot.generic.long=Atlantisk tid
-America/Martinique.generic.long=Atlantisk tid
-America/Matamoros.generic.long=Central tid
-America/Mazatlan.generic.long=Mountain-tid
-America/Mendoza.generic.long=Argentinsk tid
-America/Menominee.generic.long=Central tid
-America/Merida.generic.long=Central tid
-America/Metlakatla.daylight.long=Metlakatla, sommartid
-America/Metlakatla.generic.long=Metlakatla-tid
-America/Metlakatla.standard.long=Metlakatla, normaltid
-America/Mexico_City.generic.long=Central tid
-America/Miquelon.generic.long=Saint-Pierre och Miquelons tid
-America/Moncton.generic.long=Atlantisk tid
-America/Monterrey.generic.long=Central tid
-America/Montevideo.generic.long=Uruguayansk tid
-America/Montreal.generic.long=\u00D6stlig tid
-America/Montserrat.generic.long=Atlantisk tid
-America/Nassau.generic.long=\u00D6stlig tid
-America/New_York.generic.long=\u00D6stlig tid
-America/Nipigon.generic.long=\u00D6stlig tid
-America/Nome.generic.long=Alaskisk tid
-America/Noronha.generic.long=Fernando de Noronha-tid
-America/North_Dakota/Beulah.generic.long=Central tid
-America/North_Dakota/Center.generic.long=Central tid
-America/North_Dakota/New_Salem.generic.long=Central tid
-America/Ojinaga.generic.long=Mountain-tid
-America/Panama.generic.long=\u00D6stlig tid
-America/Pangnirtung.generic.long=\u00D6stlig tid
-America/Paramaribo.generic.long=Surinamsk tid
-America/Phoenix.generic.long=Mountain-tid
-America/Port-au-Prince.generic.long=\u00D6stlig tid
-America/Port_of_Spain.generic.long=Atlantisk tid
-America/Porto_Acre.generic.long=Acre, normaltid
-America/Porto_Velho.generic.long=Amazonas-tid
-America/Puerto_Rico.generic.long=Atlantisk tid
-America/Rainy_River.generic.long=Central tid
-America/Rankin_Inlet.generic.long=Central tid
-America/Recife.generic.long=Brasiliansk tid
-America/Regina.generic.long=Central tid
-America/Resolute.generic.long=Central tid
-America/Rio_Branco.generic.long=Acre, normaltid
-America/Rosario.generic.long=Argentinsk tid
-America/Santa_Isabel.generic.long=Stillahavet
-America/Santarem.generic.long=Brasiliansk tid
-America/Santiago.generic.long=Chilensk tid
-America/Santo_Domingo.generic.long=Atlantisk tid
-America/Sao_Paulo.generic.long=Brasiliansk tid
-America/Scoresbysund.generic.long=\u00D6stgr\u00F6nl\u00E4ndsk tid
-America/Shiprock.generic.long=Mountain-tid
-America/Sitka.generic.long=Alaskisk tid
-America/St_Barthelemy.generic.long=Atlantisk tid
-America/St_Johns.generic.long=Newfoundl\u00E4ndsk tid
-America/St_Kitts.generic.long=Atlantisk tid
-America/St_Lucia.generic.long=Atlantisk tid
-America/St_Thomas.generic.long=Atlantisk tid
-America/St_Vincent.generic.long=Atlantisk tid
-America/Swift_Current.generic.long=Central tid
-America/Tegucigalpa.generic.long=Central tid
-America/Thule.generic.long=Atlantisk tid
-America/Thunder_Bay.generic.long=\u00D6stlig tid
-America/Tijuana.generic.long=Stillahavet
-America/Toronto.generic.long=\u00D6stlig tid
-America/Tortola.generic.long=Atlantisk tid
-America/Vancouver.generic.long=Stillahavet
-America/Virgin.generic.long=Atlantisk tid
-America/Whitehorse.generic.long=Stillahavet
-America/Winnipeg.generic.long=Central tid
-America/Yakutat.generic.long=Alaskisk tid
-America/Yellowknife.generic.long=Mountain-tid
-Antarctica/Casey.daylight.long=V\u00E4stlig sommartid (Australien)
-Antarctica/Casey.generic.long=V\u00E4stlig tid (Australien)
-Antarctica/Casey.standard.long=Western Standard Time (Australien)
-Antarctica/Davis.generic.long=Davis-tid
-Antarctica/DumontDUrville.generic.long=Dumont-d'Urville-tid
-Antarctica/Macquarie.daylight.long=Macquarie\u00F6n, sommartid
-Antarctica/Macquarie.generic.long=Macquarie\u00F6n, normaltid
-Antarctica/Macquarie.standard.long=Macquarie\u00F6n, normaltid
-Antarctica/Mawson.generic.long=Mawson-tid
-Antarctica/McMurdo.generic.long=Nyzeel\u00E4ndsk tid
-Antarctica/Palmer.generic.long=Chilensk tid
-Antarctica/Rothera.generic.long=Rothera-tid
-Antarctica/South_Pole.generic.long=Nyzeel\u00E4ndsk tid
-Antarctica/Syowa.generic.long=Syowa-tid
-Antarctica/Vostok.generic.long=Vostok-tid
-Arctic/Longyearbyen.generic.long=Centraleuropeisk tid
-Asia/Aden.generic.long=Arabisk tid
-Asia/Almaty.generic.long=Alma-Ata-tid
-Asia/Amman.generic.long=Arabisk tid
-Asia/Anadyr.generic.long=Anadyr-tid
-Asia/Aqtau.generic.long=Aqtau-tid
-Asia/Aqtobe.generic.long=Aqtobe-tid
-Asia/Ashgabat.generic.long=Turkmensk tid
-Asia/Ashkhabad.generic.long=Turkmensk tid
-Asia/Baghdad.generic.long=Arabisk tid
-Asia/Bahrain.generic.long=Arabisk tid
-Asia/Baku.generic.long=Azerbajdzjansk tid
-Asia/Bangkok.generic.long=Indokinesisk tid
-Asia/Beirut.generic.long=\u00D6steuropeisk tid
-Asia/Bishkek.generic.long=Kirgizisk tid
-Asia/Brunei.generic.long=Bruneisk tid
-Asia/Calcutta.generic.long=Indisk tid
-Asia/Choibalsan.generic.long=Choibalsan-tid
-Asia/Chongqing.generic.long=Kinesisk tid
-Asia/Chungking.generic.long=Kinesisk tid
-Asia/Colombo.generic.long=Indisk tid
-Asia/Dacca.generic.long=Bangladeshisk tid
-Asia/Damascus.generic.long=\u00D6steuropeisk tid
-Asia/Dhaka.generic.long=Bangladeshisk tid
-Asia/Dili.generic.long=\u00D6sttimor, normaltid
-Asia/Dubai.generic.long=Golfens tid
-Asia/Dushanbe.generic.long=Tadzjikisk tid
-Asia/Gaza.generic.long=\u00D6steuropeisk tid
-Asia/Harbin.generic.long=Kinesisk tid
-Asia/Hebron.generic.long=\u00D6steuropeisk tid
-Asia/Ho_Chi_Minh.generic.long=Indokinesisk tid
-Asia/Hong_Kong.generic.long=Hongkong-tid
-Asia/Hovd.generic.long=Hovd-tid
-Asia/Irkutsk.generic.long=Irkutsk-tid
-Asia/Istanbul.generic.long=\u00D6steuropeisk tid
-Asia/Jakarta.generic.long=V\u00E4stindonesisk tid
-Asia/Jayapura.generic.long=\u00D6stindonesisk tid
-Asia/Jerusalem.generic.long=Israelisk tid
-Asia/Kabul.generic.long=Afghansk tid
-Asia/Kamchatka.generic.long=Petropavlovsk-Kamtjatskij-tid
-Asia/Karachi.generic.long=Pakistansk tid
-Asia/Kashgar.generic.long=Kinesisk tid
-Asia/Kathmandu.generic.long=Nepalesisk tid
-Asia/Katmandu.generic.long=Nepalesisk tid
-Asia/Khandyga.daylight.long=Khandyga, sommartid
-Asia/Khandyga.generic.long=Khandyga, normaltid
-Asia/Khandyga.standard.long=Khandyga, normaltid
-Asia/Kolkata.generic.long=Indisk tid
-Asia/Krasnoyarsk.generic.long=Krasnojarsk-tid
-Asia/Kuala_Lumpur.generic.long=Malaysisk tid
-Asia/Kuching.generic.long=Malaysisk tid
-Asia/Kuwait.generic.long=Arabisk tid
-Asia/Macao.generic.long=Kinesisk tid
-Asia/Macau.generic.long=Kinesisk tid
-Asia/Magadan.generic.long=Magadan-tid
-Asia/Makassar.generic.long=Centralindonesisk tid
-Asia/Manila.generic.long=Filippinsk tid
-Asia/Muscat.generic.long=Golfens tid
-Asia/Nicosia.generic.long=\u00D6steuropeisk tid
-Asia/Novokuznetsk.generic.long=Sibirisk tid
-Asia/Novosibirsk.generic.long=Sibirisk tid
-Asia/Omsk.generic.long=Omsk-tid
-Asia/Oral.generic.long=Oral-tid
-Asia/Phnom_Penh.generic.long=Indokinesisk tid
-Asia/Pontianak.generic.long=V\u00E4stindonesisk tid
-Asia/Pyongyang.generic.long=Koreansk tid
-Asia/Qatar.generic.long=Arabisk tid
-Asia/Qyzylorda.generic.long=Qyzylorda-tid
-Asia/Rangoon.generic.long=Myanmar-tid
-Asia/Saigon.generic.long=Indokinesisk tid
-Asia/Sakhalin.generic.long=Sakhalin-tid
-Asia/Samarkand.generic.long=Uzbekisk tid
-Asia/Seoul.generic.long=Koreansk tid
-Asia/Shanghai.generic.long=Kinesisk tid
-Asia/Singapore.generic.long=Singapore-tid
-Asia/Taipei.generic.long=Kinesisk tid
-Asia/Tashkent.generic.long=Uzbekisk tid
-Asia/Tbilisi.generic.long=Georgisk tid
-Asia/Tehran.generic.long=Iransk tid
-Asia/Tel_Aviv.generic.long=Israelisk tid
-Asia/Thimbu.generic.long=Bhutanesisk tid
-Asia/Thimphu.generic.long=Bhutanesisk tid
-Asia/Tokyo.generic.long=Japansk tid
-Asia/Ujung_Pandang.generic.long=Centralindonesisk tid
-Asia/Ulaanbaatar.generic.long=Ulaanbaatar-tid
-Asia/Ulan_Bator.generic.long=Ulaanbaatar-tid
-Asia/Urumqi.generic.long=Kinesisk tid
-Asia/Ust-Nera.daylight.long=Ust-Nera, sommartid
-Asia/Ust-Nera.generic.long=Ust-Nera, normaltid
-Asia/Ust-Nera.standard.long=Ust-Nera, normaltid
-Asia/Vientiane.generic.long=Indokinesisk tid
-Asia/Vladivostok.generic.long=Vladivostok-tid
-Asia/Yakutsk.generic.long=Jakutsk-tid
-Asia/Yekaterinburg.generic.long=Jekaterinburg-tid
-Asia/Yerevan.generic.long=Armenisk tid
-Atlantic/Azores.generic.long=Azorerna-tid
-Atlantic/Bermuda.generic.long=Atlantisk tid
-Atlantic/Canary.generic.long=V\u00E4steuropeisk tid
-Atlantic/Cape_Verde.generic.long=Kap Verde-tid
-Atlantic/Faeroe.generic.long=V\u00E4steuropeisk tid
-Atlantic/Faroe.generic.long=V\u00E4steuropeisk tid
-Atlantic/Jan_Mayen.generic.long=Centraleuropeisk tid
-Atlantic/Madeira.generic.long=V\u00E4steuropeisk tid
-Atlantic/Reykjavik.generic.long=Greenwichtid
-Atlantic/South_Georgia.generic.long=Sydgeorgisk tid
-Atlantic/St_Helena.generic.long=Greenwichtid
-Atlantic/Stanley.generic.long=Falklands\u00F6arna-tid
-Australia/ACT.daylight.long=\u00D6stlig sommartid (New South Wales)
-Australia/ACT.generic.long=\u00D6stlig tid (New South Wales)
-Australia/ACT.standard.long=\u00D6stlig standardtid (New South Wales)
-Australia/Adelaide.daylight.long=Central sommartid (South Australia)
-Australia/Adelaide.generic.long=Central tid (Sydaustralien)
-Australia/Adelaide.standard.long=Central standardtid (Sydaustralien)
-Australia/Brisbane.daylight.long=\u00D6stlig sommartid (Queensland)
-Australia/Brisbane.generic.long=\u00D6stlig tid (Queensland)
-Australia/Brisbane.standard.long=\u00D6stlig standardtid (Queensland)
-Australia/Broken_Hill.daylight.long=Central sommartid (South Australia/New South Wales)
-Australia/Broken_Hill.generic.long=Central tid (Sydaustralien/New South Wales)
-Australia/Broken_Hill.standard.long=Central standardtid (Sydaustralien/New South Wales)
-Australia/Canberra.daylight.long=\u00D6stlig sommartid (New South Wales)
-Australia/Canberra.generic.long=\u00D6stlig tid (New South Wales)
-Australia/Canberra.standard.long=\u00D6stlig standardtid (New South Wales)
-Australia/Currie.daylight.long=\u00D6stlig sommartid (New South Wales)
-Australia/Currie.generic.long=\u00D6stlig tid (New South Wales)
-Australia/Currie.standard.long=\u00D6stlig standardtid (New South Wales)
-Australia/Darwin.daylight.long=Central sommartid (Nordterritoriet)
-Australia/Darwin.generic.long=Central tid (Nordterritoriet)
-Australia/Darwin.standard.long=Central standardtid (Nordterritoriet)
-Australia/Eucla.daylight.long=Central v\u00E4stlig sommartid (Australien)
-Australia/Eucla.generic.long=Central v\u00E4stlig tid (Australien)
-Australia/Eucla.standard.long=Central v\u00E4stlig normaltid (Australien)
-Australia/Hobart.daylight.long=\u00D6stlig sommartid (Tasmanien)
-Australia/Hobart.generic.long=\u00D6stlig tid (Tasmania)
-Australia/Hobart.standard.long=\u00D6stlig standardtid (Tasmania)
-Australia/LHI.generic.long=Lord Howe-tid
-Australia/Lindeman.daylight.long=\u00D6stlig sommartid (Queensland)
-Australia/Lindeman.generic.long=\u00D6stlig tid (Queensland)
-Australia/Lindeman.standard.long=\u00D6stlig standardtid (Queensland)
-Australia/Lord_Howe.generic.long=Lord Howe-tid
-Australia/Melbourne.daylight.long=\u00D6stlig sommartid (Victoria)
-Australia/Melbourne.generic.long=\u00D6stlig tid (Victoria)
-Australia/Melbourne.standard.long=\u00D6stlig standardtid (Victoria)
-Australia/NSW.daylight.long=\u00D6stlig sommartid (New South Wales)
-Australia/NSW.generic.long=\u00D6stlig tid (New South Wales)
-Australia/NSW.standard.long=\u00D6stlig standardtid (New South Wales)
-Australia/North.daylight.long=Central sommartid (Nordterritoriet)
-Australia/North.generic.long=Central tid (Nordterritoriet)
-Australia/North.standard.long=Central standardtid (Nordterritoriet)
-Australia/Perth.daylight.long=V\u00E4stlig sommartid (Australien)
-Australia/Perth.generic.long=V\u00E4stlig tid (Australien)
-Australia/Perth.standard.long=Western Standard Time (Australien)
-Australia/Queensland.daylight.long=\u00D6stlig sommartid (Queensland)
-Australia/Queensland.generic.long=\u00D6stlig tid (Queensland)
-Australia/Queensland.standard.long=\u00D6stlig standardtid (Queensland)
-Australia/South.daylight.long=Central sommartid (South Australia)
-Australia/South.generic.long=Central tid (Sydaustralien)
-Australia/South.standard.long=Central standardtid (Sydaustralien)
-Australia/Sydney.daylight.long=\u00D6stlig sommartid (New South Wales)
-Australia/Sydney.generic.long=\u00D6stlig tid (New South Wales)
-Australia/Sydney.standard.long=\u00D6stlig standardtid (New South Wales)
-Australia/Tasmania.daylight.long=\u00D6stlig sommartid (Tasmanien)
-Australia/Tasmania.generic.long=\u00D6stlig tid (Tasmania)
-Australia/Tasmania.standard.long=\u00D6stlig standardtid (Tasmania)
-Australia/Victoria.daylight.long=\u00D6stlig sommartid (Victoria)
-Australia/Victoria.generic.long=\u00D6stlig tid (Victoria)
-Australia/Victoria.standard.long=\u00D6stlig standardtid (Victoria)
-Australia/West.daylight.long=V\u00E4stlig sommartid (Australien)
-Australia/West.generic.long=V\u00E4stlig tid (Australien)
-Australia/West.standard.long=Western Standard Time (Australien)
-Australia/Yancowinna.daylight.long=Central sommartid (South Australia/New South Wales)
-Australia/Yancowinna.generic.long=Central tid (Sydaustralien/New South Wales)
-Australia/Yancowinna.standard.long=Central standardtid (Sydaustralien/New South Wales)
-BET.generic.long=Brasiliansk tid
-BST.generic.long=Bangladeshisk tid
-Brazil/Acre.generic.long=Acre, normaltid
-Brazil/DeNoronha.generic.long=Fernando de Noronha-tid
-Brazil/East.generic.long=Brasiliansk tid
-Brazil/West.generic.long=Amazonas-tid
-CAT.generic.long=Centralafrikansk tid
-CET.generic.long=Centraleuropeisk tid
-CNT.generic.long=Newfoundl\u00E4ndsk tid
-CST.generic.long=Central tid
-CST6CDT.generic.long=Central tid
-CTT.generic.long=Kinesisk tid
-Canada/Atlantic.generic.long=Atlantisk tid
-Canada/Central.generic.long=Central tid
-Canada/East-Saskatchewan.generic.long=Central tid
-Canada/Eastern.generic.long=\u00D6stlig tid
-Canada/Mountain.generic.long=Mountain-tid
-Canada/Newfoundland.generic.long=Newfoundl\u00E4ndsk tid
-Canada/Pacific.generic.long=Stillahavet
-Canada/Saskatchewan.generic.long=Central tid
-Canada/Yukon.generic.long=Stillahavet
-Chile/Continental.generic.long=Chilensk tid
-Chile/EasterIsland.generic.long=P\u00E5sk\u00F6n-tid
-Cuba.generic.long=Kubansk tid
-EAT.generic.long=\u00D6stafrikansk tid
-ECT.generic.long=Centraleuropeisk tid
-EET.generic.long=\u00d6steuropeisk tid
-EST.generic.long=\u00d6stlig tid
-EST5EDT.generic.long=\u00d6stlig tid
-Egypt.generic.long=\u00D6steuropeisk tid
-Eire.generic.long=Irl\u00E4ndsk tid
-Etc/Greenwich.generic.long=Greenwichtid
-Etc/UCT.generic.long=UTC (koordinerad v\u00E4rldstid)
-Etc/UTC.generic.long=UTC (koordinerad v\u00E4rldstid)
-Etc/Universal.generic.long=UTC (koordinerad v\u00E4rldstid)
-Etc/Zulu.generic.long=UTC (koordinerad v\u00E4rldstid)
-Europe/Amsterdam.generic.long=Centraleuropeisk tid
-Europe/Andorra.generic.long=Centraleuropeisk tid
-Europe/Athens.generic.long=\u00D6steuropeisk tid
-Europe/Belfast.generic.long=Brittisk tid
-Europe/Belgrade.generic.long=Centraleuropeisk tid
-Europe/Berlin.generic.long=Centraleuropeisk tid
-Europe/Bratislava.generic.long=Centraleuropeisk tid
-Europe/Brussels.generic.long=Centraleuropeisk tid
-Europe/Bucharest.generic.long=\u00D6steuropeisk tid
-Europe/Budapest.generic.long=Centraleuropeisk tid
-Europe/Busingen.generic.long=Centraleuropeisk tid
-Europe/Chisinau.generic.long=\u00D6steuropeisk tid
-Europe/Copenhagen.generic.long=Centraleuropeisk tid
-Europe/Dublin.generic.long=Irl\u00E4ndsk tid
-Europe/Gibraltar.generic.long=Centraleuropeisk tid
-Europe/Guernsey.generic.long=Brittisk tid
-Europe/Helsinki.generic.long=\u00D6steuropeisk tid
-Europe/Isle_of_Man.generic.long=Brittisk tid
-Europe/Istanbul.generic.long=\u00D6steuropeisk tid
-Europe/Jersey.generic.long=Brittisk tid
-Europe/Kaliningrad.daylight.long=\u00D6steuropeisk sommartid
-Europe/Kaliningrad.generic.long=Kaliningradtid
-Europe/Kaliningrad.standard.long=Kaliningradtid
-Europe/Kiev.generic.long=\u00D6steuropeisk tid
-Europe/Lisbon.generic.long=V\u00E4steuropeisk tid
-Europe/Ljubljana.generic.long=Centraleuropeisk tid
-Europe/London.generic.long=Brittisk tid
-Europe/Luxembourg.generic.long=Centraleuropeisk tid
-Europe/Madrid.generic.long=Centraleuropeisk tid
-Europe/Malta.generic.long=Centraleuropeisk tid
-Europe/Mariehamn.generic.long=\u00D6steuropeisk tid
-Europe/Minsk.daylight.long=\u00D6steuropeisk sommartid
-Europe/Minsk.generic.long=Kaliningradtid
-Europe/Minsk.standard.long=Kaliningradtid
-Europe/Monaco.generic.long=Centraleuropeisk tid
-Europe/Moscow.generic.long=Moskvas tid
-Europe/Nicosia.generic.long=\u00D6steuropeisk tid
-Europe/Oslo.generic.long=Centraleuropeisk tid
-Europe/Paris.generic.long=Centraleuropeisk tid
-Europe/Podgorica.generic.long=Centraleuropeisk tid
-Europe/Prague.generic.long=Centraleuropeisk tid
-Europe/Riga.generic.long=\u00D6steuropeisk tid
-Europe/Rome.generic.long=Centraleuropeisk tid
-Europe/Samara.generic.long=Samara-tid
-Europe/San_Marino.generic.long=Centraleuropeisk tid
-Europe/Sarajevo.generic.long=Centraleuropeisk tid
-Europe/Simferopol.generic.long=\u00D6steuropeisk tid
-Europe/Skopje.generic.long=Centraleuropeisk tid
-Europe/Sofia.generic.long=\u00D6steuropeisk tid
-Europe/Stockholm.generic.long=Centraleuropeisk tid
-Europe/Tallinn.generic.long=\u00D6steuropeisk tid
-Europe/Tirane.generic.long=Centraleuropeisk tid
-Europe/Tiraspol.generic.long=\u00D6steuropeisk tid
-Europe/Uzhgorod.generic.long=\u00D6steuropeisk tid
-Europe/Vaduz.generic.long=Centraleuropeisk tid
-Europe/Vatican.generic.long=Centraleuropeisk tid
-Europe/Vienna.generic.long=Centraleuropeisk tid
-Europe/Vilnius.generic.long=\u00D6steuropeisk tid
-Europe/Volgograd.generic.long=Volgograd, normaltid
-Europe/Warsaw.generic.long=Centraleuropeisk tid
-Europe/Zagreb.generic.long=Centraleuropeisk tid
-Europe/Zaporozhye.generic.long=\u00D6steuropeisk tid
-Europe/Zurich.generic.long=Centraleuropeisk tid
-GB-Eire.generic.long=Brittisk tid
-GB.generic.long=Brittisk tid
-GMT.generic.long=Greenwichtid
-Greenwich.generic.long=Greenwichtid
-HST.generic.long=Hawaiiansk tid
-Hongkong.generic.long=Hongkong-tid
-IET.generic.long=\u00D6stlig tid
-IST.generic.long=Indisk tid
-Iceland.generic.long=Greenwichtid
-Indian/Antananarivo.generic.long=\u00D6stafrikansk tid
-Indian/Chagos.generic.long=Indiska Ocean\u00F6arna-tid
-Indian/Christmas.generic.long=Jul\u00F6n-tid
-Indian/Cocos.generic.long=Kokos\u00F6arna-tid
-Indian/Comoro.generic.long=\u00D6stafrikansk tid
-Indian/Kerguelen.generic.long=Franska s\u00F6dra och antarktiska \u00F6arna-tid
-Indian/Mahe.generic.long=Seychellisk tid
-Indian/Maldives.generic.long=Maldivisk tid
-Indian/Mauritius.generic.long=Mauritiansk tid
-Indian/Mayotte.generic.long=\u00D6stafrikansk tid
-Indian/Reunion.generic.long=Reunion-tid
-Iran.generic.long=Iransk tid
-Israel.generic.long=Israelisk tid
-JST.generic.long=Japansk tid
-Jamaica.generic.long=\u00D6stlig tid
-Japan.generic.long=Japansk tid
-Kwajalein.generic.long=Marshall\u00F6arna-tid
-Libya.generic.long=\u00d6steuropeisk tid
-MET.generic.long=MET
-MIT.generic.long=V\u00E4stsamoansk tid
-MST.generic.long=Mountain-tid
-MST7MDT.generic.long=Mountain-tid
-Mexico/BajaNorte.generic.long=Stillahavet
-Mexico/BajaSur.generic.long=Mountain-tid
-Mexico/General.generic.long=Central tid
-NET.generic.long=Armenisk tid
-NST.generic.long=Nyzeel\u00E4ndsk tid
-NZ-CHAT.generic.long=Chathams tid
-NZ.generic.long=Nyzeel\u00E4ndsk tid
-Navajo.generic.long=Mountain-tid
-PLT.generic.long=Pakistansk tid
-PNT.generic.long=Mountain-tid
-PRC.generic.long=Kinesisk tid
-PRT.generic.long=Atlantisk tid
-PST.generic.long=Stillahavet
-PST8PDT.generic.long=Stillahavet
-Pacific/Apia.generic.long=V\u00E4stsamoansk tid
-Pacific/Auckland.generic.long=Nyzeel\u00E4ndsk tid
-Pacific/Chatham.generic.long=Chathams tid
-Pacific/Chuuk.daylight.long=Chuuk, sommartid
-Pacific/Chuuk.generic.long=Chuuk, normaltid
-Pacific/Chuuk.standard.long=Chuuk, normaltid
-Pacific/Easter.generic.long=P\u00E5sk\u00F6n-tid
-Pacific/Efate.generic.long=Vanuatu-tid
-Pacific/Enderbury.generic.long=Phoenix\u00F6arna-tid
-Pacific/Fakaofo.generic.long=Tokelau-tid
-Pacific/Fiji.generic.long=Fijiansk tid
-Pacific/Funafuti.generic.long=Tuvalu-tid
-Pacific/Galapagos.generic.long=Galapagos-tid
-Pacific/Gambier.generic.long=Gambier\u00F6arna-tid
-Pacific/Guadalcanal.generic.long=Salomon\u00F6arna-tid
-Pacific/Guam.generic.long=Chamorros tid
-Pacific/Honolulu.generic.long=Hawaiiansk tid
-Pacific/Johnston.generic.long=Hawaiiansk tid
-Pacific/Kiritimati.generic.long=Line Islands-tid
-Pacific/Kosrae.generic.long=Kosrae-tid
-Pacific/Kwajalein.generic.long=Marshall\u00F6arna-tid
-Pacific/Majuro.generic.long=Marshall\u00F6arna-tid
-Pacific/Marquesas.generic.long=Marquesas\u00F6arna-tid
-Pacific/Midway.generic.long=Samoansk tid
-Pacific/Nauru.generic.long=Nauruansk tid
-Pacific/Niue.generic.long=Niue-tid
-Pacific/Norfolk.generic.long=Norfolk-tid
-Pacific/Noumea.generic.long=Nya Kaledonien-tid
-Pacific/Pago_Pago.generic.long=Samoansk tid
-Pacific/Palau.generic.long=Palau-tid
-Pacific/Pitcairn.generic.long=Pitcairn-tid
-Pacific/Pohnpei.daylight.long=Pohnpei, sommartid
-Pacific/Pohnpei.generic.long=Ponape-tid
-Pacific/Pohnpei.standard.long=Pohnpei, normaltid
-Pacific/Ponape.daylight.long=Pohnpei, sommartid
-Pacific/Ponape.generic.long=Ponape-tid
-Pacific/Ponape.standard.long=Pohnpei, normaltid
-Pacific/Port_Moresby.generic.long=Papua Nya Guinea-tid
-Pacific/Rarotonga.generic.long=Cook\u00F6arna-tid
-Pacific/Saipan.generic.long=Chamorros tid
-Pacific/Samoa.generic.long=Samoansk tid
-Pacific/Tahiti.generic.long=Tahiti-tid
-Pacific/Tarawa.generic.long=Gilbert\u00F6arna-tid
-Pacific/Tongatapu.generic.long=Tonga-tid
-Pacific/Truk.daylight.long=Chuuk, sommartid
-Pacific/Truk.generic.long=Chuuk, normaltid
-Pacific/Truk.standard.long=Chuuk, normaltid
-Pacific/Wake.generic.long=Wake-tid
-Pacific/Wallis.generic.long=Wallis- och Futuna\u00F6arna-tid
-Pacific/Yap.daylight.long=Chuuk, sommartid
-Pacific/Yap.generic.long=Chuuk, normaltid
-Pacific/Yap.standard.long=Chuuk, normaltid
-Poland.generic.long=Centraleuropeisk tid
-Portugal.generic.long=V\u00E4steuropeisk tid
-ROK.generic.long=Koreansk tid
-SST.generic.long=Salomon\u00F6arna-tid
-Singapore.generic.long=Singapore-tid
-SystemV/AST4.generic.long=Atlantisk tid
-SystemV/AST4ADT.generic.long=Atlantisk tid
-SystemV/CST6.generic.long=Central tid
-SystemV/CST6CDT.generic.long=Central tid
-SystemV/EST5.generic.long=\u00D6stlig tid
-SystemV/EST5EDT.generic.long=\u00D6stlig tid
-SystemV/HST10.generic.long=Hawaiiansk tid
-SystemV/MST7.generic.long=Mountain-tid
-SystemV/MST7MDT.generic.long=Mountain-tid
-SystemV/PST8.generic.long=Stillahavet
-SystemV/PST8PDT.generic.long=Stillahavet
-SystemV/YST9.generic.long=Alaskisk tid
-SystemV/YST9YDT.generic.long=Alaskisk tid
-Turkey.generic.long=\u00D6steuropeisk tid
-UCT.generic.long=UTC (koordinerad v\u00E4rldstid)
-US/Alaska.generic.long=Alaskisk tid
-US/Aleutian.generic.long=Hawaiiansk-aleutisk tid
-US/Arizona.generic.long=Mountain-tid
-US/Central.generic.long=Central tid
-US/East-Indiana.generic.long=\u00D6stlig tid
-US/Eastern.generic.long=\u00D6stlig tid
-US/Hawaii.generic.long=Hawaiiansk tid
-US/Indiana-Starke.generic.long=Central tid
-US/Michigan.generic.long=\u00D6stlig tid
-US/Mountain.generic.long=Mountain-tid
-US/Pacific-New.generic.long=Stillahavet
-US/Pacific.generic.long=Stillahavet
-US/Samoa.generic.long=Samoansk tid
-UTC.generic.long=UTC (koordinerad v\u00E4rldstid)
-Universal.generic.long=UTC (koordinerad v\u00E4rldstid)
-VST.generic.long=Indokinesisk tid
-W-SU.generic.long=Moskvas tid
-WET.generic.long=V\u00e4steuropeisk tid
-Zulu.generic.long=UTC (koordinerad v\u00E4rldstid)
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_sv_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN.properties
deleted file mode 100644
index 62ccf293..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5317\u9886\u5730)
-ACT.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5317\u90E8\u5730\u533A)
-ACT.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5317\u9886\u5730)
-AET.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-AET.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-AET.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-AGT.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-ART.generic.long=\u4E1C\u6B27\u65F6\u95F4
-AST.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-Africa/Abidjan.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Accra.generic.long=\u52A0\u7EB3\u65F6\u95F4
-Africa/Addis_Ababa.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Algiers.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Africa/Asmara.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Asmera.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Bamako.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Bangui.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Banjul.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Bissau.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Blantyre.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Brazzaville.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Bujumbura.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Cairo.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Africa/Casablanca.generic.long=\u897F\u6B27\u65F6\u95F4
-Africa/Ceuta.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Africa/Conakry.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Dakar.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Dar_es_Salaam.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Djibouti.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Douala.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/El_Aaiun.generic.long=\u897F\u6B27\u65F6\u95F4
-Africa/Freetown.generic.long=\u585E\u62C9\u91CC\u6602\u65F6\u95F4
-Africa/Gaborone.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Harare.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Johannesburg.generic.long=\u5357\u975E\u65F6\u95F4
-Africa/Juba.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Kampala.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Khartoum.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Kigali.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Kinshasa.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Lagos.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Libreville.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Lome.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Luanda.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Lubumbashi.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Lusaka.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Malabo.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Maputo.generic.long=\u4E2D\u975E\u65F6\u95F4
-Africa/Maseru.generic.long=\u5357\u975E\u65F6\u95F4
-Africa/Mbabane.generic.long=\u5357\u975E\u65F6\u95F4
-Africa/Mogadishu.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Monrovia.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Nairobi.generic.long=\u4E1C\u975E\u65F6\u95F4
-Africa/Ndjamena.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Niamey.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Nouakchott.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Ouagadougou.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Porto-Novo.generic.long=\u897F\u975E\u65F6\u95F4
-Africa/Sao_Tome.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Timbuktu.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Africa/Tripoli.generic.long=\u4e1c\u6b27\u65f6\u95f4
-Africa/Tunis.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Africa/Windhoek.generic.long=\u897F\u975E\u65F6\u95F4
-America/Adak.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u65F6\u95F4
-America/Anchorage.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-America/Anguilla.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Antigua.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Araguaina.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Argentina/Buenos_Aires.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Catamarca.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/ComodRivadavia.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Cordoba.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Jujuy.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/La_Rioja.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Mendoza.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Rio_Gallegos.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Salta.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/San_Juan.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/San_Luis.generic.long=\u963f\u6839\u5ef7\u65f6\u95f4
-America/Argentina/Tucuman.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Argentina/Ushuaia.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Aruba.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Asuncion.generic.long=\u5DF4\u62C9\u572D\u65F6\u95F4
-America/Atikokan.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Atka.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u65F6\u95F4
-America/Bahia.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Bahia_Banderas.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Barbados.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Belem.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Belize.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Blanc-Sablon.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Boa_Vista.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-America/Bogota.generic.long=\u54E5\u4F26\u6BD4\u4E9A\u65F6\u95F4
-America/Boise.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Buenos_Aires.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Cambridge_Bay.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Campo_Grande.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-America/Cancun.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Caracas.generic.long=\u59D4\u5185\u745E\u62C9\u65F6\u95F4
-America/Catamarca.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Cayenne.generic.long=\u6CD5\u5C5E\u572D\u4E9A\u90A3\u65F6\u95F4
-America/Cayman.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Chicago.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Chihuahua.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Coral_Harbour.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Cordoba.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Costa_Rica.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Creston.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Cuiaba.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-America/Curacao.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Danmarkshavn.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-America/Dawson.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Dawson_Creek.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Denver.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Detroit.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Dominica.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Edmonton.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Eirunepe.generic.long=Acre \u65f6\u95f4
-America/El_Salvador.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Ensenada.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Fort_Wayne.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Fortaleza.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Glace_Bay.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Godthab.generic.long=\u897F\u683C\u6797\u5170\u5C9B\u65F6\u95F4
-America/Goose_Bay.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Grand_Turk.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Grenada.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Guadeloupe.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Guatemala.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Guayaquil.generic.long=\u5384\u74DC\u591A\u5C14\u65F6\u95F4
-America/Guyana.generic.long=\u572D\u4E9A\u90A3\u65F6\u95F4
-America/Halifax.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Havana.generic.long=\u53E4\u5DF4\u65F6\u95F4
-America/Hermosillo.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Indiana/Indianapolis.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indiana/Knox.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Indiana/Marengo.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indiana/Petersburg.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indiana/Tell_City.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Indiana/Vevay.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indiana/Vincennes.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indiana/Winamac.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Indianapolis.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Inuvik.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Iqaluit.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Jamaica.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Jujuy.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Juneau.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-America/Kentucky/Louisville.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Kentucky/Monticello.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Knox_IN.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Kralendijk.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/La_Paz.generic.long=\u73BB\u5229\u7EF4\u4E9A\u65F6\u95F4
-America/Lima.generic.long=\u79D8\u9C81\u65F6\u95F4
-America/Los_Angeles.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Louisville.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Lower_Princes.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Maceio.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Managua.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Manaus.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-America/Marigot.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Martinique.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Matamoros.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Mazatlan.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Mendoza.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Menominee.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Merida.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Metlakatla.daylight.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u590F\u4EE4\u65F6
-America/Metlakatla.generic.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u65F6\u95F4
-America/Metlakatla.standard.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u6807\u51C6\u65F6\u95F4
-America/Mexico_City.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Miquelon.generic.long=\u76AE\u57C3\u5C14\u548C\u5BC6\u514B\u9686\u5C9B\u65F6\u95F4
-America/Moncton.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Monterrey.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Montevideo.generic.long=\u4E4C\u62C9\u572D\u65F6\u95F4
-America/Montreal.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Montserrat.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Nassau.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/New_York.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Nipigon.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Nome.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-America/Noronha.generic.long=\u8D39\u5C14\u5357\u591A\u5FB7\u8BFA\u7F57\u5C3C\u4E9A\u65F6\u95F4
-America/North_Dakota/Beulah.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/North_Dakota/Center.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/North_Dakota/New_Salem.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Ojinaga.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Panama.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Pangnirtung.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Paramaribo.generic.long=\u82CF\u5229\u5357\u65F6\u95F4
-America/Phoenix.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Port-au-Prince.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Port_of_Spain.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Porto_Acre.generic.long=Acre \u65f6\u95f4
-America/Porto_Velho.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-America/Puerto_Rico.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Rainy_River.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Rankin_Inlet.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Recife.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Regina.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Resolute.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Rio_Branco.generic.long=Acre \u65f6\u95f4
-America/Rosario.generic.long=\u963F\u6839\u5EF7\u65F6\u95F4
-America/Santa_Isabel.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Santarem.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Santiago.generic.long=\u667A\u5229\u65F6\u95F4
-America/Santo_Domingo.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Sao_Paulo.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-America/Scoresbysund.generic.long=\u4E1C\u683C\u6797\u5C9B\u65F6\u95F4
-America/Shiprock.generic.long=\u5C71\u5730\u65F6\u95F4
-America/Sitka.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-America/St_Barthelemy.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/St_Johns.generic.long=\u7EBD\u82AC\u5170\u65F6\u95F4
-America/St_Kitts.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/St_Lucia.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/St_Thomas.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/St_Vincent.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Swift_Current.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Tegucigalpa.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Thule.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Thunder_Bay.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Tijuana.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Toronto.generic.long=\u4E1C\u90E8\u65F6\u95F4
-America/Tortola.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Vancouver.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Virgin.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-America/Whitehorse.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-America/Winnipeg.generic.long=\u4E2D\u90E8\u65F6\u95F4
-America/Yakutat.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-America/Yellowknife.generic.long=\u5C71\u5730\u65F6\u95F4
-Antarctica/Casey.daylight.long=\u897F\u90E8\u590F\u4EE4\u65F6 (\u6FB3\u5927\u5229\u4E9A)
-Antarctica/Casey.generic.long=\u897F\u90E8\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Antarctica/Casey.standard.long=\u897F\u90E8\u6807\u51C6\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Antarctica/Davis.generic.long=\u6234\u7EF4\u65AF\u65F6\u95F4
-Antarctica/DumontDUrville.generic.long=Dumont-d'Urville \u65F6\u95F4
-Antarctica/Macquarie.daylight.long=\u9EA6\u5938\u91CC\u5C9B\u590F\u4EE4\u65F6
-Antarctica/Macquarie.generic.long=\u9EA6\u5938\u91CC\u5C9B\u65F6\u95F4
-Antarctica/Macquarie.standard.long=\u9EA6\u5938\u91CC\u5C9B\u65F6\u95F4
-Antarctica/Mawson.generic.long=\u83AB\u68EE\u65F6\u95F4
-Antarctica/McMurdo.generic.long=\u65B0\u897F\u5170\u65F6\u95F4
-Antarctica/Palmer.generic.long=\u667A\u5229\u65F6\u95F4
-Antarctica/Rothera.generic.long=\u7F57\u745F\u62C9\u65F6\u95F4
-Antarctica/South_Pole.generic.long=\u65B0\u897F\u5170\u65F6\u95F4
-Antarctica/Syowa.generic.long=Syowa \u65F6\u95F4
-Antarctica/Vostok.generic.long=\u83AB\u65AF\u6258\u514B\u65F6\u95F4
-Arctic/Longyearbyen.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Asia/Aden.generic.long=\u963F\u62C9\u4F2F\u534A\u5C9B\u65F6\u95F4
-Asia/Almaty.generic.long=Alma-Ata \u65F6\u95F4
-Asia/Amman.generic.long=\u963f\u62c9\u4f2f\u534a\u5c9b\u65f6\u95f4
-Asia/Anadyr.generic.long=\u963F\u90A3\u5E95\u6CB3\u65F6\u95F4
-Asia/Aqtau.generic.long=Aqtau \u65F6\u95F4
-Asia/Aqtobe.generic.long=Aqtobe \u65F6\u95F4
-Asia/Ashgabat.generic.long=\u571F\u5E93\u66FC\u65F6\u95F4
-Asia/Ashkhabad.generic.long=\u571F\u5E93\u66FC\u65F6\u95F4
-Asia/Baghdad.generic.long=\u963F\u62C9\u4F2F\u534A\u5C9B\u65F6\u95F4
-Asia/Bahrain.generic.long=\u963F\u62C9\u4F2F\u534A\u5C9B\u65F6\u95F4
-Asia/Baku.generic.long=\u4E9A\u585E\u62DC\u7136\u65F6\u95F4
-Asia/Bangkok.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-Asia/Beirut.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Bishkek.generic.long=\u5409\u5C14\u5409\u65AF\u65AF\u5766\u65F6\u95F4
-Asia/Brunei.generic.long=\u6587\u83B1\u65F6\u95F4
-Asia/Calcutta.generic.long=\u5370\u5EA6\u65F6\u95F4
-Asia/Choibalsan.generic.long=Choibalsan \u65F6\u95F4
-Asia/Chongqing.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Chungking.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Colombo.generic.long=\u5370\u5EA6\u65F6\u95F4
-Asia/Dacca.generic.long=\u5B5F\u52A0\u62C9\u65F6\u95F4
-Asia/Damascus.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Dhaka.generic.long=\u5B5F\u52A0\u62C9\u65F6\u95F4
-Asia/Dili.generic.long=\u4E1C\u5E1D\u6C76\u65F6\u95F4
-Asia/Dubai.generic.long=\u6D77\u6E7E\u65F6\u95F4
-Asia/Dushanbe.generic.long=\u5854\u5409\u514B\u65AF\u5766\u65F6\u95F4
-Asia/Gaza.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Harbin.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Hebron.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Ho_Chi_Minh.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-Asia/Hong_Kong.generic.long=\u9999\u6E2F\u65F6\u95F4
-Asia/Hovd.generic.long=\u79D1\u5E03\u591A\u65F6\u95F4
-Asia/Irkutsk.generic.long=\u4F0A\u5C14\u5E93\u6B21\u514B\u65F6\u95F4
-Asia/Istanbul.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Jakarta.generic.long=\u897F\u5370\u5EA6\u5C3C\u897F\u4E9A\u65F6\u95F4
-Asia/Jayapura.generic.long=\u4E1C\u5370\u5EA6\u5C3C\u897F\u4E9A\u65F6\u95F4
-Asia/Jerusalem.generic.long=\u4EE5\u8272\u5217\u65F6\u95F4
-Asia/Kabul.generic.long=\u963F\u5BCC\u6C57\u65F6\u95F4
-Asia/Kamchatka.generic.long=\u5F7C\u5F97\u7F57\u5DF4\u752B\u6D1B\u592B\u65AF\u514B\u65F6\u95F4
-Asia/Karachi.generic.long=\u5DF4\u57FA\u65AF\u5766\u65F6\u95F4
-Asia/Kashgar.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Kathmandu.generic.long=\u5C3C\u6CCA\u5C14\u65F6\u95F4
-Asia/Katmandu.generic.long=\u5C3C\u6CCA\u5C14\u65F6\u95F4
-Asia/Khandyga.daylight.long=\u6C49\u5FB7\u52A0\u590F\u4EE4\u65F6
-Asia/Khandyga.generic.long=\u6C49\u5FB7\u52A0\u65F6\u95F4
-Asia/Khandyga.standard.long=\u6C49\u5FB7\u52A0\u65F6\u95F4
-Asia/Kolkata.generic.long=\u5370\u5EA6\u65F6\u95F4
-Asia/Krasnoyarsk.generic.long=\u514B\u62C9\u65AF\u8BFA\u4E9A\u5C14\u65AF\u514B\u65F6\u95F4
-Asia/Kuala_Lumpur.generic.long=\u9A6C\u6765\u897F\u4E9A\u65F6\u95F4
-Asia/Kuching.generic.long=\u9A6C\u6765\u897F\u4E9A\u65F6\u95F4
-Asia/Kuwait.generic.long=\u963F\u62C9\u4F2F\u534A\u5C9B\u65F6\u95F4
-Asia/Macao.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Macau.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Magadan.generic.long=Magadan \u65F6\u95F4
-Asia/Makassar.generic.long=\u4E2D\u90E8\u5370\u5EA6\u5C3C\u897F\u4E9A\u65F6\u95F4
-Asia/Manila.generic.long=\u83F2\u5F8B\u5BBE\u65F6\u95F4
-Asia/Muscat.generic.long=\u6D77\u6E7E\u65F6\u95F4
-Asia/Nicosia.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Asia/Novokuznetsk.generic.long=Novosibirsk \u65F6\u95F4
-Asia/Novosibirsk.generic.long=Novosibirsk \u65F6\u95F4
-Asia/Omsk.generic.long=\u9102\u6728\u65AF\u514B\u65F6\u95F4
-Asia/Oral.generic.long=Oral \u65F6\u95F4
-Asia/Phnom_Penh.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-Asia/Pontianak.generic.long=\u897F\u5370\u5EA6\u5C3C\u897F\u4E9A\u65F6\u95F4
-Asia/Pyongyang.generic.long=\u97E9\u56FD\u65F6\u95F4
-Asia/Qatar.generic.long=\u963F\u62C9\u4F2F\u534A\u5C9B\u65F6\u95F4
-Asia/Qyzylorda.generic.long=Qyzylorda \u65F6\u95F4
-Asia/Rangoon.generic.long=\u7F05\u7538\u65F6\u95F4
-Asia/Saigon.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-Asia/Sakhalin.generic.long=\u5E93\u9875\u5C9B\u65F6\u95F4
-Asia/Samarkand.generic.long=\u4E4C\u5179\u522B\u514B\u65AF\u5766\u65F6\u95F4
-Asia/Seoul.generic.long=\u97E9\u56FD\u65F6\u95F4
-Asia/Shanghai.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Singapore.generic.long=\u65B0\u52A0\u5761\u65F6\u95F4
-Asia/Taipei.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Tashkent.generic.long=\u4E4C\u5179\u522B\u514B\u65AF\u5766\u65F6\u95F4
-Asia/Tbilisi.generic.long=\u4E54\u6CBB\u4E9A\u65F6\u95F4
-Asia/Tehran.generic.long=\u4F0A\u6717\u65F6\u95F4
-Asia/Tel_Aviv.generic.long=\u4EE5\u8272\u5217\u65F6\u95F4
-Asia/Thimbu.generic.long=\u4E0D\u4E39\u65F6\u95F4
-Asia/Thimphu.generic.long=\u4E0D\u4E39\u65F6\u95F4
-Asia/Tokyo.generic.long=\u65E5\u672C\u65F6\u95F4
-Asia/Ujung_Pandang.generic.long=\u4E2D\u90E8\u5370\u5EA6\u5C3C\u897F\u4E9A\u65F6\u95F4
-Asia/Ulaanbaatar.generic.long=\u5E93\u4F26\u65F6\u95F4
-Asia/Ulan_Bator.generic.long=\u5E93\u4F26\u65F6\u95F4
-Asia/Urumqi.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Asia/Ust-Nera.daylight.long=\u4E4C\u65AF\u5B63\u6D85\u62C9\u590F\u4EE4\u65F6
-Asia/Ust-Nera.generic.long=\u4E4C\u65AF\u5B63\u6D85\u62C9\u65F6\u95F4
-Asia/Ust-Nera.standard.long=\u4E4C\u65AF\u5B63\u6D85\u62C9\u65F6\u95F4
-Asia/Vientiane.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-Asia/Vladivostok.generic.long=\u6D77\u53C2\u5D34\u65F6\u95F4
-Asia/Yakutsk.generic.long=\u4E9A\u5E93\u6B21\u514B\u65F6\u95F4
-Asia/Yekaterinburg.generic.long=Yekaterinburg \u65F6\u95F4
-Asia/Yerevan.generic.long=\u4E9A\u7F8E\u5C3C\u4E9A\u65F6\u95F4
-Atlantic/Azores.generic.long=\u4E9A\u901F\u5C14\u7FA4\u5C9B\u65F6\u95F4
-Atlantic/Bermuda.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-Atlantic/Canary.generic.long=\u897F\u6B27\u65F6\u95F4
-Atlantic/Cape_Verde.generic.long=\u4F5B\u5FB7\u89D2\u65F6\u95F4
-Atlantic/Faeroe.generic.long=\u897F\u6B27\u65F6\u95F4
-Atlantic/Faroe.generic.long=\u897F\u6B27\u65F6\u95F4
-Atlantic/Jan_Mayen.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Atlantic/Madeira.generic.long=\u897F\u6B27\u65F6\u95F4
-Atlantic/Reykjavik.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Atlantic/South_Georgia.generic.long=\u5357\u4E54\u6CBB\u4E9A\u5C9B\u65F6\u95F4
-Atlantic/St_Helena.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Atlantic/Stanley.generic.long=\u798F\u514B\u5170\u7FA4\u5C9B\u65F6\u95F4
-Australia/ACT.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/ACT.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/ACT.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Adelaide.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/Adelaide.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/Adelaide.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/Brisbane.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u6606\u58EB\u5170)
-Australia/Brisbane.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/Brisbane.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/Broken_Hill.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Broken_Hill.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Broken_Hill.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Canberra.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Canberra.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Canberra.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Currie.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Currie.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Currie.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Darwin.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5317\u9886\u5730)
-Australia/Darwin.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5317\u90E8\u5730\u533A)
-Australia/Darwin.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5317\u9886\u5730)
-Australia/Eucla.daylight.long=\u4E2D\u897F\u90E8\u590F\u4EE4\u65F6 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Eucla.generic.long=\u4E2D\u897F\u90E8\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Eucla.standard.long=\u4E2D\u897F\u90E8\u6807\u51C6\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Hobart.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/Hobart.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/Hobart.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/LHI.generic.long=\u8C6A\u516C\u65F6\u95F4
-Australia/Lindeman.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u6606\u58EB\u5170)
-Australia/Lindeman.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/Lindeman.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/Lord_Howe.generic.long=\u8C6A\u516C\u65F6\u95F4
-Australia/Melbourne.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u7EF4\u591A\u5229\u4E9A)
-Australia/Melbourne.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u7EF4\u591A\u5229\u4E9A)
-Australia/Melbourne.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u7EF4\u591A\u5229\u4E9A)
-Australia/NSW.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/NSW.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/NSW.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/North.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5317\u9886\u5730)
-Australia/North.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5317\u90E8\u5730\u533A)
-Australia/North.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5317\u9886\u5730)
-Australia/Perth.daylight.long=\u897F\u90E8\u590F\u4EE4\u65F6 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Perth.generic.long=\u897F\u90E8\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Perth.standard.long=\u897F\u90E8\u6807\u51C6\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Queensland.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u6606\u58EB\u5170)
-Australia/Queensland.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/Queensland.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u6606\u58EB\u5170)
-Australia/South.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/South.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/South.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A)
-Australia/Sydney.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Sydney.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Sydney.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Tasmania.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/Tasmania.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/Tasmania.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u5854\u65AF\u9A6C\u5C3C\u4E9A)
-Australia/Victoria.daylight.long=\u4E1C\u90E8\u590F\u4EE4\u65F6 (\u7EF4\u591A\u5229\u4E9A)
-Australia/Victoria.generic.long=\u4E1C\u90E8\u65F6\u95F4 (\u7EF4\u591A\u5229\u4E9A)
-Australia/Victoria.standard.long=\u4E1C\u90E8\u6807\u51C6\u65F6\u95F4 (\u7EF4\u591A\u5229\u4E9A)
-Australia/West.daylight.long=\u897F\u90E8\u590F\u4EE4\u65F6 (\u6FB3\u5927\u5229\u4E9A)
-Australia/West.generic.long=\u897F\u90E8\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/West.standard.long=\u897F\u90E8\u6807\u51C6\u65F6\u95F4 (\u6FB3\u5927\u5229\u4E9A)
-Australia/Yancowinna.daylight.long=\u4E2D\u592E\u590F\u4EE4\u65F6 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Yancowinna.generic.long=\u4E2D\u90E8\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-Australia/Yancowinna.standard.long=\u4E2D\u592E\u6807\u51C6\u65F6\u95F4 (\u5357\u6FB3\u5927\u5229\u4E9A/\u65B0\u5357\u5A01\u5C14\u65AF)
-BET.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-BST.generic.long=\u5B5F\u52A0\u62C9\u65F6\u95F4
-Brazil/Acre.generic.long=Acre \u65f6\u95f4
-Brazil/DeNoronha.generic.long=\u8D39\u5C14\u5357\u591A\u5FB7\u8BFA\u7F57\u5C3C\u4E9A\u65F6\u95F4
-Brazil/East.generic.long=\u5DF4\u897F\u5229\u4E9A\u65F6\u95F4
-Brazil/West.generic.long=\u4E9A\u9A6C\u900A\u65F6\u95F4
-CAT.generic.long=\u4E2D\u975E\u65F6\u95F4
-CET.generic.long=\u4e2d\u6b27\u65f6\u95f4
-CNT.generic.long=\u7EBD\u82AC\u5170\u65F6\u95F4
-CST.generic.long=\u4E2D\u90E8\u65F6\u95F4
-CST6CDT.generic.long=\u4e2d\u90e8\u65f6\u95f4
-CTT.generic.long=\u4E2D\u56FD\u65F6\u95F4
-Canada/Atlantic.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-Canada/Central.generic.long=\u4E2D\u90E8\u65F6\u95F4
-Canada/East-Saskatchewan.generic.long=\u4E2D\u90E8\u65F6\u95F4
-Canada/Eastern.generic.long=\u4E1C\u90E8\u65F6\u95F4
-Canada/Mountain.generic.long=\u5C71\u5730\u65F6\u95F4
-Canada/Newfoundland.generic.long=\u7EBD\u82AC\u5170\u65F6\u95F4
-Canada/Pacific.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-Canada/Saskatchewan.generic.long=\u4E2D\u90E8\u65F6\u95F4
-Canada/Yukon.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-Chile/Continental.generic.long=\u667A\u5229\u65F6\u95F4
-Chile/EasterIsland.generic.long=\u590D\u6D3B\u5C9B\u65F6\u95F4
-Cuba.generic.long=\u53E4\u5DF4\u65F6\u95F4
-EAT.generic.long=\u4E1C\u975E\u65F6\u95F4
-ECT.generic.long=\u4E2D\u6B27\u65F6\u95F4
-EET.generic.long=\u4e1c\u6b27\u65f6\u95f4
-EST.generic.long=\u4e1c\u90e8\u65f6\u95f4
-EST5EDT.generic.long=\u4e1c\u90e8\u65f6\u95f4
-Egypt.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Eire.generic.long=\u7231\u5C14\u5170\u65F6\u95F4
-Etc/Greenwich.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Etc/UCT.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-Etc/UTC.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-Etc/Universal.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-Etc/Zulu.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-Europe/Amsterdam.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Andorra.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Athens.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Belfast.generic.long=\u82F1\u56FD\u65F6\u95F4
-Europe/Belgrade.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Berlin.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Bratislava.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Brussels.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Bucharest.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Budapest.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Busingen.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Chisinau.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Copenhagen.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Dublin.generic.long=\u7231\u5C14\u5170\u65F6\u95F4
-Europe/Gibraltar.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Guernsey.generic.long=\u82F1\u56FD\u65F6\u95F4
-Europe/Helsinki.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Isle_of_Man.generic.long=\u82F1\u56FD\u65F6\u95F4
-Europe/Istanbul.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Jersey.generic.long=\u82F1\u56FD\u65F6\u95F4
-Europe/Kaliningrad.daylight.long=\u8FDC\u4E1C\u6B27\u590F\u4EE4\u65F6
-Europe/Kaliningrad.generic.long=\u8FDC\u4E1C\u6B27\u65F6\u95F4
-Europe/Kaliningrad.standard.long=\u8FDC\u4E1C\u6B27\u65F6\u95F4
-Europe/Kiev.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Lisbon.generic.long=\u897F\u6B27\u65F6\u95F4
-Europe/Ljubljana.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/London.generic.long=\u82F1\u56FD\u65F6\u95F4
-Europe/Luxembourg.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Madrid.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Malta.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Mariehamn.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Minsk.daylight.long=\u8FDC\u4E1C\u6B27\u590F\u4EE4\u65F6
-Europe/Minsk.generic.long=\u8FDC\u4E1C\u6B27\u65F6\u95F4
-Europe/Minsk.standard.long=\u8FDC\u4E1C\u6B27\u65F6\u95F4
-Europe/Monaco.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Moscow.generic.long=\u83AB\u65AF\u79D1\u65F6\u95F4
-Europe/Nicosia.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Oslo.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Paris.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Podgorica.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Prague.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Riga.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Rome.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Samara.generic.long=\u6C99\u9A6C\u62C9\u65F6\u95F4
-Europe/San_Marino.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Sarajevo.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Simferopol.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Skopje.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Sofia.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Stockholm.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Tallinn.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Tirane.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Tiraspol.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Uzhgorod.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Vaduz.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Vatican.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Vienna.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Vilnius.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Volgograd.generic.long=\u4F0F\u5C14\u52A0\u683C\u52D2\u65F6\u95F4
-Europe/Warsaw.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Zagreb.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Europe/Zaporozhye.generic.long=\u4E1C\u6B27\u65F6\u95F4
-Europe/Zurich.generic.long=\u4E2D\u6B27\u65F6\u95F4
-GB-Eire.generic.long=\u82F1\u56FD\u65F6\u95F4
-GB.generic.long=\u82F1\u56FD\u65F6\u95F4
-GMT.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Greenwich.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-HST.generic.long=\u590f\u5a01\u5937\u65f6\u95f4
-Hongkong.generic.long=\u9999\u6E2F\u65F6\u95F4
-IET.generic.long=\u4E1C\u90E8\u65F6\u95F4
-IST.generic.long=\u5370\u5EA6\u65F6\u95F4
-Iceland.generic.long=\u683C\u6797\u5A01\u6CBB\u65F6\u95F4
-Indian/Antananarivo.generic.long=\u4E1C\u975E\u65F6\u95F4
-Indian/Chagos.generic.long=\u5370\u5EA6\u6D0B\u5730\u5E26\u65F6\u95F4
-Indian/Christmas.generic.long=\u5723\u8BDE\u5C9B\u65F6\u95F4
-Indian/Cocos.generic.long=\u53EF\u53EF\u65AF\u7FA4\u5C9B\u65F6\u95F4
-Indian/Comoro.generic.long=\u4E1C\u975E\u65F6\u95F4
-Indian/Kerguelen.generic.long=\u6CD5\u5C5E\u5357\u6781\u65F6\u95F4
-Indian/Mahe.generic.long=\u585E\u5E2D\u5C14\u7FA4\u5C9B\u65F6\u95F4
-Indian/Maldives.generic.long=\u9A6C\u5C14\u4EE3\u592B\u65F6\u95F4
-Indian/Mauritius.generic.long=\u6469\u91CC\u897F\u65AF\u65F6\u95F4
-Indian/Mayotte.generic.long=\u4E1C\u975E\u65F6\u95F4
-Indian/Reunion.generic.long=\u7559\u5C3C\u65FA\u5C9B\u65F6\u95F4
-Iran.generic.long=\u4F0A\u6717\u65F6\u95F4
-Israel.generic.long=\u4EE5\u8272\u5217\u65F6\u95F4
-JST.generic.long=\u65E5\u672C\u65F6\u95F4
-Jamaica.generic.long=\u4E1C\u90E8\u65F6\u95F4
-Japan.generic.long=\u65E5\u672C\u65F6\u95F4
-Kwajalein.generic.long=\u9A6C\u7ECD\u5C14\u7FA4\u5C9B\u65F6\u95F4
-Libya.generic.long=\u4e1c\u6b27\u65f6\u95f4
-MET.generic.long=MET
-MIT.generic.long=\u897F\u8428\u6469\u4E9A\u65F6\u95F4
-MST.generic.long=\u5c71\u5730\u65f6\u95f4
-MST7MDT.generic.long=\u5c71\u5730\u65f6\u95f4
-Mexico/BajaNorte.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-Mexico/BajaSur.generic.long=\u5C71\u5730\u65F6\u95F4
-Mexico/General.generic.long=\u4E2D\u90E8\u65F6\u95F4
-NET.generic.long=\u4E9A\u7F8E\u5C3C\u4E9A\u65F6\u95F4
-NST.generic.long=\u65B0\u897F\u5170\u65F6\u95F4
-NZ-CHAT.generic.long=\u67E5\u5854\u59C6\u65F6\u95F4
-NZ.generic.long=\u65B0\u897F\u5170\u65F6\u95F4
-Navajo.generic.long=\u5C71\u5730\u65F6\u95F4
-PLT.generic.long=\u5DF4\u57FA\u65AF\u5766\u65F6\u95F4
-PNT.generic.long=\u5C71\u5730\u65F6\u95F4
-PRC.generic.long=\u4E2D\u56FD\u65F6\u95F4
-PRT.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-PST.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-PST8PDT.generic.long=\u592a\u5e73\u6d0b\u65f6\u95f4
-Pacific/Apia.generic.long=\u897F\u8428\u6469\u4E9A\u65F6\u95F4
-Pacific/Auckland.generic.long=\u65B0\u897F\u5170\u65F6\u95F4
-Pacific/Chatham.generic.long=\u67E5\u5854\u59C6\u65F6\u95F4
-Pacific/Chuuk.daylight.long=\u4E18\u514B\u590F\u4EE4\u65F6
-Pacific/Chuuk.generic.long=\u4E18\u514B\u65F6\u95F4
-Pacific/Chuuk.standard.long=\u4E18\u514B\u65F6\u95F4
-Pacific/Easter.generic.long=\u590D\u6D3B\u5C9B\u65F6\u95F4
-Pacific/Efate.generic.long=\u74E6\u5974\u963F\u56FE\u65F6\u95F4
-Pacific/Enderbury.generic.long=\u83F2\u5C3C\u514B\u65AF\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Fakaofo.generic.long=\u6258\u514B\u52B3\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Fiji.generic.long=\u6590\u6D4E\u65F6\u95F4
-Pacific/Funafuti.generic.long=\u5410\u9C81\u74E6\u65F6\u95F4
-Pacific/Galapagos.generic.long=\u52A0\u62C9\u5DF4\u54E5\u65F6\u95F4
-Pacific/Gambier.generic.long=\u5188\u6BD4\u4E9A\u65F6\u95F4
-Pacific/Guadalcanal.generic.long=\u6240\u7F57\u95E8\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Guam.generic.long=\u67E5\u6469\u6D1B\u65F6\u95F4
-Pacific/Honolulu.generic.long=\u590F\u5A01\u5937\u65F6\u95F4
-Pacific/Johnston.generic.long=\u590F\u5A01\u5937\u65F6\u95F4
-Pacific/Kiritimati.generic.long=Line \u5C9B\u65F6\u95F4
-Pacific/Kosrae.generic.long=Kosrae \u65F6\u95F4
-Pacific/Kwajalein.generic.long=\u9A6C\u7ECD\u5C14\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Majuro.generic.long=\u9A6C\u7ECD\u5C14\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Marquesas.generic.long=\u9A6C\u514B\u8428\u65AF\u65F6\u95F4
-Pacific/Midway.generic.long=\u8428\u6469\u4E9A\u65F6\u95F4
-Pacific/Nauru.generic.long=\u8BFA\u9C81\u65F6\u95F4
-Pacific/Niue.generic.long=\u7EBD\u5A01\u5C9B\u65F6\u95F4
-Pacific/Norfolk.generic.long=\u8BFA\u798F\u514B\u65F6\u95F4
-Pacific/Noumea.generic.long=\u65B0\u52A0\u52D2\u591A\u5C3C\u4E9A\u65F6\u95F4
-Pacific/Pago_Pago.generic.long=\u8428\u6469\u4E9A\u65F6\u95F4
-Pacific/Palau.generic.long=\u5E1B\u7409\u65F6\u95F4
-Pacific/Pitcairn.generic.long=\u76AE\u7279\u51EF\u6069\u65F6\u95F4
-Pacific/Pohnpei.daylight.long=\u6CE2\u7EB3\u4F69\u590F\u4EE4\u65F6
-Pacific/Pohnpei.generic.long=\u6CE2\u7EB3\u4F69\u65F6\u95F4
-Pacific/Pohnpei.standard.long=\u6CE2\u7EB3\u4F69\u65F6\u95F4
-Pacific/Ponape.daylight.long=\u6CE2\u7EB3\u4F69\u590F\u4EE4\u65F6
-Pacific/Ponape.generic.long=\u6CE2\u7EB3\u4F69\u65F6\u95F4
-Pacific/Ponape.standard.long=\u6CE2\u7EB3\u4F69\u65F6\u95F4
-Pacific/Port_Moresby.generic.long=\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A\u65F6\u95F4
-Pacific/Rarotonga.generic.long=\u5E93\u514B\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Saipan.generic.long=\u67E5\u6469\u6D1B\u65F6\u95F4
-Pacific/Samoa.generic.long=\u8428\u6469\u4E9A\u65F6\u95F4
-Pacific/Tahiti.generic.long=\u5927\u6EAA\u5730\u5C9B\u65F6\u95F4
-Pacific/Tarawa.generic.long=\u5409\u4F2F\u7279\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Tongatapu.generic.long=\u4E1C\u52A0\u65F6\u95F4
-Pacific/Truk.daylight.long=\u4E18\u514B\u590F\u4EE4\u65F6
-Pacific/Truk.generic.long=\u4E18\u514B\u65F6\u95F4
-Pacific/Truk.standard.long=\u4E18\u514B\u65F6\u95F4
-Pacific/Wake.generic.long=\u5A01\u514B\u65F6\u95F4
-Pacific/Wallis.generic.long=\u74E6\u5229\u65AF\u53CA\u798F\u675C\u7EB3\u7FA4\u5C9B\u65F6\u95F4
-Pacific/Yap.daylight.long=\u4E18\u514B\u590F\u4EE4\u65F6
-Pacific/Yap.generic.long=\u4E18\u514B\u65F6\u95F4
-Pacific/Yap.standard.long=\u4E18\u514B\u65F6\u95F4
-Poland.generic.long=\u4E2D\u6B27\u65F6\u95F4
-Portugal.generic.long=\u897F\u6B27\u65F6\u95F4
-ROK.generic.long=\u97E9\u56FD\u65F6\u95F4
-SST.generic.long=\u6240\u7F57\u95E8\u7FA4\u5C9B\u65F6\u95F4
-Singapore.generic.long=\u65B0\u52A0\u5761\u65F6\u95F4
-SystemV/AST4.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-SystemV/AST4ADT.generic.long=\u5927\u897F\u6D0B\u65F6\u95F4
-SystemV/CST6.generic.long=\u4E2D\u90E8\u65F6\u95F4
-SystemV/CST6CDT.generic.long=\u4E2D\u90E8\u65F6\u95F4
-SystemV/EST5.generic.long=\u4E1C\u90E8\u65F6\u95F4
-SystemV/EST5EDT.generic.long=\u4E1C\u90E8\u65F6\u95F4
-SystemV/HST10.generic.long=\u590F\u5A01\u5937\u65F6\u95F4
-SystemV/MST7.generic.long=\u5C71\u5730\u65F6\u95F4
-SystemV/MST7MDT.generic.long=\u5C71\u5730\u65F6\u95F4
-SystemV/PST8.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-SystemV/PST8PDT.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-SystemV/YST9.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-SystemV/YST9YDT.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-Turkey.generic.long=\u4E1C\u6B27\u65F6\u95F4
-UCT.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-US/Alaska.generic.long=\u963F\u62C9\u65AF\u52A0\u65F6\u95F4
-US/Aleutian.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u65F6\u95F4
-US/Arizona.generic.long=\u5C71\u5730\u65F6\u95F4
-US/Central.generic.long=\u4E2D\u90E8\u65F6\u95F4
-US/East-Indiana.generic.long=\u4E1C\u90E8\u65F6\u95F4
-US/Eastern.generic.long=\u4E1C\u90E8\u65F6\u95F4
-US/Hawaii.generic.long=\u590F\u5A01\u5937\u65F6\u95F4
-US/Indiana-Starke.generic.long=\u4E2D\u90E8\u65F6\u95F4
-US/Michigan.generic.long=\u4E1C\u90E8\u65F6\u95F4
-US/Mountain.generic.long=\u5C71\u5730\u65F6\u95F4
-US/Pacific-New.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-US/Pacific.generic.long=\u592A\u5E73\u6D0B\u65F6\u95F4
-US/Samoa.generic.long=\u8428\u6469\u4E9A\u65F6\u95F4
-UTC.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-Universal.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
-VST.generic.long=\u5370\u5EA6\u652F\u90A3\u65F6\u95F4
-W-SU.generic.long=\u83AB\u65AF\u79D1\u65F6\u95F4
-WET.generic.long=\u897f\u6b27\u65f6\u95f4
-Zulu.generic.long=\u534F\u8C03\u4E16\u754C\u65F6\u95F4
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN_short.properties
deleted file mode 100644
index 095522a..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_CN_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=CDT
-Asia/Taipei.generic.short=CT
-Asia/Taipei.standard.short=CST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW.properties
deleted file mode 100644
index a9b77a6..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW.properties
+++ /dev/null
@@ -1,651 +0,0 @@
-ACT.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-ACT.generic.long=\u6FB3\u5927\u5229\u4E9E\u4E2D\u90E8\u6642\u9593 (\u5317\u65B9\u5340\u57DF)
-ACT.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-AET.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-AET.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-AET.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-AGT.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-ART.generic.long=\u6771\u6B50\u6642\u9593
-AST.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-Africa/Abidjan.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Accra.generic.long=\u8FE6\u7D0D\u6642\u9593
-Africa/Addis_Ababa.generic.long=\u6771\u975E\u6642\u9593
-Africa/Algiers.generic.long=\u4E2D\u6B50\u6642\u9593
-Africa/Asmara.generic.long=\u6771\u975E\u6642\u9593
-Africa/Asmera.generic.long=\u6771\u975E\u6642\u9593
-Africa/Bamako.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Bangui.generic.long=\u897F\u975E\u6642\u9593
-Africa/Banjul.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Bissau.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Blantyre.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Brazzaville.generic.long=\u897F\u975E\u6642\u9593
-Africa/Bujumbura.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Cairo.generic.long=\u6771\u6B50\u6642\u9593
-Africa/Casablanca.generic.long=\u897F\u6B50\u6642\u9593
-Africa/Ceuta.generic.long=\u4E2D\u6B50\u6642\u9593
-Africa/Conakry.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Dakar.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Dar_es_Salaam.generic.long=\u6771\u975E\u6642\u9593
-Africa/Djibouti.generic.long=\u6771\u975E\u6642\u9593
-Africa/Douala.generic.long=\u897F\u975E\u6642\u9593
-Africa/El_Aaiun.generic.long=\u897F\u6B50\u6642\u9593
-Africa/Freetown.generic.long=\u7345\u5B50\u5C71\u6642\u9593
-Africa/Gaborone.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Harare.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Johannesburg.generic.long=\u5357\u975E\u6642\u9593
-Africa/Juba.generic.long=\u6771\u975E\u6642\u9593
-Africa/Kampala.generic.long=\u6771\u975E\u6642\u9593
-Africa/Khartoum.generic.long=\u6771\u975E\u6642\u9593
-Africa/Kigali.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Kinshasa.generic.long=\u897F\u975E\u6642\u9593
-Africa/Lagos.generic.long=\u897F\u975E\u6642\u9593
-Africa/Libreville.generic.long=\u897F\u975E\u6642\u9593
-Africa/Lome.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Luanda.generic.long=\u897F\u975E\u6642\u9593
-Africa/Lubumbashi.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Lusaka.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Malabo.generic.long=\u897F\u975E\u6642\u9593
-Africa/Maputo.generic.long=\u4E2D\u975E\u6642\u9593
-Africa/Maseru.generic.long=\u5357\u975E\u6642\u9593
-Africa/Mbabane.generic.long=\u5357\u975E\u6642\u9593
-Africa/Mogadishu.generic.long=\u6771\u975E\u6642\u9593
-Africa/Monrovia.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Nairobi.generic.long=\u6771\u975E\u6642\u9593
-Africa/Ndjamena.generic.long=\u897F\u975E\u6642\u9593
-Africa/Niamey.generic.long=\u897F\u975E\u6642\u9593
-Africa/Nouakchott.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Ouagadougou.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Porto-Novo.generic.long=\u897F\u975E\u6642\u9593
-Africa/Sao_Tome.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Timbuktu.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Africa/Tripoli.generic.long=\u6771\u6b50\u6642\u9593
-Africa/Tunis.generic.long=\u4E2D\u6B50\u6642\u9593
-Africa/Windhoek.generic.long=\u897F\u975E\u6642\u9593
-America/Adak.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u6642\u9593
-America/Anchorage.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-America/Anguilla.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Antigua.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Araguaina.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Argentina/Buenos_Aires.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Catamarca.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/ComodRivadavia.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Cordoba.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Jujuy.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/La_Rioja.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Mendoza.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Rio_Gallegos.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Salta.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/San_Juan.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/San_Luis.generic.long=\u963f\u6839\u5ef7\u6642\u9593
-America/Argentina/Tucuman.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Argentina/Ushuaia.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Aruba.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Asuncion.generic.long=\u5DF4\u62C9\u572D\u6642\u9593
-America/Atikokan.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Atka.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u6642\u9593
-America/Bahia.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Bahia_Banderas.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Barbados.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Belem.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Belize.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Blanc-Sablon.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Boa_Vista.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-America/Bogota.generic.long=\u54E5\u502B\u6BD4\u4E9E\u6642\u9593
-America/Boise.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Buenos_Aires.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Cambridge_Bay.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Campo_Grande.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-America/Cancun.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Caracas.generic.long=\u59D4\u5167\u745E\u62C9\u6642\u9593
-America/Catamarca.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Cayenne.generic.long=\u6CD5\u5C6C\u572D\u4E9E\u90A3\u6642\u9593
-America/Cayman.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Chicago.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Chihuahua.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Coral_Harbour.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Cordoba.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Costa_Rica.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Creston.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Cuiaba.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-America/Curacao.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Danmarkshavn.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-America/Dawson.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Dawson_Creek.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Denver.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Detroit.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Dominica.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Edmonton.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Eirunepe.generic.long=Acre \u6642\u9593
-America/El_Salvador.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Ensenada.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Fort_Wayne.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Fortaleza.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Glace_Bay.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Godthab.generic.long=\u897F\u683C\u9675\u862D\u6642\u9593
-America/Goose_Bay.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Grand_Turk.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Grenada.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Guadeloupe.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Guatemala.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Guayaquil.generic.long=\u5384\u74DC\u591A\u723E\u6642\u9593
-America/Guyana.generic.long=\u84CB\u4E9E\u90A3\u6642\u9593
-America/Halifax.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Havana.generic.long=\u53E4\u5DF4\u6642\u9593
-America/Hermosillo.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Indiana/Indianapolis.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indiana/Knox.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Indiana/Marengo.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indiana/Petersburg.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indiana/Tell_City.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Indiana/Vevay.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indiana/Vincennes.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indiana/Winamac.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Indianapolis.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Inuvik.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Iqaluit.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Jamaica.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Jujuy.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Juneau.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-America/Kentucky/Louisville.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Kentucky/Monticello.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Knox_IN.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Kralendijk.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/La_Paz.generic.long=\u73BB\u5229\u7DAD\u4E9E\u6642\u9593
-America/Lima.generic.long=\u7955\u9B6F\u6642\u9593
-America/Los_Angeles.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Louisville.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Lower_Princes.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Maceio.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Managua.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Manaus.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-America/Marigot.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Martinique.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Matamoros.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Mazatlan.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Mendoza.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Menominee.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Merida.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Metlakatla.daylight.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u65E5\u5149\u7BC0\u7D04\u6642\u9593
-America/Metlakatla.generic.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u6642\u9593
-America/Metlakatla.standard.long=\u6885\u7279\u62C9\u5361\u7279\u62C9\u6A19\u6E96\u6642\u9593
-America/Mexico_City.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Miquelon.generic.long=\u8056\u5F7C\u5FB7\u8207\u5BC6\u555F\u5D19\u6642\u9593
-America/Moncton.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Monterrey.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Montevideo.generic.long=\u70CF\u62C9\u572D\u6642\u9593
-America/Montreal.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Montserrat.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Nassau.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/New_York.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Nipigon.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Nome.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-America/Noronha.generic.long=\u8CBB\u723E\u5357\u591A-\u8FEA\u8AFE\u7F85\u5C3C\u4E9E\u6642\u9593
-America/North_Dakota/Beulah.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/North_Dakota/Center.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/North_Dakota/New_Salem.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Ojinaga.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Panama.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Pangnirtung.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Paramaribo.generic.long=\u8607\u5229\u5357\u6642\u9593
-America/Phoenix.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Port-au-Prince.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Port_of_Spain.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Porto_Acre.generic.long=Acre \u6642\u9593
-America/Porto_Velho.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-America/Puerto_Rico.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Rainy_River.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Rankin_Inlet.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Recife.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Regina.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Resolute.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Rio_Branco.generic.long=Acre \u6642\u9593
-America/Rosario.generic.long=\u963F\u6839\u5EF7\u6642\u9593
-America/Santa_Isabel.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Santarem.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Santiago.generic.long=\u667A\u5229\u6642\u9593
-America/Santo_Domingo.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Sao_Paulo.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-America/Scoresbysund.generic.long=\u6771\u683C\u9675\u862D\u6642\u9593
-America/Shiprock.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-America/Sitka.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-America/St_Barthelemy.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/St_Johns.generic.long=\u7D10\u82AC\u862D\u6642\u9593
-America/St_Kitts.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/St_Lucia.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/St_Thomas.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/St_Vincent.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Swift_Current.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Tegucigalpa.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Thule.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Thunder_Bay.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Tijuana.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Toronto.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-America/Tortola.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Vancouver.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Virgin.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-America/Whitehorse.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-America/Winnipeg.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-America/Yakutat.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-America/Yellowknife.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-Antarctica/Casey.daylight.long=\u897F\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Antarctica/Casey.generic.long=\u897F\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Antarctica/Casey.standard.long=\u897F\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Antarctica/Davis.generic.long=\u81FA\u7DAD\u65AF\u6642\u9593
-Antarctica/DumontDUrville.generic.long=Dumont-d'Urville \u6642\u9593
-Antarctica/Macquarie.daylight.long=\u9EA5\u5938\u5229\u5CF6\u590F\u4EE4\u6642\u9593
-Antarctica/Macquarie.generic.long=\u9EA5\u5938\u5229\u5CF6\u6642\u9593
-Antarctica/Macquarie.standard.long=\u9EA5\u5938\u5229\u5CF6\u6642\u9593
-Antarctica/Mawson.generic.long=\u83AB\u68EE\u6642\u9593
-Antarctica/McMurdo.generic.long=\u7D10\u897F\u862D\u6642\u9593
-Antarctica/Palmer.generic.long=\u667A\u5229\u6642\u9593
-Antarctica/Rothera.generic.long=\u7F85\u897F\u62C9\u6642\u9593
-Antarctica/South_Pole.generic.long=\u7D10\u897F\u862D\u6642\u9593
-Antarctica/Syowa.generic.long=\u5915\u6B50\u74E6 (Syowa) \u6642\u9593
-Antarctica/Vostok.generic.long=\u4F5B\u65AF\u6258 (Vostok) \u6642\u9593
-Arctic/Longyearbyen.generic.long=\u4E2D\u6B50\u6642\u9593
-Asia/Aden.generic.long=\u963F\u62C9\u4F2F\u6642\u9593
-Asia/Almaty.generic.long=\u963F\u62C9\u6728\u5716\u6642\u9593
-Asia/Amman.generic.long=\u963f\u62c9\u4f2f\u6642\u9593
-Asia/Anadyr.generic.long=\u963F\u90A3\u5E95\u6CB3\u6642\u9593
-Asia/Aqtau.generic.long=\u963F\u514B\u5957\u6642\u9593
-Asia/Aqtobe.generic.long=\u963F\u514B\u6258\u5225\u6642\u9593
-Asia/Ashgabat.generic.long=\u571F\u5EAB\u66FC\u6642\u9593
-Asia/Ashkhabad.generic.long=\u571F\u5EAB\u66FC\u6642\u9593
-Asia/Baghdad.generic.long=\u963F\u62C9\u4F2F\u6642\u9593
-Asia/Bahrain.generic.long=\u963F\u62C9\u4F2F\u6642\u9593
-Asia/Baku.generic.long=\u4E9E\u585E\u62DC\u7136\u6642\u9593
-Asia/Bangkok.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-Asia/Beirut.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Bishkek.generic.long=\u5409\u723E\u5409\u65AF\u6642\u9593
-Asia/Brunei.generic.long=\u6C76\u840A\u6642\u9593
-Asia/Calcutta.generic.long=\u5370\u5EA6\u6642\u9593
-Asia/Choibalsan.generic.long=\u5DE7\u5DF4\u5C71 (Choibalsan) \u6642\u9593
-Asia/Chongqing.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Chungking.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Colombo.generic.long=\u5370\u5EA6\u6642\u9593
-Asia/Dacca.generic.long=\u5B5F\u52A0\u62C9\u6642\u9593
-Asia/Damascus.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Dhaka.generic.long=\u5B5F\u52A0\u62C9\u6642\u9593
-Asia/Dili.generic.long=\u6771\u5E1D\u6C76\u6642\u9593
-Asia/Dubai.generic.long=\u6CE2\u65AF\u7063\u6642\u9593
-Asia/Dushanbe.generic.long=\u5854\u5409\u514B\u6642\u9593
-Asia/Gaza.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Harbin.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Hebron.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Ho_Chi_Minh.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-Asia/Hong_Kong.generic.long=\u9999\u6E2F\u6642\u9593
-Asia/Hovd.generic.long=\u4FAF\u5FB7 (Hovd) \u6642\u9593
-Asia/Irkutsk.generic.long=\u4F0A\u723E\u5EAB\u6B21\u514B\u6642\u9593
-Asia/Istanbul.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Jakarta.generic.long=\u897F\u5370\u5C3C\u6642\u9593
-Asia/Jayapura.generic.long=\u6771\u5370\u5EA6\u5C3C\u897F\u4E9E\u6642\u9593
-Asia/Jerusalem.generic.long=\u4EE5\u8272\u5217\u6642\u9593
-Asia/Kabul.generic.long=\u963F\u5BCC\u6C57\u6642\u9593
-Asia/Kamchatka.generic.long=Petropavlovsk-Kamchatski \u6642\u9593
-Asia/Karachi.generic.long=\u5DF4\u57FA\u65AF\u5766\u6642\u9593
-Asia/Kashgar.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Kathmandu.generic.long=\u5C3C\u6CCA\u723E\u6642\u9593
-Asia/Katmandu.generic.long=\u5C3C\u6CCA\u723E\u6642\u9593
-Asia/Khandyga.daylight.long=\u6F22\u5730\u52A0 (Khandyga) \u590F\u4EE4\u6642\u9593
-Asia/Khandyga.generic.long=\u6F22\u5730\u52A0 (Khandyga) \u6642\u9593
-Asia/Khandyga.standard.long=\u6F22\u5730\u52A0 (Khandyga) \u6642\u9593
-Asia/Kolkata.generic.long=\u5370\u5EA6\u6642\u9593
-Asia/Krasnoyarsk.generic.long=\u514B\u62C9\u65AF\u8AFE\u4E9E\u723E\u65AF\u514B\u6642\u9593
-Asia/Kuala_Lumpur.generic.long=\u99AC\u4F86\u897F\u4E9E\u6642\u9593
-Asia/Kuching.generic.long=\u99AC\u4F86\u897F\u4E9E\u6642\u9593
-Asia/Kuwait.generic.long=\u963F\u62C9\u4F2F\u6642\u9593
-Asia/Macao.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Macau.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Magadan.generic.long=\u99AC\u52A0\u4E39\u6642\u9593
-Asia/Makassar.generic.long=\u4E2D\u5370\u5EA6\u5C3C\u897F\u4E9E\u6642\u9593
-Asia/Manila.generic.long=\u83F2\u5F8B\u8CD3\u6642\u9593
-Asia/Muscat.generic.long=\u6CE2\u65AF\u7063\u6642\u9593
-Asia/Nicosia.generic.long=\u6771\u6B50\u6642\u9593
-Asia/Novokuznetsk.generic.long=\u65B0\u897F\u4F2F\u5229\u4E9E\u6642\u9593
-Asia/Novosibirsk.generic.long=\u65B0\u897F\u4F2F\u5229\u4E9E\u6642\u9593
-Asia/Omsk.generic.long=\u6B50\u59C6\u65AF\u514B (Omsk) \u6642\u9593
-Asia/Oral.generic.long=\u6B50\u4F5B\u6642\u9593
-Asia/Phnom_Penh.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-Asia/Pontianak.generic.long=\u897F\u5370\u5C3C\u6642\u9593
-Asia/Pyongyang.generic.long=\u97D3\u570B\u6642\u9593
-Asia/Qatar.generic.long=\u963F\u62C9\u4F2F\u6642\u9593
-Asia/Qyzylorda.generic.long=\u514B\u5B5C\u6D1B\u723E\u9054\u6642\u9593
-Asia/Rangoon.generic.long=\u7DEC\u7538\u6642\u9593
-Asia/Saigon.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-Asia/Sakhalin.generic.long=\u5EAB\u9801\u5CF6\u6642\u9593
-Asia/Samarkand.generic.long=\u70CF\u8332\u5225\u514B\u65AF\u5766\u6642\u9593
-Asia/Seoul.generic.long=\u97D3\u570B\u6642\u9593
-Asia/Shanghai.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Singapore.generic.long=\u65B0\u52A0\u5761\u6642\u9593
-Asia/Taipei.generic.long=\u53f0\u7063\u6642\u9593
-Asia/Tashkent.generic.long=\u70CF\u8332\u5225\u514B\u65AF\u5766\u6642\u9593
-Asia/Tbilisi.generic.long=\u55AC\u6CBB\u4E9E\u6642\u9593
-Asia/Tehran.generic.long=\u4F0A\u6717\u6642\u9593
-Asia/Tel_Aviv.generic.long=\u4EE5\u8272\u5217\u6642\u9593
-Asia/Thimbu.generic.long=\u4E0D\u4E39\u6642\u9593
-Asia/Thimphu.generic.long=\u4E0D\u4E39\u6642\u9593
-Asia/Tokyo.generic.long=\u65E5\u672C\u6642\u9593
-Asia/Ujung_Pandang.generic.long=\u4E2D\u5370\u5EA6\u5C3C\u897F\u4E9E\u6642\u9593
-Asia/Ulaanbaatar.generic.long=\u5EAB\u502B\u6642\u9593
-Asia/Ulan_Bator.generic.long=\u5EAB\u502B\u6642\u9593
-Asia/Urumqi.generic.long=\u4E2D\u570B\u6642\u9593
-Asia/Ust-Nera.daylight.long=\u70CF\u65AF\u5167\u62C9 (Ust-Nera) \u590F\u4EE4\u6642\u9593
-Asia/Ust-Nera.generic.long=\u70CF\u65AF\u5167\u62C9 (Ust-Nera) \u6642\u9593
-Asia/Ust-Nera.standard.long=\u70CF\u65AF\u5167\u62C9 (Ust-Nera) \u6642\u9593
-Asia/Vientiane.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-Asia/Vladivostok.generic.long=\u6D77\u53C3\u5D34\u6642\u9593
-Asia/Yakutsk.generic.long=\u4E9E\u5EAB\u6B21\u514B\u6642\u9593
-Asia/Yekaterinburg.generic.long=\u8449\u5361\u6377\u7433\u5821\u6642\u9593
-Asia/Yerevan.generic.long=\u4E9E\u7F8E\u5C3C\u4E9E\u6642\u9593
-Atlantic/Azores.generic.long=\u4E9E\u901F\u723E\u7FA4\u5CF6\u6642\u9593
-Atlantic/Bermuda.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-Atlantic/Canary.generic.long=\u897F\u6B50\u6642\u9593
-Atlantic/Cape_Verde.generic.long=\u4F5B\u5FB7\u89D2\u6642\u9593
-Atlantic/Faeroe.generic.long=\u897F\u6B50\u6642\u9593
-Atlantic/Faroe.generic.long=\u897F\u6B50\u6642\u9593
-Atlantic/Jan_Mayen.generic.long=\u4E2D\u6B50\u6642\u9593
-Atlantic/Madeira.generic.long=\u897F\u6B50\u6642\u9593
-Atlantic/Reykjavik.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Atlantic/South_Georgia.generic.long=\u5357\u55AC\u6CBB\u4E9E\u6642\u9593
-Atlantic/St_Helena.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Atlantic/Stanley.generic.long=\u798F\u514B\u862D\u7FA4\u5CF6\u6642\u9593
-Australia/ACT.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/ACT.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/ACT.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Adelaide.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340)
-Australia/Adelaide.generic.long=\u4E2D\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8)
-Australia/Adelaide.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8)
-Australia/Brisbane.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Brisbane.generic.long=\u6771\u90E8\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Brisbane.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Broken_Hill.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340/\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Broken_Hill.generic.long=\u4E2D\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8/\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Broken_Hill.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340/\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Canberra.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Canberra.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Canberra.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Currie.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Currie.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Currie.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Darwin.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-Australia/Darwin.generic.long=\u6FB3\u5927\u5229\u4E9E\u4E2D\u90E8\u6642\u9593 (\u5317\u65B9\u5340\u57DF)
-Australia/Darwin.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-Australia/Eucla.daylight.long=\u4E2D\u897F\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Eucla.generic.long=\u4E2D\u897F\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Eucla.standard.long=\u4E2D\u897F\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Hobart.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u5854\u65AF\u6885\u5C3C\u4E9E\u5CF6)
-Australia/Hobart.generic.long=\u6FB3\u5927\u5229\u4E9E\u6771\u90E8\u6642\u9593 (\u5854\u65AF\u99AC\u5C3C\u4E9E\u5CF6)
-Australia/Hobart.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u5854\u65AF\u6885\u5C3C\u4E9E\u5CF6)
-Australia/LHI.generic.long=\u8C6A\u52F3\u7235\u5CF6\u6642\u9593
-Australia/Lindeman.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Lindeman.generic.long=\u6771\u90E8\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Lindeman.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Lord_Howe.generic.long=\u8C6A\u52F3\u7235\u5CF6\u6642\u9593
-Australia/Melbourne.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E\u90A6)
-Australia/Melbourne.generic.long=\u6771\u90E8\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E)
-Australia/Melbourne.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E\u90A6)
-Australia/NSW.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/NSW.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/NSW.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/North.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-Australia/North.generic.long=\u6FB3\u5927\u5229\u4E9E\u4E2D\u90E8\u6642\u9593 (\u5317\u65B9\u5340\u57DF)
-Australia/North.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u5317\u90E8\u5404\u5730\u5340)
-Australia/Perth.daylight.long=\u897F\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Perth.generic.long=\u897F\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Perth.standard.long=\u897F\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Queensland.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Queensland.generic.long=\u6771\u90E8\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/Queensland.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u6606\u58EB\u862D)
-Australia/South.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340)
-Australia/South.generic.long=\u4E2D\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8)
-Australia/South.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8)
-Australia/Sydney.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Sydney.generic.long=\u6771\u90E8\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Sydney.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Tasmania.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u5854\u65AF\u6885\u5C3C\u4E9E\u5CF6)
-Australia/Tasmania.generic.long=\u6FB3\u5927\u5229\u4E9E\u6771\u90E8\u6642\u9593 (\u5854\u65AF\u99AC\u5C3C\u4E9E\u5CF6)
-Australia/Tasmania.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u5854\u65AF\u6885\u5C3C\u4E9E\u5CF6)
-Australia/Victoria.daylight.long=\u6771\u90E8\u590F\u4EE4\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E\u90A6)
-Australia/Victoria.generic.long=\u6771\u90E8\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E)
-Australia/Victoria.standard.long=\u6771\u90E8\u6A19\u6E96\u6642\u9593 (\u7DAD\u591A\u5229\u4E9E\u90A6)
-Australia/West.daylight.long=\u897F\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/West.generic.long=\u897F\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/West.standard.long=\u897F\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E)
-Australia/Yancowinna.daylight.long=\u4E2D\u90E8\u590F\u4EE4\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340/\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Yancowinna.generic.long=\u4E2D\u90E8\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u90E8/\u65B0\u5357\u5A01\u723E\u65AF)
-Australia/Yancowinna.standard.long=\u4E2D\u90E8\u6A19\u6E96\u6642\u9593 (\u6FB3\u5927\u5229\u4E9E\u5357\u5340/\u65B0\u5357\u5A01\u723E\u65AF)
-BET.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-BST.generic.long=\u5B5F\u52A0\u62C9\u6642\u9593
-Brazil/Acre.generic.long=Acre \u6642\u9593
-Brazil/DeNoronha.generic.long=\u8CBB\u723E\u5357\u591A-\u8FEA\u8AFE\u7F85\u5C3C\u4E9E\u6642\u9593
-Brazil/East.generic.long=\u5DF4\u897F\u5229\u4E9E\u6642\u9593
-Brazil/West.generic.long=\u4E9E\u99AC\u905C\u6642\u9593
-CAT.generic.long=\u4E2D\u975E\u6642\u9593
-CET.generic.long=\u4e2d\u6b50\u6642\u9593
-CNT.generic.long=\u7D10\u82AC\u862D\u6642\u9593
-CST.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-CST6CDT.generic.long=\u7f8e\u570b\u4e2d\u90e8\u6642\u9593
-CTT.generic.long=\u4E2D\u570B\u6642\u9593
-Canada/Atlantic.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-Canada/Central.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-Canada/East-Saskatchewan.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-Canada/Eastern.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-Canada/Mountain.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-Canada/Newfoundland.generic.long=\u7D10\u82AC\u862D\u6642\u9593
-Canada/Pacific.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-Canada/Saskatchewan.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-Canada/Yukon.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-Chile/Continental.generic.long=\u667A\u5229\u6642\u9593
-Chile/EasterIsland.generic.long=\u5FA9\u6D3B\u5CF6\u6642\u9593
-Cuba.generic.long=\u53E4\u5DF4\u6642\u9593
-EAT.generic.long=\u6771\u975E\u6642\u9593
-ECT.generic.long=\u4E2D\u6B50\u6642\u9593
-EET.generic.long=\u6771\u6b50\u6642\u9593
-EST.generic.long=\u7f8e\u570b\u6771\u90e8\u6642\u9593
-EST5EDT.generic.long=\u7f8e\u570b\u6771\u90e8\u6642\u9593
-Egypt.generic.long=\u6771\u6B50\u6642\u9593
-Eire.generic.long=\u611B\u723E\u862D\u6587\u6642\u9593
-Etc/Greenwich.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Etc/UCT.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-Etc/UTC.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-Etc/Universal.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-Etc/Zulu.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-Europe/Amsterdam.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Andorra.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Athens.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Belfast.generic.long=\u82F1\u570B\u6642\u9593
-Europe/Belgrade.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Berlin.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Bratislava.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Brussels.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Bucharest.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Budapest.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Busingen.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Chisinau.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Copenhagen.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Dublin.generic.long=\u611B\u723E\u862D\u6587\u6642\u9593
-Europe/Gibraltar.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Guernsey.generic.long=\u82F1\u570B\u6642\u9593
-Europe/Helsinki.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Isle_of_Man.generic.long=\u82F1\u570B\u6642\u9593
-Europe/Istanbul.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Jersey.generic.long=\u82F1\u570B\u6642\u9593
-Europe/Kaliningrad.daylight.long=\u6771\u6B50\u5167\u9678\u590F\u4EE4\u6642\u9593
-Europe/Kaliningrad.generic.long=\u6771\u6B50\u5167\u9678\u6642\u9593
-Europe/Kaliningrad.standard.long=\u6771\u6B50\u5167\u9678\u6642\u9593
-Europe/Kiev.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Lisbon.generic.long=\u897F\u6B50\u6642\u9593
-Europe/Ljubljana.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/London.generic.long=\u82F1\u570B\u6642\u9593
-Europe/Luxembourg.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Madrid.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Malta.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Mariehamn.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Minsk.daylight.long=\u6771\u6B50\u5167\u9678\u590F\u4EE4\u6642\u9593
-Europe/Minsk.generic.long=\u6771\u6B50\u5167\u9678\u6642\u9593
-Europe/Minsk.standard.long=\u6771\u6B50\u5167\u9678\u6642\u9593
-Europe/Monaco.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Moscow.generic.long=\u83AB\u65AF\u79D1\u6642\u9593
-Europe/Nicosia.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Oslo.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Paris.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Podgorica.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Prague.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Riga.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Rome.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Samara.generic.long=\u6C99\u99AC\u62C9\u6642\u9593
-Europe/San_Marino.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Sarajevo.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Simferopol.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Skopje.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Sofia.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Stockholm.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Tallinn.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Tirane.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Tiraspol.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Uzhgorod.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Vaduz.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Vatican.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Vienna.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Vilnius.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Volgograd.generic.long=\u4F0F\u723E\u52A0\u683C\u52D2\u6642\u9593
-Europe/Warsaw.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Zagreb.generic.long=\u4E2D\u6B50\u6642\u9593
-Europe/Zaporozhye.generic.long=\u6771\u6B50\u6642\u9593
-Europe/Zurich.generic.long=\u4E2D\u6B50\u6642\u9593
-GB-Eire.generic.long=\u82F1\u570B\u6642\u9593
-GB.generic.long=\u82F1\u570B\u6642\u9593
-GMT.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Greenwich.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-HST.generic.long=\u590f\u5a01\u5937\u6642\u9593
-Hongkong.generic.long=\u9999\u6E2F\u6642\u9593
-IET.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-IST.generic.long=\u5370\u5EA6\u6642\u9593
-Iceland.generic.long=\u683C\u6797\u5A01\u6CBB\u6642\u9593
-Indian/Antananarivo.generic.long=\u6771\u975E\u6642\u9593
-Indian/Chagos.generic.long=\u82F1\u5C6C\u5370\u5EA6\u6D0B\u5730\u5340
-Indian/Christmas.generic.long=\u8056\u8A95\u5CF6\u6642\u9593
-Indian/Cocos.generic.long=\u53EF\u53EF\u65AF\u7FA4\u5CF6\u6642\u9593
-Indian/Comoro.generic.long=\u6771\u975E\u6642\u9593
-Indian/Kerguelen.generic.long=\u6CD5\u570B\u5357\u534A\u7403\u53CA\u5357\u6975\u5C6C\u5730\u6642\u9593
-Indian/Mahe.generic.long=\u585E\u5E2D\u723E\u7FA4\u5CF6\u6642\u9593
-Indian/Maldives.generic.long=\u99AC\u723E\u5730\u592B\u6642\u9593
-Indian/Mauritius.generic.long=\u6469\u91CC\u897F\u65AF\u6642\u9593
-Indian/Mayotte.generic.long=\u6771\u975E\u6642\u9593
-Indian/Reunion.generic.long=\u7559\u5C3C\u65FA\u5CF6\u6642\u9593
-Iran.generic.long=\u4F0A\u6717\u6642\u9593
-Israel.generic.long=\u4EE5\u8272\u5217\u6642\u9593
-JST.generic.long=\u65E5\u672C\u6642\u9593
-Jamaica.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-Japan.generic.long=\u65E5\u672C\u6642\u9593
-Kwajalein.generic.long=\u99AC\u7D39\u723E\u7FA4\u5CF6\u6642\u9593
-Libya.generic.long=\u6771\u6b50\u6642\u9593
-MET.generic.long=MET
-MIT.generic.long=\u897F\u85A9\u6469\u4E9E\u6642\u9593
-MST.generic.long=\u7f8e\u570b\u5c71\u5340\u6642\u9593
-MST7MDT.generic.long=\u7f8e\u570b\u5c71\u5340\u6642\u9593
-Mexico/BajaNorte.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-Mexico/BajaSur.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-Mexico/General.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-NET.generic.long=\u4E9E\u7F8E\u5C3C\u4E9E\u6642\u9593
-NST.generic.long=\u7D10\u897F\u862D\u6642\u9593
-NZ-CHAT.generic.long=\u67E5\u5766\u6642\u9593
-NZ.generic.long=\u7D10\u897F\u862D\u6642\u9593
-Navajo.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-PLT.generic.long=\u5DF4\u57FA\u65AF\u5766\u6642\u9593
-PNT.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-PRC.generic.long=\u4E2D\u570B\u6642\u9593
-PRT.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-PST.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-PST8PDT.generic.long=\u592a\u5e73\u6d0b\u6642\u9593
-Pacific/Apia.generic.long=\u897F\u85A9\u6469\u4E9E\u6642\u9593
-Pacific/Auckland.generic.long=\u7D10\u897F\u862D\u6642\u9593
-Pacific/Chatham.generic.long=\u67E5\u5766\u6642\u9593
-Pacific/Chuuk.daylight.long=\u695A\u514B\u590F\u4EE4\u6642\u9593
-Pacific/Chuuk.generic.long=\u695A\u514B\u6642\u9593
-Pacific/Chuuk.standard.long=\u695A\u514B\u6642\u9593
-Pacific/Easter.generic.long=\u5FA9\u6D3B\u5CF6\u6642\u9593
-Pacific/Efate.generic.long=\u74E6\u5974\u963F\u5716\u6642\u9593
-Pacific/Enderbury.generic.long=\u83F2\u5C3C\u514B\u65AF\u7FA4\u5CF6\u6642\u9593
-Pacific/Fakaofo.generic.long=\u6258\u514B\u52DE\u7FA4\u5CF6\u6642\u9593
-Pacific/Fiji.generic.long=\u6590\u6FDF\u6642\u9593
-Pacific/Funafuti.generic.long=\u5410\u74E6\u9B6F\u6642\u9593
-Pacific/Galapagos.generic.long=\u52A0\u62C9\u5DF4\u54E5\u6642\u9593
-Pacific/Gambier.generic.long=\u7518\u6BD4\u723E\u6642\u9593
-Pacific/Guadalcanal.generic.long=\u6240\u7F85\u9580\u7FA4\u5CF6\u6642\u9593
-Pacific/Guam.generic.long=\u67E5\u83AB\u7F85\u6642\u9593
-Pacific/Honolulu.generic.long=\u590F\u5A01\u5937\u6642\u9593
-Pacific/Johnston.generic.long=\u590F\u5A01\u5937\u6642\u9593
-Pacific/Kiritimati.generic.long=\u5217\u5DBC\u7FA4\u5CF6\u6642\u9593
-Pacific/Kosrae.generic.long=Kosrae \u6642\u9593
-Pacific/Kwajalein.generic.long=\u99AC\u7D39\u723E\u7FA4\u5CF6\u6642\u9593
-Pacific/Majuro.generic.long=\u99AC\u7D39\u723E\u7FA4\u5CF6\u6642\u9593
-Pacific/Marquesas.generic.long=\u99AC\u514B\u85A9\u65AF\u6642\u9593
-Pacific/Midway.generic.long=\u85A9\u6469\u4E9E\u6642\u9593
-Pacific/Nauru.generic.long=\u8AFE\u9B6F\u6642\u9593
-Pacific/Niue.generic.long=\u7D10\u5A01\u5CF6\u6642\u9593
-Pacific/Norfolk.generic.long=\u8AFE\u798F\u514B\u6642\u9593
-Pacific/Noumea.generic.long=\u65B0\u52A0\u52D2\u591A\u5C3C\u4E9E\u6642\u9593
-Pacific/Pago_Pago.generic.long=\u85A9\u6469\u4E9E\u6642\u9593
-Pacific/Palau.generic.long=\u5E1B\u7409\u6642\u9593
-Pacific/Pitcairn.generic.long=\u76AE\u7279\u5EB7\u6642\u9593
-Pacific/Pohnpei.daylight.long=\u6CE2\u7D0D\u4F69\u590F\u4EE4\u6642\u9593
-Pacific/Pohnpei.generic.long=\u6CE2\u7D0D\u4F69\u5CF6\u6642\u9593
-Pacific/Pohnpei.standard.long=\u6CE2\u7D0D\u4F69\u6642\u9593
-Pacific/Ponape.daylight.long=\u6CE2\u7D0D\u4F69\u590F\u4EE4\u6642\u9593
-Pacific/Ponape.generic.long=\u6CE2\u7D0D\u4F69\u5CF6\u6642\u9593
-Pacific/Ponape.standard.long=\u6CE2\u7D0D\u4F69\u6642\u9593
-Pacific/Port_Moresby.generic.long=\u5DF4\u5E03\u4E9E\u65B0\u5E7E\u5167\u4E9E\u6642\u9593
-Pacific/Rarotonga.generic.long=\u5EAB\u514B\u7FA4\u5CF6\u6642\u9593
-Pacific/Saipan.generic.long=\u67E5\u83AB\u7F85\u6642\u9593
-Pacific/Samoa.generic.long=\u85A9\u6469\u4E9E\u6642\u9593
-Pacific/Tahiti.generic.long=\u5927\u6EAA\u5730\u6642\u9593
-Pacific/Tarawa.generic.long=\u5409\u4F2F\u7279\u7FA4\u5CF6\u6642\u9593
-Pacific/Tongatapu.generic.long=\u6771\u52A0\u6642\u9593
-Pacific/Truk.daylight.long=\u695A\u514B\u590F\u4EE4\u6642\u9593
-Pacific/Truk.generic.long=\u695A\u514B\u6642\u9593
-Pacific/Truk.standard.long=\u695A\u514B\u6642\u9593
-Pacific/Wake.generic.long=\u5A01\u514B\u6642\u9593
-Pacific/Wallis.generic.long=\u74E6\u5229\u65AF\u53CA\u798F\u675C\u7D0D\u7FA4\u5CF6\u6642\u9593
-Pacific/Yap.daylight.long=\u695A\u514B\u590F\u4EE4\u6642\u9593
-Pacific/Yap.generic.long=\u695A\u514B\u6642\u9593
-Pacific/Yap.standard.long=\u695A\u514B\u6642\u9593
-Poland.generic.long=\u4E2D\u6B50\u6642\u9593
-Portugal.generic.long=\u897F\u6B50\u6642\u9593
-ROK.generic.long=\u97D3\u570B\u6642\u9593
-SST.generic.long=\u6240\u7F85\u9580\u7FA4\u5CF6\u6642\u9593
-Singapore.generic.long=\u65B0\u52A0\u5761\u6642\u9593
-SystemV/AST4.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-SystemV/AST4ADT.generic.long=\u5927\u897F\u6D0B\u6642\u9593
-SystemV/CST6.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-SystemV/CST6CDT.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-SystemV/EST5.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-SystemV/EST5EDT.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-SystemV/HST10.generic.long=\u590F\u5A01\u5937\u6642\u9593
-SystemV/MST7.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-SystemV/MST7MDT.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-SystemV/PST8.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-SystemV/PST8PDT.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-SystemV/YST9.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-SystemV/YST9YDT.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-Turkey.generic.long=\u6771\u6B50\u6642\u9593
-UCT.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-US/Alaska.generic.long=\u963F\u62C9\u65AF\u52A0\u6642\u9593
-US/Aleutian.generic.long=\u590F\u5A01\u5937-\u963F\u7559\u7533\u6642\u9593
-US/Arizona.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-US/Central.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-US/East-Indiana.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-US/Eastern.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-US/Hawaii.generic.long=\u590F\u5A01\u5937\u6642\u9593
-US/Indiana-Starke.generic.long=\u7F8E\u570B\u4E2D\u90E8\u6642\u9593
-US/Michigan.generic.long=\u7F8E\u570B\u6771\u90E8\u6642\u9593
-US/Mountain.generic.long=\u7F8E\u570B\u5C71\u5340\u6642\u9593
-US/Pacific-New.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-US/Pacific.generic.long=\u592A\u5E73\u6D0B\u6642\u9593
-US/Samoa.generic.long=\u85A9\u6469\u4E9E\u6642\u9593
-UTC.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-Universal.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
-VST.generic.long=\u5370\u5EA6\u652F\u90A3\u6642\u9593
-W-SU.generic.long=\u83AB\u65AF\u79D1\u6642\u9593
-WET.generic.long=\u897f\u6b50\u6642\u9593
-Zulu.generic.long=\u5354\u8ABF\u4E16\u754C\u6642\u9593
diff --git a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW_short.properties b/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW_short.properties
deleted file mode 100644
index c2de6fd..0000000
--- a/jdk/test/sun/util/resources/TimeZone/TimeZoneNames/TimeZoneNames_zh_TW_short.properties
+++ /dev/null
@@ -1,1743 +0,0 @@
-ACT.daylight.short=CST
-ACT.generic.short=CT
-ACT.standard.short=CST
-AET.daylight.short=EST
-AET.generic.short=ET
-AET.standard.short=EST
-Africa/Abidjan.daylight.short=GMT
-Africa/Abidjan.generic.short=GMT
-Africa/Abidjan.standard.short=GMT
-Africa/Accra.daylight.short=GHST
-Africa/Accra.generic.short=GMT
-Africa/Accra.standard.short=GMT
-Africa/Addis_Ababa.daylight.short=EAST
-Africa/Addis_Ababa.generic.short=EAT
-Africa/Addis_Ababa.standard.short=EAT
-Africa/Algiers.daylight.short=CEST
-Africa/Algiers.generic.short=CET
-Africa/Algiers.standard.short=CET
-Africa/Asmara.daylight.short=EAST
-Africa/Asmara.generic.short=EAT
-Africa/Asmara.standard.short=EAT
-Africa/Asmera.daylight.short=EAST
-Africa/Asmera.generic.short=EAT
-Africa/Asmera.standard.short=EAT
-Africa/Bamako.daylight.short=GMT
-Africa/Bamako.generic.short=GMT
-Africa/Bamako.standard.short=GMT
-Africa/Bangui.daylight.short=WAST
-Africa/Bangui.generic.short=WAT
-Africa/Bangui.standard.short=WAT
-Africa/Banjul.daylight.short=GMT
-Africa/Banjul.generic.short=GMT
-Africa/Banjul.standard.short=GMT
-Africa/Bissau.daylight.short=GMT
-Africa/Bissau.generic.short=GMT
-Africa/Bissau.standard.short=GMT
-Africa/Blantyre.daylight.short=CAST
-Africa/Blantyre.generic.short=CAT
-Africa/Blantyre.standard.short=CAT
-Africa/Brazzaville.daylight.short=WAST
-Africa/Brazzaville.generic.short=WAT
-Africa/Brazzaville.standard.short=WAT
-Africa/Bujumbura.daylight.short=CAST
-Africa/Bujumbura.generic.short=CAT
-Africa/Bujumbura.standard.short=CAT
-Africa/Cairo.daylight.short=EEST
-Africa/Cairo.generic.short=EET
-Africa/Cairo.standard.short=EET
-Africa/Casablanca.daylight.short=WEST
-Africa/Casablanca.generic.short=WET
-Africa/Casablanca.standard.short=WET
-Africa/Ceuta.daylight.short=CEST
-Africa/Ceuta.generic.short=CET
-Africa/Ceuta.standard.short=CET
-Africa/Conakry.daylight.short=GMT
-Africa/Conakry.generic.short=GMT
-Africa/Conakry.standard.short=GMT
-Africa/Dakar.daylight.short=GMT
-Africa/Dakar.generic.short=GMT
-Africa/Dakar.standard.short=GMT
-Africa/Dar_es_Salaam.daylight.short=EAST
-Africa/Dar_es_Salaam.generic.short=EAT
-Africa/Dar_es_Salaam.standard.short=EAT
-Africa/Djibouti.daylight.short=EAST
-Africa/Djibouti.generic.short=EAT
-Africa/Djibouti.standard.short=EAT
-Africa/Douala.daylight.short=WAST
-Africa/Douala.generic.short=WAT
-Africa/Douala.standard.short=WAT
-Africa/El_Aaiun.daylight.short=WEST
-Africa/El_Aaiun.generic.short=WET
-Africa/El_Aaiun.standard.short=WET
-Africa/Freetown.daylight.short=SLST
-Africa/Freetown.generic.short=SLT
-Africa/Freetown.standard.short=GMT
-Africa/Gaborone.daylight.short=CAST
-Africa/Gaborone.generic.short=CAT
-Africa/Gaborone.standard.short=CAT
-Africa/Harare.daylight.short=CAST
-Africa/Harare.generic.short=CAT
-Africa/Harare.standard.short=CAT
-Africa/Johannesburg.daylight.short=SAST
-Africa/Johannesburg.generic.short=SAT
-Africa/Johannesburg.standard.short=SAST
-Africa/Juba.daylight.short=EAST
-Africa/Juba.generic.short=EAT
-Africa/Juba.standard.short=EAT
-Africa/Kampala.daylight.short=EAST
-Africa/Kampala.generic.short=EAT
-Africa/Kampala.standard.short=EAT
-Africa/Khartoum.daylight.short=EAST
-Africa/Khartoum.generic.short=EAT
-Africa/Khartoum.standard.short=EAT
-Africa/Kigali.daylight.short=CAST
-Africa/Kigali.generic.short=CAT
-Africa/Kigali.standard.short=CAT
-Africa/Kinshasa.daylight.short=WAST
-Africa/Kinshasa.generic.short=WAT
-Africa/Kinshasa.standard.short=WAT
-Africa/Lagos.daylight.short=WAST
-Africa/Lagos.generic.short=WAT
-Africa/Lagos.standard.short=WAT
-Africa/Libreville.daylight.short=WAST
-Africa/Libreville.generic.short=WAT
-Africa/Libreville.standard.short=WAT
-Africa/Lome.daylight.short=GMT
-Africa/Lome.generic.short=GMT
-Africa/Lome.standard.short=GMT
-Africa/Luanda.daylight.short=WAST
-Africa/Luanda.generic.short=WAT
-Africa/Luanda.standard.short=WAT
-Africa/Lubumbashi.daylight.short=CAST
-Africa/Lubumbashi.generic.short=CAT
-Africa/Lubumbashi.standard.short=CAT
-Africa/Lusaka.daylight.short=CAST
-Africa/Lusaka.generic.short=CAT
-Africa/Lusaka.standard.short=CAT
-Africa/Malabo.daylight.short=WAST
-Africa/Malabo.generic.short=WAT
-Africa/Malabo.standard.short=WAT
-Africa/Maputo.daylight.short=CAST
-Africa/Maputo.generic.short=CAT
-Africa/Maputo.standard.short=CAT
-Africa/Maseru.daylight.short=SAST
-Africa/Maseru.generic.short=SAT
-Africa/Maseru.standard.short=SAST
-Africa/Mbabane.daylight.short=SAST
-Africa/Mbabane.generic.short=SAT
-Africa/Mbabane.standard.short=SAST
-Africa/Mogadishu.daylight.short=EAST
-Africa/Mogadishu.generic.short=EAT
-Africa/Mogadishu.standard.short=EAT
-Africa/Monrovia.daylight.short=GMT
-Africa/Monrovia.generic.short=GMT
-Africa/Monrovia.standard.short=GMT
-Africa/Nairobi.daylight.short=EAST
-Africa/Nairobi.generic.short=EAT
-Africa/Nairobi.standard.short=EAT
-Africa/Ndjamena.daylight.short=WAST
-Africa/Ndjamena.generic.short=WAT
-Africa/Ndjamena.standard.short=WAT
-Africa/Niamey.daylight.short=WAST
-Africa/Niamey.generic.short=WAT
-Africa/Niamey.standard.short=WAT
-Africa/Nouakchott.daylight.short=GMT
-Africa/Nouakchott.generic.short=GMT
-Africa/Nouakchott.standard.short=GMT
-Africa/Ouagadougou.daylight.short=GMT
-Africa/Ouagadougou.generic.short=GMT
-Africa/Ouagadougou.standard.short=GMT
-Africa/Porto-Novo.daylight.short=WAST
-Africa/Porto-Novo.generic.short=WAT
-Africa/Porto-Novo.standard.short=WAT
-Africa/Sao_Tome.daylight.short=GMT
-Africa/Sao_Tome.generic.short=GMT
-Africa/Sao_Tome.standard.short=GMT
-Africa/Timbuktu.daylight.short=GMT
-Africa/Timbuktu.generic.short=GMT
-Africa/Timbuktu.standard.short=GMT
-Africa/Tripoli.daylight.short=EEST
-Africa/Tripoli.generic.short=EET
-Africa/Tripoli.standard.short=EET
-Africa/Tunis.daylight.short=CEST
-Africa/Tunis.generic.short=CET
-Africa/Tunis.standard.short=CET
-Africa/Windhoek.daylight.short=WAST
-Africa/Windhoek.generic.short=WAT
-Africa/Windhoek.standard.short=WAT
-AGT.daylight.short=ARST
-AGT.generic.short=ART
-AGT.standard.short=ART
-America/Adak.daylight.short=HADT
-America/Adak.generic.short=HAT
-America/Adak.standard.short=HAST
-America/Anchorage.daylight.short=AKDT
-America/Anchorage.generic.short=AKT
-America/Anchorage.standard.short=AKST
-America/Anguilla.daylight.short=ADT
-America/Anguilla.generic.short=AT
-America/Anguilla.standard.short=AST
-America/Antigua.daylight.short=ADT
-America/Antigua.generic.short=AT
-America/Antigua.standard.short=AST
-America/Araguaina.daylight.short=BRST
-America/Araguaina.generic.short=BRT
-America/Araguaina.standard.short=BRT
-America/Argentina/Buenos_Aires.daylight.short=ARST
-America/Argentina/Buenos_Aires.generic.short=ART
-America/Argentina/Buenos_Aires.standard.short=ART
-America/Argentina/Catamarca.daylight.short=ARST
-America/Argentina/Catamarca.generic.short=ART
-America/Argentina/Catamarca.standard.short=ART
-America/Argentina/ComodRivadavia.daylight.short=ARST
-America/Argentina/ComodRivadavia.generic.short=ART
-America/Argentina/ComodRivadavia.standard.short=ART
-America/Argentina/Cordoba.daylight.short=ARST
-America/Argentina/Cordoba.generic.short=ART
-America/Argentina/Cordoba.standard.short=ART
-America/Argentina/Jujuy.daylight.short=ARST
-America/Argentina/Jujuy.generic.short=ART
-America/Argentina/Jujuy.standard.short=ART
-America/Argentina/La_Rioja.daylight.short=ARST
-America/Argentina/La_Rioja.generic.short=ART
-America/Argentina/La_Rioja.standard.short=ART
-America/Argentina/Mendoza.daylight.short=ARST
-America/Argentina/Mendoza.generic.short=ART
-America/Argentina/Mendoza.standard.short=ART
-America/Argentina/Rio_Gallegos.daylight.short=ARST
-America/Argentina/Rio_Gallegos.generic.short=ART
-America/Argentina/Rio_Gallegos.standard.short=ART
-America/Argentina/Salta.daylight.short=ARST
-America/Argentina/Salta.generic.short=ART
-America/Argentina/Salta.standard.short=ART
-America/Argentina/San_Juan.daylight.short=ARST
-America/Argentina/San_Juan.generic.short=ART
-America/Argentina/San_Juan.standard.short=ART
-America/Argentina/San_Luis.daylight.short=ARST
-America/Argentina/San_Luis.generic.short=ART
-America/Argentina/San_Luis.standard.short=ART
-America/Argentina/Tucuman.daylight.short=ARST
-America/Argentina/Tucuman.generic.short=ART
-America/Argentina/Tucuman.standard.short=ART
-America/Argentina/Ushuaia.daylight.short=ARST
-America/Argentina/Ushuaia.generic.short=ART
-America/Argentina/Ushuaia.standard.short=ART
-America/Aruba.daylight.short=ADT
-America/Aruba.generic.short=AT
-America/Aruba.standard.short=AST
-America/Asuncion.daylight.short=PYST
-America/Asuncion.generic.short=PYT
-America/Asuncion.standard.short=PYT
-America/Atikokan.daylight.short=EDT
-America/Atikokan.generic.short=ET
-America/Atikokan.standard.short=EST
-America/Atka.daylight.short=HADT
-America/Atka.generic.short=HAT
-America/Atka.standard.short=HAST
-America/Bahia_Banderas.daylight.short=CDT
-America/Bahia_Banderas.generic.short=CT
-America/Bahia_Banderas.standard.short=CST
-America/Bahia.daylight.short=BRST
-America/Bahia.generic.short=BRT
-America/Bahia.standard.short=BRT
-America/Barbados.daylight.short=ADT
-America/Barbados.generic.short=AT
-America/Barbados.standard.short=AST
-America/Belem.daylight.short=BRST
-America/Belem.generic.short=BRT
-America/Belem.standard.short=BRT
-America/Belize.daylight.short=CDT
-America/Belize.generic.short=CT
-America/Belize.standard.short=CST
-America/Blanc-Sablon.daylight.short=ADT
-America/Blanc-Sablon.generic.short=AT
-America/Blanc-Sablon.standard.short=AST
-America/Boa_Vista.daylight.short=AMST
-America/Boa_Vista.generic.short=AMT
-America/Boa_Vista.standard.short=AMT
-America/Bogota.daylight.short=COST
-America/Bogota.generic.short=COT
-America/Bogota.standard.short=COT
-America/Boise.daylight.short=MDT
-America/Boise.generic.short=MT
-America/Boise.standard.short=MST
-America/Buenos_Aires.daylight.short=ARST
-America/Buenos_Aires.generic.short=ART
-America/Buenos_Aires.standard.short=ART
-America/Cambridge_Bay.daylight.short=MDT
-America/Cambridge_Bay.generic.short=MT
-America/Cambridge_Bay.standard.short=MST
-America/Campo_Grande.daylight.short=AMST
-America/Campo_Grande.generic.short=AMT
-America/Campo_Grande.standard.short=AMT
-America/Cancun.daylight.short=CDT
-America/Cancun.generic.short=CT
-America/Cancun.standard.short=CST
-America/Caracas.daylight.short=VEST
-America/Caracas.generic.short=VET
-America/Caracas.standard.short=VET
-America/Catamarca.daylight.short=ARST
-America/Catamarca.generic.short=ART
-America/Catamarca.standard.short=ART
-America/Cayenne.daylight.short=GFST
-America/Cayenne.generic.short=GFT
-America/Cayenne.standard.short=GFT
-America/Cayman.daylight.short=EDT
-America/Cayman.generic.short=ET
-America/Cayman.standard.short=EST
-America/Chicago.daylight.short=CDT
-America/Chicago.generic.short=CT
-America/Chicago.standard.short=CST
-America/Chihuahua.daylight.short=MDT
-America/Chihuahua.generic.short=MT
-America/Chihuahua.standard.short=MST
-America/Coral_Harbour.daylight.short=EDT
-America/Coral_Harbour.generic.short=ET
-America/Coral_Harbour.standard.short=EST
-America/Cordoba.daylight.short=ARST
-America/Cordoba.generic.short=ART
-America/Cordoba.standard.short=ART
-America/Costa_Rica.daylight.short=CDT
-America/Costa_Rica.generic.short=CT
-America/Costa_Rica.standard.short=CST
-America/Creston.daylight.short=MDT
-America/Creston.generic.short=MT
-America/Creston.standard.short=MST
-America/Cuiaba.daylight.short=AMST
-America/Cuiaba.generic.short=AMT
-America/Cuiaba.standard.short=AMT
-America/Curacao.daylight.short=ADT
-America/Curacao.generic.short=AT
-America/Curacao.standard.short=AST
-America/Danmarkshavn.daylight.short=GMT
-America/Danmarkshavn.generic.short=GMT
-America/Danmarkshavn.standard.short=GMT
-America/Dawson_Creek.daylight.short=MDT
-America/Dawson_Creek.generic.short=MT
-America/Dawson_Creek.standard.short=MST
-America/Dawson.daylight.short=PDT
-America/Dawson.generic.short=PT
-America/Dawson.standard.short=PST
-America/Denver.daylight.short=MDT
-America/Denver.generic.short=MT
-America/Denver.standard.short=MST
-America/Detroit.daylight.short=EDT
-America/Detroit.generic.short=ET
-America/Detroit.standard.short=EST
-America/Dominica.daylight.short=ADT
-America/Dominica.generic.short=AT
-America/Dominica.standard.short=AST
-America/Edmonton.daylight.short=MDT
-America/Edmonton.generic.short=MT
-America/Edmonton.standard.short=MST
-America/Eirunepe.daylight.short=ACST
-America/Eirunepe.generic.short=ACT
-America/Eirunepe.standard.short=ACT
-America/El_Salvador.daylight.short=CDT
-America/El_Salvador.generic.short=CT
-America/El_Salvador.standard.short=CST
-America/Ensenada.daylight.short=PDT
-America/Ensenada.generic.short=PT
-America/Ensenada.standard.short=PST
-America/Fortaleza.daylight.short=BRST
-America/Fortaleza.generic.short=BRT
-America/Fortaleza.standard.short=BRT
-America/Fort_Wayne.daylight.short=EDT
-America/Fort_Wayne.generic.short=ET
-America/Fort_Wayne.standard.short=EST
-America/Glace_Bay.daylight.short=ADT
-America/Glace_Bay.generic.short=AT
-America/Glace_Bay.standard.short=AST
-America/Godthab.daylight.short=WGST
-America/Godthab.generic.short=WGT
-America/Godthab.standard.short=WGT
-America/Goose_Bay.daylight.short=ADT
-America/Goose_Bay.generic.short=AT
-America/Goose_Bay.standard.short=AST
-America/Grand_Turk.daylight.short=EDT
-America/Grand_Turk.generic.short=ET
-America/Grand_Turk.standard.short=EST
-America/Grenada.daylight.short=ADT
-America/Grenada.generic.short=AT
-America/Grenada.standard.short=AST
-America/Guadeloupe.daylight.short=ADT
-America/Guadeloupe.generic.short=AT
-America/Guadeloupe.standard.short=AST
-America/Guatemala.daylight.short=CDT
-America/Guatemala.generic.short=CT
-America/Guatemala.standard.short=CST
-America/Guayaquil.daylight.short=ECST
-America/Guayaquil.generic.short=ECT
-America/Guayaquil.standard.short=ECT
-America/Guyana.daylight.short=GYST
-America/Guyana.generic.short=GYT
-America/Guyana.standard.short=GYT
-America/Halifax.daylight.short=ADT
-America/Halifax.generic.short=AT
-America/Halifax.standard.short=AST
-America/Havana.daylight.short=CDT
-America/Havana.generic.short=CT
-America/Havana.standard.short=CST
-America/Hermosillo.daylight.short=MDT
-America/Hermosillo.generic.short=MT
-America/Hermosillo.standard.short=MST
-America/Indiana/Indianapolis.daylight.short=EDT
-America/Indiana/Indianapolis.generic.short=ET
-America/Indiana/Indianapolis.standard.short=EST
-America/Indiana/Knox.daylight.short=CDT
-America/Indiana/Knox.generic.short=CT
-America/Indiana/Knox.standard.short=CST
-America/Indiana/Marengo.daylight.short=EDT
-America/Indiana/Marengo.generic.short=ET
-America/Indiana/Marengo.standard.short=EST
-America/Indiana/Petersburg.daylight.short=EDT
-America/Indiana/Petersburg.generic.short=ET
-America/Indiana/Petersburg.standard.short=EST
-America/Indianapolis.daylight.short=EDT
-America/Indianapolis.generic.short=ET
-America/Indianapolis.standard.short=EST
-America/Indiana/Tell_City.daylight.short=CDT
-America/Indiana/Tell_City.generic.short=CT
-America/Indiana/Tell_City.standard.short=CST
-America/Indiana/Vevay.daylight.short=EDT
-America/Indiana/Vevay.generic.short=ET
-America/Indiana/Vevay.standard.short=EST
-America/Indiana/Vincennes.daylight.short=EDT
-America/Indiana/Vincennes.generic.short=ET
-America/Indiana/Vincennes.standard.short=EST
-America/Indiana/Winamac.daylight.short=EDT
-America/Indiana/Winamac.generic.short=ET
-America/Indiana/Winamac.standard.short=EST
-America/Inuvik.daylight.short=MDT
-America/Inuvik.generic.short=MT
-America/Inuvik.standard.short=MST
-America/Iqaluit.daylight.short=EDT
-America/Iqaluit.generic.short=ET
-America/Iqaluit.standard.short=EST
-America/Jamaica.daylight.short=EDT
-America/Jamaica.generic.short=ET
-America/Jamaica.standard.short=EST
-America/Jujuy.daylight.short=ARST
-America/Jujuy.generic.short=ART
-America/Jujuy.standard.short=ART
-America/Juneau.daylight.short=AKDT
-America/Juneau.generic.short=AKT
-America/Juneau.standard.short=AKST
-America/Kentucky/Louisville.daylight.short=EDT
-America/Kentucky/Louisville.generic.short=ET
-America/Kentucky/Louisville.standard.short=EST
-America/Kentucky/Monticello.daylight.short=EDT
-America/Kentucky/Monticello.generic.short=ET
-America/Kentucky/Monticello.standard.short=EST
-America/Knox_IN.daylight.short=CDT
-America/Knox_IN.generic.short=CT
-America/Knox_IN.standard.short=CST
-America/Kralendijk.daylight.short=ADT
-America/Kralendijk.generic.short=AT
-America/Kralendijk.standard.short=AST
-America/La_Paz.daylight.short=BOST
-America/La_Paz.generic.short=BOT
-America/La_Paz.standard.short=BOT
-America/Lima.daylight.short=PEST
-America/Lima.generic.short=PET
-America/Lima.standard.short=PET
-America/Los_Angeles.daylight.short=PDT
-America/Los_Angeles.generic.short=PT
-America/Los_Angeles.standard.short=PST
-America/Louisville.daylight.short=EDT
-America/Louisville.generic.short=ET
-America/Louisville.standard.short=EST
-America/Lower_Princes.daylight.short=ADT
-America/Lower_Princes.generic.short=AT
-America/Lower_Princes.standard.short=AST
-America/Maceio.daylight.short=BRST
-America/Maceio.generic.short=BRT
-America/Maceio.standard.short=BRT
-America/Managua.daylight.short=CDT
-America/Managua.generic.short=CT
-America/Managua.standard.short=CST
-America/Manaus.daylight.short=AMST
-America/Manaus.generic.short=AMT
-America/Manaus.standard.short=AMT
-America/Marigot.daylight.short=ADT
-America/Marigot.generic.short=AT
-America/Marigot.standard.short=AST
-America/Martinique.daylight.short=ADT
-America/Martinique.generic.short=AT
-America/Martinique.standard.short=AST
-America/Matamoros.daylight.short=CDT
-America/Matamoros.generic.short=CT
-America/Matamoros.standard.short=CST
-America/Mazatlan.daylight.short=MDT
-America/Mazatlan.generic.short=MT
-America/Mazatlan.standard.short=MST
-America/Mendoza.daylight.short=ARST
-America/Mendoza.generic.short=ART
-America/Mendoza.standard.short=ART
-America/Menominee.daylight.short=CDT
-America/Menominee.generic.short=CT
-America/Menominee.standard.short=CST
-America/Merida.daylight.short=CDT
-America/Merida.generic.short=CT
-America/Merida.standard.short=CST
-America/Metlakatla.daylight.short=MeDT
-America/Metlakatla.generic.short=MeT
-America/Metlakatla.standard.short=MeST
-America/Mexico_City.daylight.short=CDT
-America/Mexico_City.generic.short=CT
-America/Mexico_City.standard.short=CST
-America/Miquelon.daylight.short=PMDT
-America/Miquelon.generic.short=PMT
-America/Miquelon.standard.short=PMST
-America/Moncton.daylight.short=ADT
-America/Moncton.generic.short=AT
-America/Moncton.standard.short=AST
-America/Monterrey.daylight.short=CDT
-America/Monterrey.generic.short=CT
-America/Monterrey.standard.short=CST
-America/Montevideo.daylight.short=UYST
-America/Montevideo.generic.short=UYT
-America/Montevideo.standard.short=UYT
-America/Montreal.daylight.short=EDT
-America/Montreal.generic.short=ET
-America/Montreal.standard.short=EST
-America/Montserrat.daylight.short=ADT
-America/Montserrat.generic.short=AT
-America/Montserrat.standard.short=AST
-America/Nassau.daylight.short=EDT
-America/Nassau.generic.short=ET
-America/Nassau.standard.short=EST
-America/New_York.daylight.short=EDT
-America/New_York.generic.short=ET
-America/New_York.standard.short=EST
-America/Nipigon.daylight.short=EDT
-America/Nipigon.generic.short=ET
-America/Nipigon.standard.short=EST
-America/Nome.daylight.short=AKDT
-America/Nome.generic.short=AKT
-America/Nome.standard.short=AKST
-America/Noronha.daylight.short=FNST
-America/Noronha.generic.short=FNT
-America/Noronha.standard.short=FNT
-America/North_Dakota/Beulah.daylight.short=CDT
-America/North_Dakota/Beulah.generic.short=CT
-America/North_Dakota/Beulah.standard.short=CST
-America/North_Dakota/Center.daylight.short=CDT
-America/North_Dakota/Center.generic.short=CT
-America/North_Dakota/Center.standard.short=CST
-America/North_Dakota/New_Salem.daylight.short=CDT
-America/North_Dakota/New_Salem.generic.short=CT
-America/North_Dakota/New_Salem.standard.short=CST
-America/Ojinaga.daylight.short=MDT
-America/Ojinaga.generic.short=MT
-America/Ojinaga.standard.short=MST
-America/Panama.daylight.short=EDT
-America/Panama.generic.short=ET
-America/Panama.standard.short=EST
-America/Pangnirtung.daylight.short=EDT
-America/Pangnirtung.generic.short=ET
-America/Pangnirtung.standard.short=EST
-America/Paramaribo.daylight.short=SRST
-America/Paramaribo.generic.short=SRT
-America/Paramaribo.standard.short=SRT
-America/Phoenix.daylight.short=MDT
-America/Phoenix.generic.short=MT
-America/Phoenix.standard.short=MST
-America/Port-au-Prince.daylight.short=EDT
-America/Port-au-Prince.generic.short=ET
-America/Port-au-Prince.standard.short=EST
-America/Porto_Acre.daylight.short=ACST
-America/Porto_Acre.generic.short=ACT
-America/Porto_Acre.standard.short=ACT
-America/Port_of_Spain.daylight.short=ADT
-America/Port_of_Spain.generic.short=AT
-America/Port_of_Spain.standard.short=AST
-America/Porto_Velho.daylight.short=AMST
-America/Porto_Velho.generic.short=AMT
-America/Porto_Velho.standard.short=AMT
-America/Puerto_Rico.daylight.short=ADT
-America/Puerto_Rico.generic.short=AT
-America/Puerto_Rico.standard.short=AST
-America/Rainy_River.daylight.short=CDT
-America/Rainy_River.generic.short=CT
-America/Rainy_River.standard.short=CST
-America/Rankin_Inlet.daylight.short=CDT
-America/Rankin_Inlet.generic.short=CT
-America/Rankin_Inlet.standard.short=CST
-America/Recife.daylight.short=BRST
-America/Recife.generic.short=BRT
-America/Recife.standard.short=BRT
-America/Regina.daylight.short=CDT
-America/Regina.generic.short=CT
-America/Regina.standard.short=CST
-America/Resolute.daylight.short=CDT
-America/Resolute.generic.short=CT
-America/Resolute.standard.short=CST
-America/Rio_Branco.daylight.short=ACST
-America/Rio_Branco.generic.short=ACT
-America/Rio_Branco.standard.short=ACT
-America/Rosario.daylight.short=ARST
-America/Rosario.generic.short=ART
-America/Rosario.standard.short=ART
-America/Santa_Isabel.daylight.short=PDT
-America/Santa_Isabel.generic.short=PT
-America/Santa_Isabel.standard.short=PST
-America/Santarem.daylight.short=BRST
-America/Santarem.generic.short=BRT
-America/Santarem.standard.short=BRT
-America/Santiago.daylight.short=CLST
-America/Santiago.generic.short=CLT
-America/Santiago.standard.short=CLT
-America/Santo_Domingo.daylight.short=ADT
-America/Santo_Domingo.generic.short=AT
-America/Santo_Domingo.standard.short=AST
-America/Sao_Paulo.daylight.short=BRST
-America/Sao_Paulo.generic.short=BRT
-America/Sao_Paulo.standard.short=BRT
-America/Scoresbysund.daylight.short=EGST
-America/Scoresbysund.generic.short=EGT
-America/Scoresbysund.standard.short=EGT
-America/Shiprock.daylight.short=MDT
-America/Shiprock.generic.short=MT
-America/Shiprock.standard.short=MST
-America/Sitka.daylight.short=AKDT
-America/Sitka.generic.short=AKT
-America/Sitka.standard.short=AKST
-America/St_Barthelemy.daylight.short=ADT
-America/St_Barthelemy.generic.short=AT
-America/St_Barthelemy.standard.short=AST
-America/St_Johns.daylight.short=NDT
-America/St_Johns.generic.short=NT
-America/St_Johns.standard.short=NST
-America/St_Kitts.daylight.short=ADT
-America/St_Kitts.generic.short=AT
-America/St_Kitts.standard.short=AST
-America/St_Lucia.daylight.short=ADT
-America/St_Lucia.generic.short=AT
-America/St_Lucia.standard.short=AST
-America/St_Thomas.daylight.short=ADT
-America/St_Thomas.generic.short=AT
-America/St_Thomas.standard.short=AST
-America/St_Vincent.daylight.short=ADT
-America/St_Vincent.generic.short=AT
-America/St_Vincent.standard.short=AST
-America/Swift_Current.daylight.short=CDT
-America/Swift_Current.generic.short=CT
-America/Swift_Current.standard.short=CST
-America/Tegucigalpa.daylight.short=CDT
-America/Tegucigalpa.generic.short=CT
-America/Tegucigalpa.standard.short=CST
-America/Thule.daylight.short=ADT
-America/Thule.generic.short=AT
-America/Thule.standard.short=AST
-America/Thunder_Bay.daylight.short=EDT
-America/Thunder_Bay.generic.short=ET
-America/Thunder_Bay.standard.short=EST
-America/Tijuana.daylight.short=PDT
-America/Tijuana.generic.short=PT
-America/Tijuana.standard.short=PST
-America/Toronto.daylight.short=EDT
-America/Toronto.generic.short=ET
-America/Toronto.standard.short=EST
-America/Tortola.daylight.short=ADT
-America/Tortola.generic.short=AT
-America/Tortola.standard.short=AST
-America/Vancouver.daylight.short=PDT
-America/Vancouver.generic.short=PT
-America/Vancouver.standard.short=PST
-America/Virgin.daylight.short=ADT
-America/Virgin.generic.short=AT
-America/Virgin.standard.short=AST
-America/Whitehorse.daylight.short=PDT
-America/Whitehorse.generic.short=PT
-America/Whitehorse.standard.short=PST
-America/Winnipeg.daylight.short=CDT
-America/Winnipeg.generic.short=CT
-America/Winnipeg.standard.short=CST
-America/Yakutat.daylight.short=AKDT
-America/Yakutat.generic.short=AKT
-America/Yakutat.standard.short=AKST
-America/Yellowknife.daylight.short=MDT
-America/Yellowknife.generic.short=MT
-America/Yellowknife.standard.short=MST
-Antarctica/Casey.daylight.short=WST
-Antarctica/Casey.generic.short=WT
-Antarctica/Casey.standard.short=WST
-Antarctica/Davis.daylight.short=DAVST
-Antarctica/Davis.generic.short=DAVT
-Antarctica/Davis.standard.short=DAVT
-Antarctica/DumontDUrville.daylight.short=DDUST
-Antarctica/DumontDUrville.generic.short=DDUT
-Antarctica/DumontDUrville.standard.short=DDUT
-Antarctica/Macquarie.daylight.short=MIST
-Antarctica/Macquarie.generic.short=MIST
-Antarctica/Macquarie.standard.short=MIST
-Antarctica/Mawson.daylight.short=MAWST
-Antarctica/Mawson.generic.short=MAWT
-Antarctica/Mawson.standard.short=MAWT
-Antarctica/McMurdo.daylight.short=NZDT
-Antarctica/McMurdo.generic.short=NZT
-Antarctica/McMurdo.standard.short=NZST
-Antarctica/Palmer.daylight.short=CLST
-Antarctica/Palmer.generic.short=CLT
-Antarctica/Palmer.standard.short=CLT
-Antarctica/Rothera.daylight.short=ROTST
-Antarctica/Rothera.generic.short=ROTT
-Antarctica/Rothera.standard.short=ROTT
-Antarctica/South_Pole.daylight.short=NZDT
-Antarctica/South_Pole.generic.short=NZT
-Antarctica/South_Pole.standard.short=NZST
-Antarctica/Syowa.daylight.short=SYOST
-Antarctica/Syowa.generic.short=SYOT
-Antarctica/Syowa.standard.short=SYOT
-Antarctica/Vostok.daylight.short=VOSST
-Antarctica/Vostok.generic.short=VOST
-Antarctica/Vostok.standard.short=VOST
-Arctic/Longyearbyen.daylight.short=CEST
-Arctic/Longyearbyen.generic.short=CET
-Arctic/Longyearbyen.standard.short=CET
-ART.daylight.short=EEST
-ART.generic.short=EET
-ART.standard.short=EET
-Asia/Aden.daylight.short=ADT
-Asia/Aden.generic.short=AT
-Asia/Aden.standard.short=AST
-Asia/Almaty.daylight.short=ALMST
-Asia/Almaty.generic.short=ALMT
-Asia/Almaty.standard.short=ALMT
-Asia/Amman.daylight.short=ADT
-Asia/Amman.generic.short=AT
-Asia/Amman.standard.short=AST
-Asia/Anadyr.daylight.short=ANAST
-Asia/Anadyr.generic.short=ANAT
-Asia/Anadyr.standard.short=ANAT
-Asia/Aqtau.daylight.short=AQTST
-Asia/Aqtau.generic.short=AQTT
-Asia/Aqtau.standard.short=AQTT
-Asia/Aqtobe.daylight.short=AQTST
-Asia/Aqtobe.generic.short=AQTT
-Asia/Aqtobe.standard.short=AQTT
-Asia/Ashgabat.daylight.short=TMST
-Asia/Ashgabat.generic.short=TMT
-Asia/Ashgabat.standard.short=TMT
-Asia/Ashkhabad.daylight.short=TMST
-Asia/Ashkhabad.generic.short=TMT
-Asia/Ashkhabad.standard.short=TMT
-Asia/Baghdad.daylight.short=ADT
-Asia/Baghdad.generic.short=AT
-Asia/Baghdad.standard.short=AST
-Asia/Bahrain.daylight.short=ADT
-Asia/Bahrain.generic.short=AT
-Asia/Bahrain.standard.short=AST
-Asia/Baku.daylight.short=AZST
-Asia/Baku.generic.short=AZT
-Asia/Baku.standard.short=AZT
-Asia/Bangkok.daylight.short=ICST
-Asia/Bangkok.generic.short=ICT
-Asia/Bangkok.standard.short=ICT
-Asia/Beirut.daylight.short=EEST
-Asia/Beirut.generic.short=EET
-Asia/Beirut.standard.short=EET
-Asia/Bishkek.daylight.short=KGST
-Asia/Bishkek.generic.short=KGT
-Asia/Bishkek.standard.short=KGT
-Asia/Brunei.daylight.short=BNST
-Asia/Brunei.generic.short=BNT
-Asia/Brunei.standard.short=BNT
-Asia/Calcutta.daylight.short=IDT
-Asia/Calcutta.generic.short=IT
-Asia/Calcutta.standard.short=IST
-Asia/Choibalsan.daylight.short=CHOST
-Asia/Choibalsan.generic.short=CHOT
-Asia/Choibalsan.standard.short=CHOT
-Asia/Chongqing.daylight.short=CDT
-Asia/Chongqing.generic.short=CT
-Asia/Chongqing.standard.short=CST
-Asia/Chungking.daylight.short=CDT
-Asia/Chungking.generic.short=CT
-Asia/Chungking.standard.short=CST
-Asia/Colombo.daylight.short=IDT
-Asia/Colombo.generic.short=IT
-Asia/Colombo.standard.short=IST
-Asia/Dacca.daylight.short=BDST
-Asia/Dacca.generic.short=BDT
-Asia/Dacca.standard.short=BDT
-Asia/Damascus.daylight.short=EEST
-Asia/Damascus.generic.short=EET
-Asia/Damascus.standard.short=EET
-Asia/Dhaka.daylight.short=BDST
-Asia/Dhaka.generic.short=BDT
-Asia/Dhaka.standard.short=BDT
-Asia/Dili.daylight.short=TLST
-Asia/Dili.generic.short=TLT
-Asia/Dili.standard.short=TLT
-Asia/Dubai.daylight.short=GDT
-Asia/Dubai.generic.short=GT
-Asia/Dubai.standard.short=GST
-Asia/Dushanbe.daylight.short=TJST
-Asia/Dushanbe.generic.short=TJT
-Asia/Dushanbe.standard.short=TJT
-Asia/Gaza.daylight.short=EEST
-Asia/Gaza.generic.short=EET
-Asia/Gaza.standard.short=EET
-Asia/Harbin.daylight.short=CDT
-Asia/Harbin.generic.short=CT
-Asia/Harbin.standard.short=CST
-Asia/Hebron.daylight.short=EEST
-Asia/Hebron.generic.short=EET
-Asia/Hebron.standard.short=EET
-Asia/Ho_Chi_Minh.daylight.short=ICST
-Asia/Ho_Chi_Minh.generic.short=ICT
-Asia/Ho_Chi_Minh.standard.short=ICT
-Asia/Hong_Kong.daylight.short=HKST
-Asia/Hong_Kong.generic.short=HKT
-Asia/Hong_Kong.standard.short=HKT
-Asia/Hovd.daylight.short=HOVST
-Asia/Hovd.generic.short=HOVT
-Asia/Hovd.standard.short=HOVT
-Asia/Irkutsk.daylight.short=IRKST
-Asia/Irkutsk.generic.short=IRKT
-Asia/Irkutsk.standard.short=IRKT
-Asia/Istanbul.daylight.short=EEST
-Asia/Istanbul.generic.short=EET
-Asia/Istanbul.standard.short=EET
-Asia/Jakarta.daylight.short=WIST
-Asia/Jakarta.generic.short=WIB
-Asia/Jakarta.standard.short=WIB
-Asia/Jayapura.daylight.short=EIST
-Asia/Jayapura.generic.short=WIT
-Asia/Jayapura.standard.short=WIT
-Asia/Jerusalem.daylight.short=IDT
-Asia/Jerusalem.generic.short=IT
-Asia/Jerusalem.standard.short=IST
-Asia/Kabul.daylight.short=AFST
-Asia/Kabul.generic.short=AFT
-Asia/Kabul.standard.short=AFT
-Asia/Kamchatka.daylight.short=PETST
-Asia/Kamchatka.generic.short=PETT
-Asia/Kamchatka.standard.short=PETT
-Asia/Karachi.daylight.short=PKST
-Asia/Karachi.generic.short=PKT
-Asia/Karachi.standard.short=PKT
-Asia/Kashgar.daylight.short=CDT
-Asia/Kashgar.generic.short=CT
-Asia/Kashgar.standard.short=CST
-Asia/Kathmandu.daylight.short=NPST
-Asia/Kathmandu.generic.short=NPT
-Asia/Kathmandu.standard.short=NPT
-Asia/Katmandu.daylight.short=NPST
-Asia/Katmandu.generic.short=NPT
-Asia/Katmandu.standard.short=NPT
-Asia/Khandyga.daylight.short=YAKST
-Asia/Khandyga.generic.short=YAKT
-Asia/Khandyga.standard.short=YAKT
-Asia/Kolkata.daylight.short=IDT
-Asia/Kolkata.generic.short=IT
-Asia/Kolkata.standard.short=IST
-Asia/Krasnoyarsk.daylight.short=KRAST
-Asia/Krasnoyarsk.generic.short=KRAT
-Asia/Krasnoyarsk.standard.short=KRAT
-Asia/Kuala_Lumpur.daylight.short=MYST
-Asia/Kuala_Lumpur.generic.short=MYT
-Asia/Kuala_Lumpur.standard.short=MYT
-Asia/Kuching.daylight.short=MYST
-Asia/Kuching.generic.short=MYT
-Asia/Kuching.standard.short=MYT
-Asia/Kuwait.daylight.short=ADT
-Asia/Kuwait.generic.short=AT
-Asia/Kuwait.standard.short=AST
-Asia/Macao.daylight.short=CDT
-Asia/Macao.generic.short=CT
-Asia/Macao.standard.short=CST
-Asia/Macau.daylight.short=CDT
-Asia/Macau.generic.short=CT
-Asia/Macau.standard.short=CST
-Asia/Magadan.daylight.short=MAGST
-Asia/Magadan.generic.short=MAGT
-Asia/Magadan.standard.short=MAGT
-Asia/Makassar.daylight.short=CIST
-Asia/Makassar.generic.short=WITA
-Asia/Makassar.standard.short=WITA
-Asia/Manila.daylight.short=PHST
-Asia/Manila.generic.short=PHT
-Asia/Manila.standard.short=PHT
-Asia/Muscat.daylight.short=GDT
-Asia/Muscat.generic.short=GT
-Asia/Muscat.standard.short=GST
-Asia/Nicosia.daylight.short=EEST
-Asia/Nicosia.generic.short=EET
-Asia/Nicosia.standard.short=EET
-Asia/Novokuznetsk.daylight.short=NOVST
-Asia/Novokuznetsk.generic.short=NOVT
-Asia/Novokuznetsk.standard.short=NOVT
-Asia/Novosibirsk.daylight.short=NOVST
-Asia/Novosibirsk.generic.short=NOVT
-Asia/Novosibirsk.standard.short=NOVT
-Asia/Omsk.daylight.short=OMSST
-Asia/Omsk.generic.short=OMST
-Asia/Omsk.standard.short=OMST
-Asia/Oral.daylight.short=ORAST
-Asia/Oral.generic.short=ORAT
-Asia/Oral.standard.short=ORAT
-Asia/Phnom_Penh.daylight.short=ICST
-Asia/Phnom_Penh.generic.short=ICT
-Asia/Phnom_Penh.standard.short=ICT
-Asia/Pontianak.daylight.short=WIST
-Asia/Pontianak.generic.short=WIB
-Asia/Pontianak.standard.short=WIB
-Asia/Pyongyang.daylight.short=KDT
-Asia/Pyongyang.generic.short=KT
-Asia/Pyongyang.standard.short=KST
-Asia/Qatar.daylight.short=ADT
-Asia/Qatar.generic.short=AT
-Asia/Qatar.standard.short=AST
-Asia/Qyzylorda.daylight.short=QYZST
-Asia/Qyzylorda.generic.short=QYZT
-Asia/Qyzylorda.standard.short=QYZT
-Asia/Rangoon.daylight.short=MMST
-Asia/Rangoon.generic.short=MMT
-Asia/Rangoon.standard.short=MMT
-Asia/Saigon.daylight.short=ICST
-Asia/Saigon.generic.short=ICT
-Asia/Saigon.standard.short=ICT
-Asia/Sakhalin.daylight.short=SAKST
-Asia/Sakhalin.generic.short=SAKT
-Asia/Sakhalin.standard.short=SAKT
-Asia/Samarkand.daylight.short=UZST
-Asia/Samarkand.generic.short=UZT
-Asia/Samarkand.standard.short=UZT
-Asia/Seoul.daylight.short=KDT
-Asia/Seoul.generic.short=KT
-Asia/Seoul.standard.short=KST
-Asia/Shanghai.daylight.short=CDT
-Asia/Shanghai.generic.short=CT
-Asia/Shanghai.standard.short=CST
-Asia/Singapore.daylight.short=SGST
-Asia/Singapore.generic.short=SGT
-Asia/Singapore.standard.short=SGT
-Asia/Taipei.daylight.short=TDT
-Asia/Taipei.generic.short=TT
-Asia/Taipei.standard.short=TST
-Asia/Tashkent.daylight.short=UZST
-Asia/Tashkent.generic.short=UZT
-Asia/Tashkent.standard.short=UZT
-Asia/Tbilisi.daylight.short=GEST
-Asia/Tbilisi.generic.short=GET
-Asia/Tbilisi.standard.short=GET
-Asia/Tehran.daylight.short=IRDT
-Asia/Tehran.generic.short=IRT
-Asia/Tehran.standard.short=IRST
-Asia/Tel_Aviv.daylight.short=IDT
-Asia/Tel_Aviv.generic.short=IT
-Asia/Tel_Aviv.standard.short=IST
-Asia/Thimbu.daylight.short=BTST
-Asia/Thimbu.generic.short=BTT
-Asia/Thimbu.standard.short=BTT
-Asia/Thimphu.daylight.short=BTST
-Asia/Thimphu.generic.short=BTT
-Asia/Thimphu.standard.short=BTT
-Asia/Tokyo.daylight.short=JDT
-Asia/Tokyo.generic.short=JT
-Asia/Tokyo.standard.short=JST
-Asia/Ujung_Pandang.daylight.short=CIST
-Asia/Ujung_Pandang.generic.short=WITA
-Asia/Ujung_Pandang.standard.short=WITA
-Asia/Ulaanbaatar.daylight.short=ULAST
-Asia/Ulaanbaatar.generic.short=ULAT
-Asia/Ulaanbaatar.standard.short=ULAT
-Asia/Ulan_Bator.daylight.short=ULAST
-Asia/Ulan_Bator.generic.short=ULAT
-Asia/Ulan_Bator.standard.short=ULAT
-Asia/Urumqi.daylight.short=CDT
-Asia/Urumqi.generic.short=CT
-Asia/Urumqi.standard.short=CST
-Asia/Ust-Nera.daylight.short=VLAST
-Asia/Ust-Nera.generic.short=VLAT
-Asia/Ust-Nera.standard.short=VLAT
-Asia/Vientiane.daylight.short=ICST
-Asia/Vientiane.generic.short=ICT
-Asia/Vientiane.standard.short=ICT
-Asia/Vladivostok.daylight.short=VLAST
-Asia/Vladivostok.generic.short=VLAT
-Asia/Vladivostok.standard.short=VLAT
-Asia/Yakutsk.daylight.short=YAKST
-Asia/Yakutsk.generic.short=YAKT
-Asia/Yakutsk.standard.short=YAKT
-Asia/Yekaterinburg.daylight.short=YEKST
-Asia/Yekaterinburg.generic.short=YEKT
-Asia/Yekaterinburg.standard.short=YEKT
-Asia/Yerevan.daylight.short=AMST
-Asia/Yerevan.generic.short=AMT
-Asia/Yerevan.standard.short=AMT
-AST.daylight.short=AKDT
-AST.generic.short=AKT
-AST.standard.short=AKST
-Atlantic/Azores.daylight.short=AZOST
-Atlantic/Azores.generic.short=AZOT
-Atlantic/Azores.standard.short=AZOT
-Atlantic/Bermuda.daylight.short=ADT
-Atlantic/Bermuda.generic.short=AT
-Atlantic/Bermuda.standard.short=AST
-Atlantic/Canary.daylight.short=WEST
-Atlantic/Canary.generic.short=WET
-Atlantic/Canary.standard.short=WET
-Atlantic/Cape_Verde.daylight.short=CVST
-Atlantic/Cape_Verde.generic.short=CVT
-Atlantic/Cape_Verde.standard.short=CVT
-Atlantic/Faeroe.daylight.short=WEST
-Atlantic/Faeroe.generic.short=WET
-Atlantic/Faeroe.standard.short=WET
-Atlantic/Faroe.daylight.short=WEST
-Atlantic/Faroe.generic.short=WET
-Atlantic/Faroe.standard.short=WET
-Atlantic/Jan_Mayen.daylight.short=CEST
-Atlantic/Jan_Mayen.generic.short=CET
-Atlantic/Jan_Mayen.standard.short=CET
-Atlantic/Madeira.daylight.short=WEST
-Atlantic/Madeira.generic.short=WET
-Atlantic/Madeira.standard.short=WET
-Atlantic/Reykjavik.daylight.short=GMT
-Atlantic/Reykjavik.generic.short=GMT
-Atlantic/Reykjavik.standard.short=GMT
-Atlantic/South_Georgia.daylight.short=GDT
-Atlantic/South_Georgia.generic.short=GT
-Atlantic/South_Georgia.standard.short=GST
-Atlantic/Stanley.daylight.short=FKST
-Atlantic/Stanley.generic.short=FKT
-Atlantic/Stanley.standard.short=FKT
-Atlantic/St_Helena.daylight.short=GMT
-Atlantic/St_Helena.generic.short=GMT
-Atlantic/St_Helena.standard.short=GMT
-Australia/ACT.daylight.short=EST
-Australia/ACT.generic.short=ET
-Australia/ACT.standard.short=EST
-Australia/Adelaide.daylight.short=CST
-Australia/Adelaide.generic.short=CT
-Australia/Adelaide.standard.short=CST
-Australia/Brisbane.daylight.short=EST
-Australia/Brisbane.generic.short=ET
-Australia/Brisbane.standard.short=EST
-Australia/Broken_Hill.daylight.short=CST
-Australia/Broken_Hill.generic.short=CT
-Australia/Broken_Hill.standard.short=CST
-Australia/Canberra.daylight.short=EST
-Australia/Canberra.generic.short=ET
-Australia/Canberra.standard.short=EST
-Australia/Currie.daylight.short=EST
-Australia/Currie.generic.short=ET
-Australia/Currie.standard.short=EST
-Australia/Darwin.daylight.short=CST
-Australia/Darwin.generic.short=CT
-Australia/Darwin.standard.short=CST
-Australia/Eucla.daylight.short=CWST
-Australia/Eucla.generic.short=CWT
-Australia/Eucla.standard.short=CWST
-Australia/Hobart.daylight.short=EST
-Australia/Hobart.generic.short=ET
-Australia/Hobart.standard.short=EST
-Australia/LHI.daylight.short=LHST
-Australia/LHI.generic.short=LHT
-Australia/LHI.standard.short=LHST
-Australia/Lindeman.daylight.short=EST
-Australia/Lindeman.generic.short=ET
-Australia/Lindeman.standard.short=EST
-Australia/Lord_Howe.daylight.short=LHST
-Australia/Lord_Howe.generic.short=LHT
-Australia/Lord_Howe.standard.short=LHST
-Australia/Melbourne.daylight.short=EST
-Australia/Melbourne.generic.short=ET
-Australia/Melbourne.standard.short=EST
-Australia/North.daylight.short=CST
-Australia/North.generic.short=CT
-Australia/North.standard.short=CST
-Australia/NSW.daylight.short=EST
-Australia/NSW.generic.short=ET
-Australia/NSW.standard.short=EST
-Australia/Perth.daylight.short=WST
-Australia/Perth.generic.short=WT
-Australia/Perth.standard.short=WST
-Australia/Queensland.daylight.short=EST
-Australia/Queensland.generic.short=ET
-Australia/Queensland.standard.short=EST
-Australia/South.daylight.short=CST
-Australia/South.generic.short=CT
-Australia/South.standard.short=CST
-Australia/Sydney.daylight.short=EST
-Australia/Sydney.generic.short=ET
-Australia/Sydney.standard.short=EST
-Australia/Tasmania.daylight.short=EST
-Australia/Tasmania.generic.short=ET
-Australia/Tasmania.standard.short=EST
-Australia/Victoria.daylight.short=EST
-Australia/Victoria.generic.short=ET
-Australia/Victoria.standard.short=EST
-Australia/West.daylight.short=WST
-Australia/West.generic.short=WT
-Australia/West.standard.short=WST
-Australia/Yancowinna.daylight.short=CST
-Australia/Yancowinna.generic.short=CT
-Australia/Yancowinna.standard.short=CST
-BET.daylight.short=BRST
-BET.generic.short=BRT
-BET.standard.short=BRT
-Brazil/Acre.daylight.short=ACST
-Brazil/Acre.generic.short=ACT
-Brazil/Acre.standard.short=ACT
-Brazil/DeNoronha.daylight.short=FNST
-Brazil/DeNoronha.generic.short=FNT
-Brazil/DeNoronha.standard.short=FNT
-Brazil/East.daylight.short=BRST
-Brazil/East.generic.short=BRT
-Brazil/East.standard.short=BRT
-Brazil/West.daylight.short=AMST
-Brazil/West.generic.short=AMT
-Brazil/West.standard.short=AMT
-BST.daylight.short=BDST
-BST.generic.short=BDT
-BST.standard.short=BDT
-Canada/Atlantic.daylight.short=ADT
-Canada/Atlantic.generic.short=AT
-Canada/Atlantic.standard.short=AST
-Canada/Central.daylight.short=CDT
-Canada/Central.generic.short=CT
-Canada/Central.standard.short=CST
-Canada/Eastern.daylight.short=EDT
-Canada/Eastern.generic.short=ET
-Canada/Eastern.standard.short=EST
-Canada/East-Saskatchewan.daylight.short=CDT
-Canada/East-Saskatchewan.generic.short=CT
-Canada/East-Saskatchewan.standard.short=CST
-Canada/Mountain.daylight.short=MDT
-Canada/Mountain.generic.short=MT
-Canada/Mountain.standard.short=MST
-Canada/Newfoundland.daylight.short=NDT
-Canada/Newfoundland.generic.short=NT
-Canada/Newfoundland.standard.short=NST
-Canada/Pacific.daylight.short=PDT
-Canada/Pacific.generic.short=PT
-Canada/Pacific.standard.short=PST
-Canada/Saskatchewan.daylight.short=CDT
-Canada/Saskatchewan.generic.short=CT
-Canada/Saskatchewan.standard.short=CST
-Canada/Yukon.daylight.short=PDT
-Canada/Yukon.generic.short=PT
-Canada/Yukon.standard.short=PST
-CAT.daylight.short=CAST
-CAT.generic.short=CAT
-CAT.standard.short=CAT
-CET.daylight.short=CEST
-CET.generic.short=CET
-CET.standard.short=CET
-Chile/Continental.daylight.short=CLST
-Chile/Continental.generic.short=CLT
-Chile/Continental.standard.short=CLT
-Chile/EasterIsland.daylight.short=EASST
-Chile/EasterIsland.generic.short=EAST
-Chile/EasterIsland.standard.short=EAST
-CNT.daylight.short=NDT
-CNT.generic.short=NT
-CNT.standard.short=NST
-CST6CDT.daylight.short=CDT
-CST6CDT.generic.short=CT
-CST6CDT.standard.short=CST
-CST.daylight.short=CDT
-CST.generic.short=CT
-CST.standard.short=CST
-CTT.daylight.short=CDT
-CTT.generic.short=CT
-CTT.standard.short=CST
-Cuba.daylight.short=CDT
-Cuba.generic.short=CT
-Cuba.standard.short=CST
-EAT.daylight.short=EAST
-EAT.generic.short=EAT
-EAT.standard.short=EAT
-ECT.daylight.short=CEST
-ECT.generic.short=CET
-ECT.standard.short=CET
-EET.daylight.short=EEST
-EET.generic.short=EET
-EET.standard.short=EET
-Egypt.daylight.short=EEST
-Egypt.generic.short=EET
-Egypt.standard.short=EET
-Eire.daylight.short=IST
-Eire.generic.short=IT
-Eire.standard.short=GMT
-EST5EDT.daylight.short=EDT
-EST5EDT.generic.short=ET
-EST5EDT.standard.short=EST
-EST.daylight.short=EDT
-EST.generic.short=ET
-EST.standard.short=EST
-Etc/Greenwich.daylight.short=GMT
-Etc/Greenwich.generic.short=GMT
-Etc/Greenwich.standard.short=GMT
-Etc/UCT.daylight.short=UTC
-Etc/UCT.generic.short=UTC
-Etc/UCT.standard.short=UTC
-Etc/Universal.daylight.short=UTC
-Etc/Universal.generic.short=UTC
-Etc/Universal.standard.short=UTC
-Etc/UTC.daylight.short=UTC
-Etc/UTC.generic.short=UTC
-Etc/UTC.standard.short=UTC
-Etc/Zulu.daylight.short=UTC
-Etc/Zulu.generic.short=UTC
-Etc/Zulu.standard.short=UTC
-Europe/Amsterdam.daylight.short=CEST
-Europe/Amsterdam.generic.short=CET
-Europe/Amsterdam.standard.short=CET
-Europe/Andorra.daylight.short=CEST
-Europe/Andorra.generic.short=CET
-Europe/Andorra.standard.short=CET
-Europe/Athens.daylight.short=EEST
-Europe/Athens.generic.short=EET
-Europe/Athens.standard.short=EET
-Europe/Belfast.daylight.short=BST
-Europe/Belfast.generic.short=BT
-Europe/Belfast.standard.short=GMT
-Europe/Belgrade.daylight.short=CEST
-Europe/Belgrade.generic.short=CET
-Europe/Belgrade.standard.short=CET
-Europe/Berlin.daylight.short=CEST
-Europe/Berlin.generic.short=CET
-Europe/Berlin.standard.short=CET
-Europe/Bratislava.daylight.short=CEST
-Europe/Bratislava.generic.short=CET
-Europe/Bratislava.standard.short=CET
-Europe/Brussels.daylight.short=CEST
-Europe/Brussels.generic.short=CET
-Europe/Brussels.standard.short=CET
-Europe/Bucharest.daylight.short=EEST
-Europe/Bucharest.generic.short=EET
-Europe/Bucharest.standard.short=EET
-Europe/Budapest.daylight.short=CEST
-Europe/Budapest.generic.short=CET
-Europe/Budapest.standard.short=CET
-Europe/Busingen.daylight.short=CEST
-Europe/Busingen.generic.short=CET
-Europe/Busingen.standard.short=CET
-Europe/Chisinau.daylight.short=EEST
-Europe/Chisinau.generic.short=EET
-Europe/Chisinau.standard.short=EET
-Europe/Copenhagen.daylight.short=CEST
-Europe/Copenhagen.generic.short=CET
-Europe/Copenhagen.standard.short=CET
-Europe/Dublin.daylight.short=IST
-Europe/Dublin.generic.short=IT
-Europe/Dublin.standard.short=GMT
-Europe/Gibraltar.daylight.short=CEST
-Europe/Gibraltar.generic.short=CET
-Europe/Gibraltar.standard.short=CET
-Europe/Guernsey.daylight.short=BST
-Europe/Guernsey.generic.short=BT
-Europe/Guernsey.standard.short=GMT
-Europe/Helsinki.daylight.short=EEST
-Europe/Helsinki.generic.short=EET
-Europe/Helsinki.standard.short=EET
-Europe/Isle_of_Man.daylight.short=BST
-Europe/Isle_of_Man.generic.short=BT
-Europe/Isle_of_Man.standard.short=GMT
-Europe/Istanbul.daylight.short=EEST
-Europe/Istanbul.generic.short=EET
-Europe/Istanbul.standard.short=EET
-Europe/Jersey.daylight.short=BST
-Europe/Jersey.generic.short=BT
-Europe/Jersey.standard.short=GMT
-Europe/Kaliningrad.daylight.short=FEST
-Europe/Kaliningrad.generic.short=FET
-Europe/Kaliningrad.standard.short=FET
-Europe/Kiev.daylight.short=EEST
-Europe/Kiev.generic.short=EET
-Europe/Kiev.standard.short=EET
-Europe/Lisbon.daylight.short=WEST
-Europe/Lisbon.generic.short=WET
-Europe/Lisbon.standard.short=WET
-Europe/Ljubljana.daylight.short=CEST
-Europe/Ljubljana.generic.short=CET
-Europe/Ljubljana.standard.short=CET
-Europe/London.daylight.short=BST
-Europe/London.generic.short=BT
-Europe/London.standard.short=GMT
-Europe/Luxembourg.daylight.short=CEST
-Europe/Luxembourg.generic.short=CET
-Europe/Luxembourg.standard.short=CET
-Europe/Madrid.daylight.short=CEST
-Europe/Madrid.generic.short=CET
-Europe/Madrid.standard.short=CET
-Europe/Malta.daylight.short=CEST
-Europe/Malta.generic.short=CET
-Europe/Malta.standard.short=CET
-Europe/Mariehamn.daylight.short=EEST
-Europe/Mariehamn.generic.short=EET
-Europe/Mariehamn.standard.short=EET
-Europe/Minsk.daylight.short=FEST
-Europe/Minsk.generic.short=FET
-Europe/Minsk.standard.short=FET
-Europe/Monaco.daylight.short=CEST
-Europe/Monaco.generic.short=CET
-Europe/Monaco.standard.short=CET
-Europe/Moscow.daylight.short=MSD
-Europe/Moscow.generic.short=MT
-Europe/Moscow.standard.short=MSK
-Europe/Nicosia.daylight.short=EEST
-Europe/Nicosia.generic.short=EET
-Europe/Nicosia.standard.short=EET
-Europe/Oslo.daylight.short=CEST
-Europe/Oslo.generic.short=CET
-Europe/Oslo.standard.short=CET
-Europe/Paris.daylight.short=CEST
-Europe/Paris.generic.short=CET
-Europe/Paris.standard.short=CET
-Europe/Podgorica.daylight.short=CEST
-Europe/Podgorica.generic.short=CET
-Europe/Podgorica.standard.short=CET
-Europe/Prague.daylight.short=CEST
-Europe/Prague.generic.short=CET
-Europe/Prague.standard.short=CET
-Europe/Riga.daylight.short=EEST
-Europe/Riga.generic.short=EET
-Europe/Riga.standard.short=EET
-Europe/Rome.daylight.short=CEST
-Europe/Rome.generic.short=CET
-Europe/Rome.standard.short=CET
-Europe/Samara.daylight.short=SAMST
-Europe/Samara.generic.short=SAMT
-Europe/Samara.standard.short=SAMT
-Europe/San_Marino.daylight.short=CEST
-Europe/San_Marino.generic.short=CET
-Europe/San_Marino.standard.short=CET
-Europe/Sarajevo.daylight.short=CEST
-Europe/Sarajevo.generic.short=CET
-Europe/Sarajevo.standard.short=CET
-Europe/Simferopol.daylight.short=EEST
-Europe/Simferopol.generic.short=EET
-Europe/Simferopol.standard.short=EET
-Europe/Skopje.daylight.short=CEST
-Europe/Skopje.generic.short=CET
-Europe/Skopje.standard.short=CET
-Europe/Sofia.daylight.short=EEST
-Europe/Sofia.generic.short=EET
-Europe/Sofia.standard.short=EET
-Europe/Stockholm.daylight.short=CEST
-Europe/Stockholm.generic.short=CET
-Europe/Stockholm.standard.short=CET
-Europe/Tallinn.daylight.short=EEST
-Europe/Tallinn.generic.short=EET
-Europe/Tallinn.standard.short=EET
-Europe/Tirane.daylight.short=CEST
-Europe/Tirane.generic.short=CET
-Europe/Tirane.standard.short=CET
-Europe/Tiraspol.daylight.short=EEST
-Europe/Tiraspol.generic.short=EET
-Europe/Tiraspol.standard.short=EET
-Europe/Uzhgorod.daylight.short=EEST
-Europe/Uzhgorod.generic.short=EET
-Europe/Uzhgorod.standard.short=EET
-Europe/Vaduz.daylight.short=CEST
-Europe/Vaduz.generic.short=CET
-Europe/Vaduz.standard.short=CET
-Europe/Vatican.daylight.short=CEST
-Europe/Vatican.generic.short=CET
-Europe/Vatican.standard.short=CET
-Europe/Vienna.daylight.short=CEST
-Europe/Vienna.generic.short=CET
-Europe/Vienna.standard.short=CET
-Europe/Vilnius.daylight.short=EEST
-Europe/Vilnius.generic.short=EET
-Europe/Vilnius.standard.short=EET
-Europe/Volgograd.daylight.short=VOLST
-Europe/Volgograd.generic.short=VOLT
-Europe/Volgograd.standard.short=VOLT
-Europe/Warsaw.daylight.short=CEST
-Europe/Warsaw.generic.short=CET
-Europe/Warsaw.standard.short=CET
-Europe/Zagreb.daylight.short=CEST
-Europe/Zagreb.generic.short=CET
-Europe/Zagreb.standard.short=CET
-Europe/Zaporozhye.daylight.short=EEST
-Europe/Zaporozhye.generic.short=EET
-Europe/Zaporozhye.standard.short=EET
-Europe/Zurich.daylight.short=CEST
-Europe/Zurich.generic.short=CET
-Europe/Zurich.standard.short=CET
-GB.daylight.short=BST
-GB-Eire.daylight.short=BST
-GB-Eire.generic.short=BT
-GB-Eire.standard.short=GMT
-GB.generic.short=BT
-GB.standard.short=GMT
-GMT.daylight.short=GMT
-GMT.generic.short=GMT
-GMT.standard.short=GMT
-Greenwich.daylight.short=GMT
-Greenwich.generic.short=GMT
-Greenwich.standard.short=GMT
-Hongkong.daylight.short=HKST
-Hongkong.generic.short=HKT
-Hongkong.standard.short=HKT
-HST.daylight.short=HDT
-HST.generic.short=HT
-HST.standard.short=HST
-Iceland.daylight.short=GMT
-Iceland.generic.short=GMT
-Iceland.standard.short=GMT
-IET.daylight.short=EDT
-IET.generic.short=ET
-IET.standard.short=EST
-Indian/Antananarivo.daylight.short=EAST
-Indian/Antananarivo.generic.short=EAT
-Indian/Antananarivo.standard.short=EAT
-Indian/Chagos.daylight.short=IOST
-Indian/Chagos.generic.short=IOT
-Indian/Chagos.standard.short=IOT
-Indian/Christmas.daylight.short=CXST
-Indian/Christmas.generic.short=CIT
-Indian/Christmas.standard.short=CXT
-Indian/Cocos.daylight.short=CCST
-Indian/Cocos.generic.short=CCT
-Indian/Cocos.standard.short=CCT
-Indian/Comoro.daylight.short=EAST
-Indian/Comoro.generic.short=EAT
-Indian/Comoro.standard.short=EAT
-Indian/Kerguelen.daylight.short=TFST
-Indian/Kerguelen.generic.short=TFT
-Indian/Kerguelen.standard.short=TFT
-Indian/Mahe.daylight.short=SCST
-Indian/Mahe.generic.short=SCT
-Indian/Mahe.standard.short=SCT
-Indian/Maldives.daylight.short=MVST
-Indian/Maldives.generic.short=MVT
-Indian/Maldives.standard.short=MVT
-Indian/Mauritius.daylight.short=MUST
-Indian/Mauritius.generic.short=MUT
-Indian/Mauritius.standard.short=MUT
-Indian/Mayotte.daylight.short=EAST
-Indian/Mayotte.generic.short=EAT
-Indian/Mayotte.standard.short=EAT
-Indian/Reunion.daylight.short=REST
-Indian/Reunion.generic.short=RET
-Indian/Reunion.standard.short=RET
-Iran.daylight.short=IRDT
-Iran.generic.short=IRT
-Iran.standard.short=IRST
-Israel.daylight.short=IDT
-Israel.generic.short=IT
-Israel.standard.short=IST
-IST.daylight.short=IDT
-IST.generic.short=IT
-IST.standard.short=IST
-Jamaica.daylight.short=EDT
-Jamaica.generic.short=ET
-Jamaica.standard.short=EST
-Japan.daylight.short=JDT
-Japan.generic.short=JT
-Japan.standard.short=JST
-JST.daylight.short=JDT
-JST.generic.short=JT
-JST.standard.short=JST
-Kwajalein.daylight.short=MHST
-Kwajalein.generic.short=MHT
-Kwajalein.standard.short=MHT
-Libya.daylight.short=EEST
-Libya.generic.short=EET
-Libya.standard.short=EET
-MET.daylight.short=MEST
-MET.generic.short=MET
-MET.standard.short=MET
-Mexico/BajaNorte.daylight.short=PDT
-Mexico/BajaNorte.generic.short=PT
-Mexico/BajaNorte.standard.short=PST
-Mexico/BajaSur.daylight.short=MDT
-Mexico/BajaSur.generic.short=MT
-Mexico/BajaSur.standard.short=MST
-Mexico/General.daylight.short=CDT
-Mexico/General.generic.short=CT
-Mexico/General.standard.short=CST
-MIT.daylight.short=WSDT
-MIT.generic.short=WST
-MIT.standard.short=WST
-MST7MDT.daylight.short=MDT
-MST7MDT.generic.short=MT
-MST7MDT.standard.short=MST
-MST.daylight.short=MDT
-MST.generic.short=MT
-MST.standard.short=MST
-Navajo.daylight.short=MDT
-Navajo.generic.short=MT
-Navajo.standard.short=MST
-NET.daylight.short=AMST
-NET.generic.short=AMT
-NET.standard.short=AMT
-NST.daylight.short=NZDT
-NST.generic.short=NZT
-NST.standard.short=NZST
-NZ-CHAT.daylight.short=CHADT
-NZ-CHAT.generic.short=CHAT
-NZ-CHAT.standard.short=CHAST
-NZ.daylight.short=NZDT
-NZ.generic.short=NZT
-NZ.standard.short=NZST
-Pacific/Apia.daylight.short=WSDT
-Pacific/Apia.generic.short=WST
-Pacific/Apia.standard.short=WST
-Pacific/Auckland.daylight.short=NZDT
-Pacific/Auckland.generic.short=NZT
-Pacific/Auckland.standard.short=NZST
-Pacific/Chatham.daylight.short=CHADT
-Pacific/Chatham.generic.short=CHAT
-Pacific/Chatham.standard.short=CHAST
-Pacific/Chuuk.daylight.short=CHUST
-Pacific/Chuuk.generic.short=CHUT
-Pacific/Chuuk.standard.short=CHUT
-Pacific/Easter.daylight.short=EASST
-Pacific/Easter.generic.short=EAST
-Pacific/Easter.standard.short=EAST
-Pacific/Efate.daylight.short=VUST
-Pacific/Efate.generic.short=VUT
-Pacific/Efate.standard.short=VUT
-Pacific/Enderbury.daylight.short=PHOST
-Pacific/Enderbury.generic.short=PHOT
-Pacific/Enderbury.standard.short=PHOT
-Pacific/Fakaofo.daylight.short=TKST
-Pacific/Fakaofo.generic.short=TKT
-Pacific/Fakaofo.standard.short=TKT
-Pacific/Fiji.daylight.short=FJST
-Pacific/Fiji.generic.short=FJT
-Pacific/Fiji.standard.short=FJT
-Pacific/Funafuti.daylight.short=TVST
-Pacific/Funafuti.generic.short=TVT
-Pacific/Funafuti.standard.short=TVT
-Pacific/Galapagos.daylight.short=GALST
-Pacific/Galapagos.generic.short=GALT
-Pacific/Galapagos.standard.short=GALT
-Pacific/Gambier.daylight.short=GAMST
-Pacific/Gambier.generic.short=GAMT
-Pacific/Gambier.standard.short=GAMT
-Pacific/Guadalcanal.daylight.short=SBST
-Pacific/Guadalcanal.generic.short=SBT
-Pacific/Guadalcanal.standard.short=SBT
-Pacific/Guam.daylight.short=ChDT
-Pacific/Guam.generic.short=ChT
-Pacific/Guam.standard.short=ChST
-Pacific/Honolulu.daylight.short=HDT
-Pacific/Honolulu.generic.short=HT
-Pacific/Honolulu.standard.short=HST
-Pacific/Johnston.daylight.short=HDT
-Pacific/Johnston.generic.short=HT
-Pacific/Johnston.standard.short=HST
-Pacific/Kiritimati.daylight.short=LINST
-Pacific/Kiritimati.generic.short=LINT
-Pacific/Kiritimati.standard.short=LINT
-Pacific/Kosrae.daylight.short=KOSST
-Pacific/Kosrae.generic.short=KOST
-Pacific/Kosrae.standard.short=KOST
-Pacific/Kwajalein.daylight.short=MHST
-Pacific/Kwajalein.generic.short=MHT
-Pacific/Kwajalein.standard.short=MHT
-Pacific/Majuro.daylight.short=MHST
-Pacific/Majuro.generic.short=MHT
-Pacific/Majuro.standard.short=MHT
-Pacific/Marquesas.daylight.short=MARST
-Pacific/Marquesas.generic.short=MART
-Pacific/Marquesas.standard.short=MART
-Pacific/Midway.daylight.short=SDT
-Pacific/Midway.generic.short=ST
-Pacific/Midway.standard.short=SST
-Pacific/Nauru.daylight.short=NRST
-Pacific/Nauru.generic.short=NRT
-Pacific/Nauru.standard.short=NRT
-Pacific/Niue.daylight.short=NUST
-Pacific/Niue.generic.short=NUT
-Pacific/Niue.standard.short=NUT
-Pacific/Norfolk.daylight.short=NFST
-Pacific/Norfolk.generic.short=NFT
-Pacific/Norfolk.standard.short=NFT
-Pacific/Noumea.daylight.short=NCST
-Pacific/Noumea.generic.short=NCT
-Pacific/Noumea.standard.short=NCT
-Pacific/Pago_Pago.daylight.short=SDT
-Pacific/Pago_Pago.generic.short=ST
-Pacific/Pago_Pago.standard.short=SST
-Pacific/Palau.daylight.short=PWST
-Pacific/Palau.generic.short=PWT
-Pacific/Palau.standard.short=PWT
-Pacific/Pitcairn.daylight.short=PDT
-Pacific/Pitcairn.generic.short=PT
-Pacific/Pitcairn.standard.short=PST
-Pacific/Pohnpei.daylight.short=PONST
-Pacific/Pohnpei.generic.short=PONT
-Pacific/Pohnpei.standard.short=PONT
-Pacific/Ponape.daylight.short=PONST
-Pacific/Ponape.generic.short=PONT
-Pacific/Ponape.standard.short=PONT
-Pacific/Port_Moresby.daylight.short=PGST
-Pacific/Port_Moresby.generic.short=PGT
-Pacific/Port_Moresby.standard.short=PGT
-Pacific/Rarotonga.daylight.short=CKHST
-Pacific/Rarotonga.generic.short=CKT
-Pacific/Rarotonga.standard.short=CKT
-Pacific/Saipan.daylight.short=ChDT
-Pacific/Saipan.generic.short=ChT
-Pacific/Saipan.standard.short=ChST
-Pacific/Samoa.daylight.short=SDT
-Pacific/Samoa.generic.short=ST
-Pacific/Samoa.standard.short=SST
-Pacific/Tahiti.daylight.short=TAHST
-Pacific/Tahiti.generic.short=TAHT
-Pacific/Tahiti.standard.short=TAHT
-Pacific/Tarawa.daylight.short=GILST
-Pacific/Tarawa.generic.short=GILT
-Pacific/Tarawa.standard.short=GILT
-Pacific/Tongatapu.daylight.short=TOST
-Pacific/Tongatapu.generic.short=TOT
-Pacific/Tongatapu.standard.short=TOT
-Pacific/Truk.daylight.short=CHUST
-Pacific/Truk.generic.short=CHUT
-Pacific/Truk.standard.short=CHUT
-Pacific/Wake.daylight.short=WAKST
-Pacific/Wake.generic.short=WAKT
-Pacific/Wake.standard.short=WAKT
-Pacific/Wallis.daylight.short=WFST
-Pacific/Wallis.generic.short=WFT
-Pacific/Wallis.standard.short=WFT
-Pacific/Yap.daylight.short=CHUST
-Pacific/Yap.generic.short=CHUT
-Pacific/Yap.standard.short=CHUT
-PLT.daylight.short=PKST
-PLT.generic.short=PKT
-PLT.standard.short=PKT
-PNT.daylight.short=MDT
-PNT.generic.short=MT
-PNT.standard.short=MST
-Poland.daylight.short=CEST
-Poland.generic.short=CET
-Poland.standard.short=CET
-Portugal.daylight.short=WEST
-Portugal.generic.short=WET
-Portugal.standard.short=WET
-PRC.daylight.short=CDT
-PRC.generic.short=CT
-PRC.standard.short=CST
-PRT.daylight.short=ADT
-PRT.generic.short=AT
-PRT.standard.short=AST
-PST8PDT.daylight.short=PDT
-PST8PDT.generic.short=PT
-PST8PDT.standard.short=PST
-PST.daylight.short=PDT
-PST.generic.short=PT
-PST.standard.short=PST
-ROK.daylight.short=KDT
-ROK.generic.short=KT
-ROK.standard.short=KST
-Singapore.daylight.short=SGST
-Singapore.generic.short=SGT
-Singapore.standard.short=SGT
-SST.daylight.short=SBST
-SST.generic.short=SBT
-SST.standard.short=SBT
-SystemV/AST4ADT.daylight.short=ADT
-SystemV/AST4ADT.generic.short=AT
-SystemV/AST4ADT.standard.short=AST
-SystemV/AST4.daylight.short=ADT
-SystemV/AST4.generic.short=AT
-SystemV/AST4.standard.short=AST
-SystemV/CST6CDT.daylight.short=CDT
-SystemV/CST6CDT.generic.short=CT
-SystemV/CST6CDT.standard.short=CST
-SystemV/CST6.daylight.short=CDT
-SystemV/CST6.generic.short=CT
-SystemV/CST6.standard.short=CST
-SystemV/EST5.daylight.short=EDT
-SystemV/EST5EDT.daylight.short=EDT
-SystemV/EST5EDT.generic.short=ET
-SystemV/EST5EDT.standard.short=EST
-SystemV/EST5.generic.short=ET
-SystemV/EST5.standard.short=EST
-SystemV/HST10.daylight.short=HDT
-SystemV/HST10.generic.short=HT
-SystemV/HST10.standard.short=HST
-SystemV/MST7.daylight.short=MDT
-SystemV/MST7.generic.short=MT
-SystemV/MST7MDT.daylight.short=MDT
-SystemV/MST7MDT.generic.short=MT
-SystemV/MST7MDT.standard.short=MST
-SystemV/MST7.standard.short=MST
-SystemV/PST8.daylight.short=PDT
-SystemV/PST8.generic.short=PT
-SystemV/PST8PDT.daylight.short=PDT
-SystemV/PST8PDT.generic.short=PT
-SystemV/PST8PDT.standard.short=PST
-SystemV/PST8.standard.short=PST
-SystemV/YST9.daylight.short=AKDT
-SystemV/YST9.generic.short=AKT
-SystemV/YST9.standard.short=AKST
-SystemV/YST9YDT.daylight.short=AKDT
-SystemV/YST9YDT.generic.short=AKT
-SystemV/YST9YDT.standard.short=AKST
-Turkey.daylight.short=EEST
-Turkey.generic.short=EET
-Turkey.standard.short=EET
-UCT.daylight.short=UTC
-UCT.generic.short=UTC
-UCT.standard.short=UTC
-Universal.daylight.short=UTC
-Universal.generic.short=UTC
-Universal.standard.short=UTC
-US/Alaska.daylight.short=AKDT
-US/Alaska.generic.short=AKT
-US/Alaska.standard.short=AKST
-US/Aleutian.daylight.short=HADT
-US/Aleutian.generic.short=HAT
-US/Aleutian.standard.short=HAST
-US/Arizona.daylight.short=MDT
-US/Arizona.generic.short=MT
-US/Arizona.standard.short=MST
-US/Central.daylight.short=CDT
-US/Central.generic.short=CT
-US/Central.standard.short=CST
-US/Eastern.daylight.short=EDT
-US/Eastern.generic.short=ET
-US/Eastern.standard.short=EST
-US/East-Indiana.daylight.short=EDT
-US/East-Indiana.generic.short=ET
-US/East-Indiana.standard.short=EST
-US/Hawaii.daylight.short=HDT
-US/Hawaii.generic.short=HT
-US/Hawaii.standard.short=HST
-US/Indiana-Starke.daylight.short=CDT
-US/Indiana-Starke.generic.short=CT
-US/Indiana-Starke.standard.short=CST
-US/Michigan.daylight.short=EDT
-US/Michigan.generic.short=ET
-US/Michigan.standard.short=EST
-US/Mountain.daylight.short=MDT
-US/Mountain.generic.short=MT
-US/Mountain.standard.short=MST
-US/Pacific.daylight.short=PDT
-US/Pacific.generic.short=PT
-US/Pacific-New.daylight.short=PDT
-US/Pacific-New.generic.short=PT
-US/Pacific-New.standard.short=PST
-US/Pacific.standard.short=PST
-US/Samoa.daylight.short=SDT
-US/Samoa.generic.short=ST
-US/Samoa.standard.short=SST
-UTC.daylight.short=UTC
-UTC.generic.short=UTC
-UTC.standard.short=UTC
-VST.daylight.short=ICST
-VST.generic.short=ICT
-VST.standard.short=ICT
-WET.daylight.short=WEST
-WET.generic.short=WET
-WET.standard.short=WET
-W-SU.daylight.short=MSD
-W-SU.generic.short=MT
-W-SU.standard.short=MSK
-Zulu.daylight.short=UTC
-Zulu.generic.short=UTC
-Zulu.standard.short=UTC
diff --git a/jdk/test/tools/jar/UpdateManifest.java b/jdk/test/tools/jar/UpdateManifest.java
index 6489718..7a69d96 100644
--- a/jdk/test/tools/jar/UpdateManifest.java
+++ b/jdk/test/tools/jar/UpdateManifest.java
@@ -39,6 +39,8 @@
     static PrintStream err = System.err;
     static boolean debug = true;
 
+    static final Logger JAR_LOGGER = Logger.getLogger("java.util.jar");
+
     public static void realMain(String[] args) throws Throwable {
         if (args.length == 0) {
             debug = false;
@@ -47,7 +49,7 @@
             out = new PrintStream(new FileOutputStream(tmp));
             err = out;
             // Attributes.read() can log a message we don't care to see.
-            Logger.getLogger("java.util.jar").setLevel(Level.OFF);
+            JAR_LOGGER.setLevel(Level.OFF);
         }
 
         try { testManifestExistence(); } catch (Throwable t) { unexpected(t); }
diff --git a/jdk/test/tools/launcher/ChangeDataModel.java b/jdk/test/tools/launcher/ChangeDataModel.java
index 86909eb..31ee6f8 100644
--- a/jdk/test/tools/launcher/ChangeDataModel.java
+++ b/jdk/test/tools/launcher/ChangeDataModel.java
@@ -23,41 +23,43 @@
 
 /**
  * @test
- * @bug 4894330 4810347 6277269
+ * @bug 4894330 4810347 6277269 8029388
  * @compile -XDignore.symbol.file ChangeDataModel.java
  * @run main ChangeDataModel
  * @summary Verify -d32 and -d64 options are accepted(rejected) on all platforms
  * @author Joseph D. Darcy, ksrini
  */
 import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
 
 public class ChangeDataModel extends TestHelper {
     private static final File TestJar      = new File("test" + JAR_FILE_EXT);
+    private static final String OptionName = "Args";
+    private static final File TestOptionJar  = new File(OptionName + JAR_FILE_EXT);
     private static final String OPT_PREFIX = "ARCH_OPT:";
 
-    public static void main(String... args) throws Exception {
+    static void createTestJar() throws Exception {
         String[] code = {
             "   public static void main(String argv[]) {",
             "      System.out.println(\"" + OPT_PREFIX + "-d\" + System.getProperty(\"sun.arch.data.model\", \"none\"));",
-            "   }",
-        };
+            "   }",};
         createJar(TestJar, code);
+    }
+    public static void main(String... args) throws Exception {
+        createTestJar();
+        createOptionsJar();
 
-        // verify if data model flag for default data model is accepted
+        // verify if data model flag for default data model is accepted, also
+        // verify if the complimentary data model is rejected.
         if (is32Bit) {
             checkAcceptance(javaCmd, "-d32");
+            checkRejection(javaCmd, "-d64");
+            checkOption(javaCmd, "-d64");
         } else if (is64Bit) {
             checkAcceptance(javaCmd, "-d64");
-        } else {
-            throw new Error("unsupported data model");
-        }
-
-        // Negative tests: ensure that non-dual mode systems reject the
-        // complementary (other) data model
-        if (is32Bit) {
-            checkRejection(javaCmd, "-d64");
-        } else if (is64Bit) {
             checkRejection(javaCmd, "-d32");
+            checkOption(javaCmd, "-d32");
         } else {
             throw new Error("unsupported data model");
         }
@@ -81,4 +83,44 @@
             throw new RuntimeException(message);
         }
     }
+
+    static void checkOption(String cmd, String dmodel) throws Exception {
+        TestResult tr = doExec(cmd, "-jar", TestOptionJar.getAbsolutePath(), dmodel);
+        verifyOption(tr, dmodel);
+
+        tr = doExec(cmd, "-cp", ".", OptionName, dmodel);
+        verifyOption(tr, dmodel);
+    }
+
+    static void verifyOption(TestResult tr, String dmodel) {
+        if (!tr.contains(OPT_PREFIX + dmodel)) {
+            System.out.println(tr);
+            String message = "app argument: " + dmodel + " not found.";
+            throw new RuntimeException(message);
+        }
+        if (!tr.isOK()) {
+            System.out.println(tr);
+            String message = "app argument: " + dmodel + " interpreted ?";
+            throw new RuntimeException(message);
+        }
+    }
+
+    static void createOptionsJar() throws Exception {
+        List<String> code = new ArrayList<>();
+        code.add("public class Args {");
+        code.add("   public static void main(String argv[]) {");
+        code.add("       for (String x : argv)");
+        code.add("           System.out.println(\"" + OPT_PREFIX + "\" + x);");
+        code.add("   }");
+        code.add("}");
+        File optionsJava  = new File(OptionName + JAVA_FILE_EXT);
+        createFile(optionsJava, code);
+        File optionsClass = new File(OptionName + CLASS_FILE_EXT);
+
+        compile(optionsJava.getName());
+        createJar("cvfe",
+                  TestOptionJar.getName(),
+                  OptionName,
+                  optionsClass.getName());
+    }
 }
diff --git a/jdk/test/tools/launcher/VersionCheck.java b/jdk/test/tools/launcher/VersionCheck.java
index f43c210..a31ba57 100644
--- a/jdk/test/tools/launcher/VersionCheck.java
+++ b/jdk/test/tools/launcher/VersionCheck.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug 6545058 6611182
+ * @bug 6545058 6611182 8016209
  * @summary validate and test -version, -fullversion, and internal, as well as
  *          sanity checks if a tool can be launched.
  * @compile VersionCheck.java
diff --git a/jdk/test/tools/pack200/PackTestZip64.java b/jdk/test/tools/pack200/PackTestZip64.java
new file mode 100644
index 0000000..edfeb5a
--- /dev/null
+++ b/jdk/test/tools/pack200/PackTestZip64.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2014, 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 java.io.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.JarInputStream;
+import java.util.jar.JarOutputStream;
+import java.util.zip.ZipEntry;
+/*
+ * @test
+ * @bug 8029646
+ * @summary tests that native unpacker produces the same result as Java one
+ * @compile -XDignore.symbol.file Utils.java PackTestZip64.java
+ * @run main PackTestZip64
+ * @author kizune
+ */
+
+public class PackTestZip64 {
+    public static void main(String... args) throws Exception {
+        testPacking();
+        Utils.cleanup();
+    }
+
+    // 1KB buffer is enough to copy jar content
+    private static final byte[] BUFFER = new byte[1024];
+
+    static void testPacking() throws IOException {
+        // make a copy of the test specimen to local directory
+        File testFile = new File("tools_java.jar");
+        // Add a large number of small files to the golden jar
+        generateLargeJar(testFile, Utils.locateJar("golden.jar"));
+
+        List<String> cmdsList = new ArrayList<>();
+
+        // Repack file to get the Java-based result
+        cmdsList.add(Utils.getPack200Cmd());
+        cmdsList.add("--repack");
+        cmdsList.add(testFile.getName());
+        Utils.runExec(cmdsList);
+        cmdsList.clear();
+
+        // Pack file with pack200 and unpack in with unpack200
+        File packedFile = new File("tools.pack.gz");
+        cmdsList.add(Utils.getPack200Cmd());
+        cmdsList.add(packedFile.getName());
+        cmdsList.add(testFile.getName());
+        Utils.runExec(cmdsList);
+        cmdsList.clear();
+
+        File unpackedFile = new File("tools_native.jar");
+        cmdsList.add(Utils.getUnpack200Cmd());
+        cmdsList.add(packedFile.getName());
+        cmdsList.add(unpackedFile.getName());
+        Utils.runExec(cmdsList);
+
+        // Compare files binary
+        compareTwoFiles(testFile, unpackedFile);
+
+        // Cleaning up generated files
+        testFile.delete();
+        packedFile.delete();
+        unpackedFile.delete();
+    }
+
+    static void compareTwoFiles(File src, File dst) throws IOException {
+        if (!src.exists()) {
+            throw new IOException("File " + src.getName() + " does not exist!");
+        }
+
+        if(!dst.exists()) {
+            throw new IOException("File " + dst.getName() + " does not exist!");
+        }
+
+        BufferedInputStream srcis, dstis;
+        srcis = new BufferedInputStream(new FileInputStream(src));
+        dstis = new BufferedInputStream(new FileInputStream(dst));
+
+        int s = 0, d, pos = 0;
+        while (s != -1) { // Checking of just one result for EOF is enough
+            s = srcis.read();
+            d = dstis.read();
+
+            if (s != d) {
+                throw new IOException("Files are differ starting at position: "
+                + Integer.toHexString(pos));
+            }
+
+            pos++;
+        }
+
+        srcis.close();
+        dstis.close();
+    }
+
+    static void generateLargeJar(File result, File source) throws IOException {
+        if (result.exists()) {
+            result.delete();
+        }
+
+        try (JarOutputStream copyTo = new JarOutputStream(new FileOutputStream(result));
+             JarFile srcJar = new JarFile(source)) {
+
+            for (JarEntry je : Collections.list(srcJar.entries())) {
+                copyTo.putNextEntry(je);
+                if (!je.isDirectory()) {
+                    copyStream(srcJar.getInputStream(je), copyTo);
+                }
+                copyTo.closeEntry();
+            }
+
+            int many = Short.MAX_VALUE * 2 + 2;
+
+            for (int i = 0 ; i < many ; i++) {
+                JarEntry e = new JarEntry("F-" + i + ".txt");
+                copyTo.putNextEntry(e);
+            }
+            copyTo.flush();
+            copyTo.close();
+        }
+    }
+
+    static void copyStream(InputStream in, OutputStream out) throws IOException {
+        int bytesRead;
+        while ((bytesRead = in.read(BUFFER))!= -1) {
+            out.write(BUFFER, 0, bytesRead);
+        }
+    }
+}
diff --git a/langtools/.hgtags b/langtools/.hgtags
index cb36a6e..1570b80 100644
--- a/langtools/.hgtags
+++ b/langtools/.hgtags
@@ -245,9 +245,14 @@
 afe63d41c699e0e2ee910ef20c41b60603c852a1 jdk8-b121
 232b9cf6303aaf451c7000c5f93dfea842e9e9ae jdk8-b122
 a345cf28faca8cc49a28241a0a197fd520d25beb jdk8-b123
+d5aab8300d3b51e8043ab5fe5832ef6c6cbb5552 jdk8u20-b00
 436176151e85455e74cd1441a2ba96e791c56785 jdk8-b124
+79dc4b992c0a385c1364592801781b747b85c6ca jdk8u20-b01
 436176151e85455e74cd1441a2ba96e791c56785 jdk8-b125
 ba24b63043626003929927f091e8b84190f39261 jdk8-b126
 bb69217ed81202b1a490dc7150dc7cd073689341 jdk8-b127
 09cdd3b493c0d13dc32206e5f12bb1a2f7465687 jdk8-b128
 8fe7202d3c38784f3f14368e3954fc4e0394afa4 jdk8-b129
+26b33a6ea08810853af37e81c9b435465b289c98 jdk8u20-b02
+a07271bca831cf1bab35a2ffbcebd8e060b2734b jdk8u20-b03
+613c1d9930c9f650e3fc6926215931a85b679c66 jdk8u20-b04
diff --git a/langtools/.jcheck/conf b/langtools/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/langtools/.jcheck/conf
+++ b/langtools/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup
diff --git a/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java b/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java
index dc4fc9d..4271961 100644
--- a/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java
+++ b/langtools/src/share/classes/com/sun/tools/classfile/Attribute.java
@@ -71,10 +71,6 @@
             // defer init of standardAttributeClasses until after options set up
         }
 
-        public void setCompat(boolean compat) {
-            this.compat = compat;
-        }
-
         public Attribute createAttribute(ClassReader cr, int name_index, byte[] data)
                 throws IOException {
             if (standardAttributes == null) {
@@ -109,9 +105,10 @@
         protected void init() {
             standardAttributes = new HashMap<String,Class<? extends Attribute>>();
             standardAttributes.put(AnnotationDefault, AnnotationDefault_attribute.class);
-            standardAttributes.put(BootstrapMethods, BootstrapMethods_attribute.class);
+            standardAttributes.put(BootstrapMethods,  BootstrapMethods_attribute.class);
             standardAttributes.put(CharacterRangeTable, CharacterRangeTable_attribute.class);
             standardAttributes.put(Code,              Code_attribute.class);
+            standardAttributes.put(CompilationID,     CompilationID_attribute.class);
             standardAttributes.put(ConstantValue,     ConstantValue_attribute.class);
             standardAttributes.put(Deprecated,        Deprecated_attribute.class);
             standardAttributes.put(EnclosingMethod,   EnclosingMethod_attribute.class);
@@ -120,29 +117,23 @@
             standardAttributes.put(LineNumberTable,   LineNumberTable_attribute.class);
             standardAttributes.put(LocalVariableTable, LocalVariableTable_attribute.class);
             standardAttributes.put(LocalVariableTypeTable, LocalVariableTypeTable_attribute.class);
-
-            if (!compat) { // old javap does not recognize recent attributes
-                standardAttributes.put(MethodParameters, MethodParameters_attribute.class);
-                standardAttributes.put(CompilationID, CompilationID_attribute.class);
-                standardAttributes.put(RuntimeInvisibleAnnotations, RuntimeInvisibleAnnotations_attribute.class);
-                standardAttributes.put(RuntimeInvisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations_attribute.class);
-                standardAttributes.put(RuntimeVisibleAnnotations, RuntimeVisibleAnnotations_attribute.class);
-                standardAttributes.put(RuntimeVisibleParameterAnnotations, RuntimeVisibleParameterAnnotations_attribute.class);
-                standardAttributes.put(RuntimeVisibleTypeAnnotations, RuntimeVisibleTypeAnnotations_attribute.class);
-                standardAttributes.put(RuntimeInvisibleTypeAnnotations, RuntimeInvisibleTypeAnnotations_attribute.class);
-                standardAttributes.put(Signature,     Signature_attribute.class);
-                standardAttributes.put(SourceID, SourceID_attribute.class);
-            }
-
+            standardAttributes.put(MethodParameters,  MethodParameters_attribute.class);
+            standardAttributes.put(RuntimeInvisibleAnnotations, RuntimeInvisibleAnnotations_attribute.class);
+            standardAttributes.put(RuntimeInvisibleParameterAnnotations, RuntimeInvisibleParameterAnnotations_attribute.class);
+            standardAttributes.put(RuntimeVisibleAnnotations, RuntimeVisibleAnnotations_attribute.class);
+            standardAttributes.put(RuntimeVisibleParameterAnnotations, RuntimeVisibleParameterAnnotations_attribute.class);
+            standardAttributes.put(RuntimeVisibleTypeAnnotations, RuntimeVisibleTypeAnnotations_attribute.class);
+            standardAttributes.put(RuntimeInvisibleTypeAnnotations, RuntimeInvisibleTypeAnnotations_attribute.class);
+            standardAttributes.put(Signature,         Signature_attribute.class);
             standardAttributes.put(SourceDebugExtension, SourceDebugExtension_attribute.class);
             standardAttributes.put(SourceFile,        SourceFile_attribute.class);
+            standardAttributes.put(SourceID,          SourceID_attribute.class);
             standardAttributes.put(StackMap,          StackMap_attribute.class);
             standardAttributes.put(StackMapTable,     StackMapTable_attribute.class);
             standardAttributes.put(Synthetic,         Synthetic_attribute.class);
         }
 
         private Map<String,Class<? extends Attribute>> standardAttributes;
-        private boolean compat; // don't support recent attrs in compatibility mode
     }
 
     public static Attribute read(ClassReader cr) throws IOException {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
index fffa266..cbabdd3 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, 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
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
index 56b6a16..e1acb12 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -84,7 +84,6 @@
     final boolean allowBoxing;
     final boolean allowCovariantReturns;
     final boolean allowObjectToPrimitiveCast;
-    final boolean allowDefaultMethods;
     final ClassReader reader;
     final Check chk;
     final Enter enter;
@@ -111,7 +110,6 @@
         allowBoxing = source.allowBoxing();
         allowCovariantReturns = source.allowCovariantReturns();
         allowObjectToPrimitiveCast = source.allowObjectToPrimitiveCast();
-        allowDefaultMethods = source.allowDefaultMethods();
         reader = ClassReader.instance(context);
         chk = Check.instance(context);
         enter = Enter.instance(context);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
index e720f9f..d6340f3 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -4653,10 +4653,19 @@
 
         private void initTypeIfNeeded(JCTree that) {
             if (that.type == null) {
-                that.type = syms.unknownType;
+                if (that.hasTag(METHODDEF)) {
+                    that.type = dummyMethodType();
+                } else {
+                    that.type = syms.unknownType;
+                }
             }
         }
 
+        private Type dummyMethodType() {
+            return new MethodType(List.<Type>nil(), syms.unknownType,
+                            List.<Type>nil(), syms.methodClass);
+        }
+
         @Override
         public void scan(JCTree tree) {
             if (tree == null) return;
@@ -4712,7 +4721,8 @@
         @Override
         public void visitNewClass(JCNewClass that) {
             if (that.constructor == null) {
-                that.constructor = new MethodSymbol(0, names.init, syms.unknownType, syms.noSymbol);
+                that.constructor = new MethodSymbol(0, names.init,
+                        dummyMethodType(), syms.noSymbol);
             }
             if (that.constructorType == null) {
                 that.constructorType = syms.unknownType;
@@ -4722,22 +4732,28 @@
 
         @Override
         public void visitAssignop(JCAssignOp that) {
-            if (that.operator == null)
-                that.operator = new OperatorSymbol(names.empty, syms.unknownType, -1, syms.noSymbol);
+            if (that.operator == null) {
+                that.operator = new OperatorSymbol(names.empty, dummyMethodType(),
+                        -1, syms.noSymbol);
+            }
             super.visitAssignop(that);
         }
 
         @Override
         public void visitBinary(JCBinary that) {
-            if (that.operator == null)
-                that.operator = new OperatorSymbol(names.empty, syms.unknownType, -1, syms.noSymbol);
+            if (that.operator == null) {
+                that.operator = new OperatorSymbol(names.empty, dummyMethodType(),
+                        -1, syms.noSymbol);
+            }
             super.visitBinary(that);
         }
 
         @Override
         public void visitUnary(JCUnary that) {
-            if (that.operator == null)
-                that.operator = new OperatorSymbol(names.empty, syms.unknownType, -1, syms.noSymbol);
+            if (that.operator == null) {
+                that.operator = new OperatorSymbol(names.empty, dummyMethodType(),
+                        -1, syms.noSymbol);
+            }
             super.visitUnary(that);
         }
 
@@ -4753,7 +4769,8 @@
         public void visitReference(JCMemberReference that) {
             super.visitReference(that);
             if (that.sym == null) {
-                that.sym = new MethodSymbol(0, names.empty, syms.unknownType, syms.noSymbol);
+                that.sym = new MethodSymbol(0, names.empty, dummyMethodType(),
+                        syms.noSymbol);
             }
             if (that.targets == null) {
                 that.targets = List.nil();
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
index eb69735..9ae4fce 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -2779,7 +2779,7 @@
         validateDocumented(t.tsym, s, pos);
         validateInherited(t.tsym, s, pos);
         validateTarget(t.tsym, s, pos);
-        validateDefault(t.tsym, s, pos);
+        validateDefault(t.tsym, pos);
     }
 
     private void validateValue(TypeSymbol container, TypeSymbol contained, DiagnosticPosition pos) {
@@ -2898,7 +2898,9 @@
 
 
     /** Checks that s is a subset of t, with respect to ElementType
-     * semantics, specifically {ANNOTATION_TYPE} is a subset of {TYPE}
+     * semantics, specifically {ANNOTATION_TYPE} is a subset of {TYPE},
+     * and {TYPE_USE} covers the set {ANNOTATION_TYPE, TYPE, TYPE_USE,
+     * TYPE_PARAMETER}.
      */
     private boolean isTargetSubsetOf(Set<Name> s, Set<Name> t) {
         // Check that all elements in s are present in t
@@ -2911,6 +2913,12 @@
                 } else if (n1 == names.TYPE && n2 == names.ANNOTATION_TYPE) {
                     currentElementOk = true;
                     break;
+                } else if (n1 == names.TYPE_USE &&
+                        (n2 == names.TYPE ||
+                         n2 == names.ANNOTATION_TYPE ||
+                         n2 == names.TYPE_PARAMETER)) {
+                    currentElementOk = true;
+                    break;
                 }
             }
             if (!currentElementOk)
@@ -2919,7 +2927,7 @@
         return true;
     }
 
-    private void validateDefault(Symbol container, Symbol contained, DiagnosticPosition pos) {
+    private void validateDefault(Symbol container, DiagnosticPosition pos) {
         // validate that all other elements of containing type has defaults
         Scope scope = container.members();
         for(Symbol elm : scope.getElements()) {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java
index 0c1b2d2..aa528a4 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -1461,9 +1461,19 @@
             this.names = names;
         }
 
+        private boolean isInitialConstructor = false;
+
         @Override
         protected void markDead(JCTree tree) {
-            inits.inclRange(returnadr, nextadr);
+            if (!isInitialConstructor) {
+                inits.inclRange(returnadr, nextadr);
+            } else {
+                for (int address = returnadr; address < nextadr; address++) {
+                    if (!(isFinalUninitializedStaticField(vardecls[address].sym))) {
+                        inits.incl(address);
+                    }
+                }
+            }
             uninits.inclRange(returnadr, nextadr);
         }
 
@@ -1476,8 +1486,17 @@
             return
                 sym.pos >= startPos &&
                 ((sym.owner.kind == MTH ||
-                 ((sym.flags() & (FINAL | HASINIT | PARAMETER)) == FINAL &&
-                  classDef.sym.isEnclosedBy((ClassSymbol)sym.owner))));
+                isFinalUninitializedField(sym)));
+        }
+
+        boolean isFinalUninitializedField(VarSymbol sym) {
+            return sym.owner.kind == TYP &&
+                   ((sym.flags() & (FINAL | HASINIT | PARAMETER)) == FINAL &&
+                   classDef.sym.isEnclosedBy((ClassSymbol)sym.owner));
+        }
+
+        boolean isFinalUninitializedStaticField(VarSymbol sym) {
+            return isFinalUninitializedField(sym) && sym.isStatic();
         }
 
         /** Initialize new trackable variable by setting its address field
@@ -1731,10 +1750,9 @@
             int returnadrPrev = returnadr;
 
             Assert.check(pendingExits.isEmpty());
-
+            boolean lastInitialConstructor = isInitialConstructor;
             try {
-                boolean isInitialConstructor =
-                    TreeInfo.isInitialConstructor(tree);
+                isInitialConstructor = TreeInfo.isInitialConstructor(tree);
 
                 if (!isInitialConstructor) {
                     firstadr = nextadr;
@@ -1789,6 +1807,7 @@
                 nextadr = nextadrPrev;
                 firstadr = firstadrPrev;
                 returnadr = returnadrPrev;
+                isInitialConstructor = lastInitialConstructor;
             }
         }
 
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java b/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
index 8aa6f51..242a591 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -96,6 +96,9 @@
     /** dump statistics about lambda code generation */
     private boolean dumpLambdaToMethodStats;
 
+    /** force serializable representation, for stress testing **/
+    private final boolean forceSerializable;
+
     /** Flag for alternate metafactories indicating the lambda object is intended to be serializable */
     public static final int FLAG_SERIALIZABLE = 1 << 0;
 
@@ -131,6 +134,7 @@
         Options options = Options.instance(context);
         dumpLambdaToMethodStats = options.isSet("dumpLambdaToMethodStats");
         attr = Attr.instance(context);
+        forceSerializable = options.isSet("forceSerializable");
     }
     // </editor-fold>
 
@@ -1694,6 +1698,9 @@
 
             /** does this functional expression require serialization support? */
             boolean isSerializable() {
+                if (forceSerializable) {
+                    return true;
+                }
                 for (Type target : tree.targets) {
                     if (types.asSuper(target, syms.serializableType.tsym) != null) {
                         return true;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
index 2c86ce4..ea11419 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -92,10 +92,9 @@
     TreeInfo treeinfo;
     Types types;
     JCDiagnostic.Factory diags;
-    public final boolean boxingEnabled; // = source.allowBoxing();
-    public final boolean varargsEnabled; // = source.allowVarargs();
+    public final boolean boxingEnabled;
+    public final boolean varargsEnabled;
     public final boolean allowMethodHandles;
-    public final boolean allowDefaultMethods;
     public final boolean allowStructuralMostSpecific;
     private final boolean debugResolve;
     private final boolean compactMethodDiags;
@@ -137,7 +136,6 @@
         verboseResolutionMode = VerboseResolutionMode.getVerboseResolutionMode(options);
         Target target = Target.instance(context);
         allowMethodHandles = target.hasMethodHandles();
-        allowDefaultMethods = source.allowDefaultMethods();
         allowStructuralMostSpecific = source.allowStructuralMostSpecific();
         polymorphicSignatureScope = new Scope(syms.noSymbol);
 
@@ -1681,7 +1679,6 @@
                 bestSoFar : methodNotFound;
 
         for (InterfaceLookupPhase iphase2 : InterfaceLookupPhase.values()) {
-            if (iphase2 == InterfaceLookupPhase.DEFAULT_OK && !allowDefaultMethods) break;
             //keep searching for abstract methods
             for (Type itype : itypes[iphase2.ordinal()]) {
                 if (!itype.isInterface()) continue; //skip j.l.Object (included by Types.closure())
@@ -1714,10 +1711,8 @@
                 //from superinterfaces)
                 if ((s.flags() & (ABSTRACT | INTERFACE | ENUM)) != 0) {
                     return this;
-                } else if (rs.allowDefaultMethods) {
-                    return DEFAULT_OK;
                 } else {
-                    return null;
+                    return DEFAULT_OK;
                 }
             }
         },
@@ -3341,9 +3336,9 @@
             if ((env1.enclClass.sym.flags() & STATIC) != 0) staticOnly = true;
             env1 = env1.outer;
         }
-        if (allowDefaultMethods && c.isInterface() &&
-                name == names._super && !isStatic(env) &&
-                types.isDirectSuperInterface(c, env.enclClass.sym)) {
+        if (c.isInterface() &&
+            name == names._super && !isStatic(env) &&
+            types.isDirectSuperInterface(c, env.enclClass.sym)) {
             //this might be a default super call if one of the superinterfaces is 'c'
             for (Type t : pruneInterfaces(env.enclClass.type)) {
                 if (t.tsym == c) {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
index 8dcf059..d044482 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -116,10 +116,6 @@
      */
     boolean lintClassfile;
 
-    /** Switch: allow default methods
-     */
-    boolean allowDefaultMethods;
-
     /** Switch: preserve parameter names from the variable table.
      */
     public boolean saveParameterNames;
@@ -307,7 +303,6 @@
         allowVarargs     = source.allowVarargs();
         allowAnnotations = source.allowAnnotations();
         allowSimplifiedVarargs = source.allowSimplifiedVarargs();
-        allowDefaultMethods = source.allowDefaultMethods();
 
         saveParameterNames = options.isSet("save-parameter-names");
         cacheCompletionFailure = options.isUnset("dev");
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java b/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
index b96c7c3..92c7120 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -1172,8 +1172,10 @@
                             DCText string = quotedString();
                             if (string != null) {
                                 skipWhitespace();
-                                if (ch == '@')
+                                if (ch == '@'
+                                        || ch == EOI && bp == buf.length - 1) {
                                     return m.at(pos).See(List.<DCTree>of(string));
+                                }
                             }
                             break;
 
diff --git a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
index b4b3856..3853ac0 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -26,11 +26,8 @@
 package com.sun.tools.javac.processing;
 
 import java.lang.annotation.Annotation;
-import com.sun.tools.javac.tree.JCTree.*;
 import javax.annotation.processing.*;
 import javax.lang.model.element.*;
-import javax.lang.model.type.DeclaredType;
-import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.*;
 import java.util.*;
 
@@ -114,58 +111,48 @@
      */
     public Set<? extends Element> getElementsAnnotatedWith(TypeElement a) {
         Set<Element> result = Collections.emptySet();
-        Types typeUtil = processingEnv.getTypeUtils();
         if (a.getKind() != ElementKind.ANNOTATION_TYPE)
             throw new IllegalArgumentException(NOT_AN_ANNOTATION_TYPE + a);
 
-        DeclaredType annotationTypeElement;
-        TypeMirror tm = a.asType();
-        if ( tm instanceof DeclaredType )
-            annotationTypeElement = (DeclaredType) a.asType();
-        else
-            throw new AssertionError("Bad implementation type for " + tm);
-
-        ElementScanner8<Set<Element>, DeclaredType> scanner =
-            new AnnotationSetScanner(result, typeUtil);
+        ElementScanner8<Set<Element>, TypeElement> scanner =
+            new AnnotationSetScanner(result);
 
         for (Element element : rootElements)
-            result = scanner.scan(element, annotationTypeElement);
+            result = scanner.scan(element, a);
 
         return result;
     }
 
     // Could be written as a local class inside getElementsAnnotatedWith
     private class AnnotationSetScanner extends
-        ElementScanner8<Set<Element>, DeclaredType> {
+        ElementScanner8<Set<Element>, TypeElement> {
         // Insertion-order preserving set
         Set<Element> annotatedElements = new LinkedHashSet<Element>();
-        Types typeUtil;
 
-        AnnotationSetScanner(Set<Element> defaultSet, Types typeUtil) {
+        AnnotationSetScanner(Set<Element> defaultSet) {
             super(defaultSet);
-            this.typeUtil = typeUtil;
         }
 
         @Override
-        public Set<Element> visitType(TypeElement e, DeclaredType p) {
+        public Set<Element> visitType(TypeElement e, TypeElement p) {
             // Type parameters are not considered to be enclosed by a type
             scan(e.getTypeParameters(), p);
             return scan(e.getEnclosedElements(), p);
         }
 
         @Override
-        public Set<Element> visitExecutable(ExecutableElement e, DeclaredType p) {
+        public Set<Element> visitExecutable(ExecutableElement e, TypeElement p) {
             // Type parameters are not considered to be enclosed by an executable
             scan(e.getTypeParameters(), p);
             return scan(e.getEnclosedElements(), p);
         }
 
         @Override
-        public Set<Element> scan(Element e, DeclaredType p) {
+        public Set<Element> scan(Element e, TypeElement p) {
             java.util.List<? extends AnnotationMirror> annotationMirrors =
                 processingEnv.getElementUtils().getAllAnnotationMirrors(e);
             for (AnnotationMirror annotationMirror : annotationMirrors) {
-                if (typeUtil.isSameType(annotationMirror.getAnnotationType(), p))
+                if (p.equals(annotationMirror.getAnnotationType().asElement()))
                     annotatedElements.add(e);
             }
             e.accept(this, p);
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
index f30251a..b2e247a 100644
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -30,6 +30,7 @@
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import javax.tools.JavaFileManager.Location;
@@ -238,10 +239,13 @@
             files = lb.toList();
         }
 
+        Set<JavaFileObject> ufiles = new HashSet<>();
         for (JavaFileObject fo : files) {
-            // messager.notice("main.Loading_source_file", fn);
-            trees.append(parse(fo));
-            hasFiles = true;
+            if (ufiles.add(fo)) { // ignore duplicates
+                // messager.notice("main.Loading_source_file", fn);
+                trees.append(parse(fo));
+                hasFiles = true;
+            }
         }
 
         if (!hasFiles) {
diff --git a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java b/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
index 02795a5..33fcae7 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
@@ -226,10 +226,7 @@
     }
 
     public Void visitConstantValue(ConstantValue_attribute attr, Void ignore) {
-        if (options.compat) // BUG 6622216 javap names some attributes incorrectly
-            print("Constant value: ");
-        else
-            print("ConstantValue: ");
+        print("ConstantValue: ");
         constantWriter.write(attr.constantvalue_index);
         println();
         return null;
@@ -290,20 +287,10 @@
 
     public Void visitInnerClasses(InnerClasses_attribute attr, Void ignore) {
         boolean first = true;
-        if (options.compat) {
-            writeInnerClassHeader();
-            first = false;
-        }
         for (int i = 0 ; i < attr.classes.length; i++) {
             InnerClasses_attribute.Info info = attr.classes[i];
             //access
             AccessFlags access_flags = info.inner_class_access_flags;
-            if (options.compat) {
-                // BUG 6622215: javap ignores certain relevant access flags
-                access_flags = access_flags.ignore(ACC_STATIC | ACC_PROTECTED | ACC_PRIVATE | ACC_INTERFACE | ACC_SYNTHETIC | ACC_ENUM);
-                // BUG 6622232: javap gets whitespace confused
-                print("   ");
-            }
             if (options.checkAccess(access_flags)) {
                 if (first) {
                     writeInnerClassHeader();
@@ -345,11 +332,7 @@
     }
 
     private void writeInnerClassHeader() {
-        if (options.compat) // BUG 6622216: javap names some attributes incorrectly
-            print("InnerClass");
-        else
-            print("InnerClasses");
-        println(":");
+        println("InnerClasses:");
         indent(+1);
     }
 
@@ -547,7 +530,6 @@
         for (StackMapTable_attribute.stack_map_frame entry : attr.entries) {
             w.write(entry);
         }
-        println();
         indent(-1);
         return null;
     }
@@ -559,7 +541,6 @@
         for (StackMapTable_attribute.stack_map_frame entry : attr.entries) {
             w.write(entry);
         }
-        println();
         indent(-1);
         return null;
     }
@@ -571,14 +552,12 @@
         }
 
         public Void visit_same_frame(StackMapTable_attribute.same_frame frame, Void p) {
-            printHeader(frame);
-            println(" /* same */");
+            printHeader(frame, "/* same */");
             return null;
         }
 
         public Void visit_same_locals_1_stack_item_frame(StackMapTable_attribute.same_locals_1_stack_item_frame frame, Void p) {
-            printHeader(frame);
-            println(" /* same_locals_1_stack_item */");
+            printHeader(frame, "/* same_locals_1_stack_item */");
             indent(+1);
             printMap("stack", frame.stack);
             indent(-1);
@@ -586,8 +565,7 @@
         }
 
         public Void visit_same_locals_1_stack_item_frame_extended(StackMapTable_attribute.same_locals_1_stack_item_frame_extended frame, Void p) {
-            printHeader(frame);
-            println(" /* same_locals_1_stack_item_frame_extended */");
+            printHeader(frame, "/* same_locals_1_stack_item_frame_extended */");
             indent(+1);
             println("offset_delta = " + frame.offset_delta);
             printMap("stack", frame.stack);
@@ -596,8 +574,7 @@
         }
 
         public Void visit_chop_frame(StackMapTable_attribute.chop_frame frame, Void p) {
-            printHeader(frame);
-            println(" /* chop */");
+            printHeader(frame, "/* chop */");
             indent(+1);
             println("offset_delta = " + frame.offset_delta);
             indent(-1);
@@ -605,8 +582,7 @@
         }
 
         public Void visit_same_frame_extended(StackMapTable_attribute.same_frame_extended frame, Void p) {
-            printHeader(frame);
-            println(" /* same_frame_extended */");
+            printHeader(frame, "/* same_frame_extended */");
             indent(+1);
             println("offset_delta = " + frame.offset_delta);
             indent(-1);
@@ -614,21 +590,20 @@
         }
 
         public Void visit_append_frame(StackMapTable_attribute.append_frame frame, Void p) {
-            printHeader(frame);
-            println(" /* append */");
+            printHeader(frame, "/* append */");
             indent(+1);
             println("offset_delta = " + frame.offset_delta);
             printMap("locals", frame.locals);
+            indent(-1);
             return null;
         }
 
         public Void visit_full_frame(StackMapTable_attribute.full_frame frame, Void p) {
-            printHeader(frame);
             if (frame instanceof StackMap_attribute.stack_map_frame) {
+                printHeader(frame, "offset = " + frame.offset_delta);
                 indent(+1);
-                println(" offset = " + frame.offset_delta);
             } else {
-                println(" /* full_frame */");
+                printHeader(frame, "/* full_frame */");
                 indent(+1);
                 println("offset_delta = " + frame.offset_delta);
             }
@@ -638,8 +613,9 @@
             return null;
         }
 
-        void printHeader(StackMapTable_attribute.stack_map_frame frame) {
-            print("   frame_type = " + frame.frame_type);
+        void printHeader(StackMapTable_attribute.stack_map_frame frame, String extra) {
+            print("frame_type = " + frame.frame_type + " ");
+            println(extra);
         }
 
         void printMap(String name, StackMapTable_attribute.verification_type_info[] map) {
@@ -710,10 +686,7 @@
     }
 
     String toHex(byte b, int w) {
-        if (options.compat) // BUG 6622260: javap prints negative bytes incorrectly in hex
-            return toHex((int) b, w);
-        else
-            return toHex(b & 0xff, w);
+        return toHex(b & 0xff, w);
     }
 
     static String toHex(int i) {
diff --git a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java b/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
index 4c2d920..39a3c75 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
@@ -151,12 +151,22 @@
             for (int i = 0; i < s.length(); i++) {
                 char c = s.charAt(i);
                 switch (c) {
+                    case ' ':
+                        pendingSpaces++;
+                        break;
+
                     case '\n':
                         println();
                         break;
+
                     default:
                         if (buffer.length() == 0)
                             indent();
+                        if (pendingSpaces > 0) {
+                            for (int sp = 0; sp < pendingSpaces; sp++)
+                                buffer.append(' ');
+                            pendingSpaces = 0;
+                        }
                         buffer.append(c);
                 }
             }
@@ -164,6 +174,8 @@
         }
 
         protected void println() {
+            // ignore/discard pending spaces
+            pendingSpaces = 0;
             out.println(buffer);
             buffer.setLength(0);
         }
@@ -173,26 +185,21 @@
         }
 
         protected void tab() {
-            if (buffer.length() == 0)
-                indent();
-            space(indentCount * indentWidth + tabColumn - buffer.length());
+            int col = indentCount * indentWidth + tabColumn;
+            pendingSpaces += (col <= buffer.length() ? 1 : col - buffer.length());
         }
 
         private void indent() {
-            space(indentCount * indentWidth);
+            pendingSpaces += (indentCount * indentWidth);
         }
 
-        private void space(int n) {
-            for (int i = 0; i < n; i++)
-                buffer.append(' ');
-        }
-
-        private PrintWriter out;
-        private StringBuilder buffer;
+        private final PrintWriter out;
+        private final StringBuilder buffer;
         private int indentCount;
-        private int indentWidth;
-        private int tabColumn;
+        private final int indentWidth;
+        private final int tabColumn;
         private boolean pendingNewline;
+        private int pendingSpaces;
     }
 }
 
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java b/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java
index 02fec47..83b8ba8 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/ClassWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -120,7 +120,7 @@
     public void write(ClassFile cf) {
         setClassFile(cf);
 
-        if ((options.sysInfo || options.verbose) && !options.compat) {
+        if (options.sysInfo || options.verbose) {
             if (uri != null) {
                 if (uri.getScheme().equals("file"))
                     println("Classfile " + uri.getPath());
@@ -152,7 +152,7 @@
             println("Compiled from \"" + getSourceFile((SourceFile_attribute) sfa) + "\"");
         }
 
-        if ((options.sysInfo || options.verbose) && !options.compat) {
+        if (options.sysInfo || options.verbose) {
             indent(-1);
         }
 
@@ -205,8 +205,7 @@
             attrWriter.write(cf, cf.attributes, constant_pool);
             println("minor version: " + cf.minor_version);
             println("major version: " + cf.major_version);
-            if (!options.compat)
-              writeList("flags: ", flags.getClassFlags(), "\n");
+            writeList("flags: ", flags.getClassFlags(), "\n");
             indent(-1);
             constantWriter.writeConstantPool();
         } else {
@@ -372,7 +371,7 @@
         }
         print(" ");
         print(getFieldName(f));
-        if (options.showConstants && !options.compat) { // BUG 4111861 print static final field contents
+        if (options.showConstants) {
             Attribute a = f.attributes.get(Attribute.ConstantValue);
             if (a instanceof ConstantValue_attribute) {
                 print(" = ");
@@ -385,21 +384,23 @@
 
         indent(+1);
 
+        boolean showBlank = false;
+
         if (options.showDescriptors)
             println("descriptor: " + getValue(f.descriptor));
 
-        if (options.verbose && !options.compat)
+        if (options.verbose)
             writeList("flags: ", flags.getFieldFlags(), "\n");
 
         if (options.showAllAttrs) {
             for (Attribute attr: f.attributes)
                 attrWriter.write(f, attr, constant_pool);
-            println();
+            showBlank = true;
         }
 
         indent(-1);
 
-        if (options.showDisassembled || options.showLineAndLocalVariableTables)
+        if (showBlank || options.showDisassembled || options.showLineAndLocalVariableTables)
             println();
     }
 
@@ -485,7 +486,7 @@
             println("descriptor: " + getValue(m.descriptor));
         }
 
-        if (options.verbose && !options.compat) {
+        if (options.verbose) {
             writeList("flags: ", flags.getMethodFlags(), "\n");
         }
 
@@ -498,25 +499,21 @@
                 report("Unexpected or invalid value for Code attribute");
         }
 
-        if (options.showDisassembled && !options.showAllAttrs) {
-            if (code != null) {
-                println("Code:");
-                codeWriter.writeInstrs(code);
-                codeWriter.writeExceptionTable(code);
-            }
-        }
-
-        if (options.showLineAndLocalVariableTables) {
-            if (code != null) {
-                attrWriter.write(code, code.attributes.get(Attribute.LineNumberTable), constant_pool);
-                attrWriter.write(code, code.attributes.get(Attribute.LocalVariableTable), constant_pool);
-            }
-        }
-
         if (options.showAllAttrs) {
             Attribute[] attrs = m.attributes.attrs;
             for (Attribute attr: attrs)
                 attrWriter.write(m, attr, constant_pool);
+        } else if (code != null) {
+            if (options.showDisassembled) {
+                println("Code:");
+                codeWriter.writeInstrs(code);
+                codeWriter.writeExceptionTable(code);
+            }
+
+            if (options.showLineAndLocalVariableTables) {
+                attrWriter.write(code, code.attributes.get(Attribute.LineNumberTable), constant_pool);
+                attrWriter.write(code, code.attributes.get(Attribute.LocalVariableTable), constant_pool);
+            }
         }
 
         indent(-1);
@@ -555,13 +552,11 @@
     }
 
     Signature_attribute getSignature(Attributes attributes) {
-        if (options.compat) // javap does not recognize recent attributes
-            return null;
         return (Signature_attribute) attributes.get(Attribute.Signature);
     }
 
     String adjustVarargs(AccessFlags flags, String params) {
-        if (flags.is(ACC_VARARGS) && !options.compat) {
+        if (flags.is(ACC_VARARGS)) {
             int i = params.lastIndexOf("[]");
             if (i > 0)
                 return params.substring(0, i) + "..." + params.substring(i+2);
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
index fad08ac..3a0813d 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
@@ -64,7 +64,7 @@
             public Integer visitClass(CONSTANT_Class_info info, Void p) {
                 print("#" + info.name_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
@@ -76,7 +76,7 @@
             public Integer visitFieldref(CONSTANT_Fieldref_info info, Void p) {
                 print("#" + info.class_index + ".#" + info.name_and_type_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
@@ -93,14 +93,14 @@
             public Integer visitInterfaceMethodref(CONSTANT_InterfaceMethodref_info info, Void p) {
                 print("#" + info.class_index + ".#" + info.name_and_type_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
             public Integer visitInvokeDynamic(CONSTANT_InvokeDynamic_info info, Void p) {
                 print("#" + info.bootstrap_method_attr_index + ":#" + info.name_and_type_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
@@ -112,21 +112,21 @@
             public Integer visitNameAndType(CONSTANT_NameAndType_info info, Void p) {
                 print("#" + info.name_index + ":#" + info.type_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
             public Integer visitMethodref(CONSTANT_Methodref_info info, Void p) {
                 print("#" + info.class_index + ".#" + info.name_and_type_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
             public Integer visitMethodHandle(CONSTANT_MethodHandle_info info, Void p) {
                 print("#" + info.reference_kind.tag + ":#" + info.reference_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
@@ -140,7 +140,7 @@
             public Integer visitString(CONSTANT_String_info info, Void p) {
                 print("#" + info.string_index);
                 tab();
-                println("//  " + stringValue(info));
+                println("// " + stringValue(info));
                 return 1;
             }
 
diff --git a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
index 0cafe02..be5c7de 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
@@ -195,48 +195,12 @@
             }
         },
 
-//        new Option(false, "-all") {
-//            void process(JavapTask task, String opt, String arg) {
-//                task.options.showAllAttrs = true;
-//            }
-//        },
-
-        new Option(false, "-h") {
-            void process(JavapTask task, String opt, String arg) throws BadArgs {
-                throw task.new BadArgs("err.h.not.supported");
-            }
-        },
-
-        new Option(false, "-verify", "-verify-verbose") {
-            void process(JavapTask task, String opt, String arg) throws BadArgs {
-                throw task.new BadArgs("err.verify.not.supported");
-            }
-        },
-
         new Option(false, "-sysinfo") {
             void process(JavapTask task, String opt, String arg) {
                 task.options.sysInfo = true;
             }
         },
 
-        new Option(false, "-Xold") {
-            void process(JavapTask task, String opt, String arg) throws BadArgs {
-                task.log.println(task.getMessage("warn.Xold.not.supported"));
-            }
-        },
-
-        new Option(false, "-Xnew") {
-            void process(JavapTask task, String opt, String arg) throws BadArgs {
-                // ignore: this _is_ the new version
-            }
-        },
-
-        new Option(false, "-XDcompat") {
-            void process(JavapTask task, String opt, String arg) {
-                task.options.compat = true;
-            }
-        },
-
         new Option(false, "-XDdetails") {
             void process(JavapTask task, String opt, String arg) {
                 task.options.details = EnumSet.allOf(InstructionDetailWriter.Kind.class);
@@ -309,7 +273,9 @@
             void process(JavapTask task, String opt, String arg) throws BadArgs {
                 int sep = opt.indexOf(":");
                 try {
-                    task.options.indentWidth = Integer.valueOf(opt.substring(sep + 1));
+                    int i = Integer.valueOf(opt.substring(sep + 1));
+                    if (i > 0) // silently ignore invalid values
+                        task.options.indentWidth = i;
                 } catch (NumberFormatException e) {
                 }
             }
@@ -325,7 +291,9 @@
             void process(JavapTask task, String opt, String arg) throws BadArgs {
                 int sep = opt.indexOf(":");
                 try {
-                    task.options.tabColumn = Integer.valueOf(opt.substring(sep + 1));
+                    int i = Integer.valueOf(opt.substring(sep + 1));
+                    if (i > 0) // silently ignore invalid values
+                        task.options.tabColumn = i;
                 } catch (NumberFormatException e) {
                 }
             }
@@ -466,7 +434,7 @@
         } catch (BadArgs e) {
             reportError(e.key, e.args);
             if (e.showUsage) {
-                log.println(getMessage("main.usage.summary", progname));
+                printLines(getMessage("main.usage.summary", progname));
             }
             return EXIT_CMDERR;
         } catch (InternalError e) {
@@ -520,7 +488,7 @@
                 throw new BadArgs("err.unknown.option", arg).showUsage(true);
         }
 
-        if (!options.compat && options.accessOptions.size() > 1) {
+        if (options.accessOptions.size() > 1) {
             StringBuilder sb = new StringBuilder();
             for (String opt: options.accessOptions) {
                 if (sb.length() > 0)
@@ -561,8 +529,12 @@
             }
         }
 
-        if (fileManager.handleOption(name, rest))
-            return;
+        try {
+            if (fileManager.handleOption(name, rest))
+                return;
+        } catch (IllegalArgumentException e) {
+            throw new BadArgs("err.invalid.use.of.option", name).showUsage(true);
+        }
 
         throw new BadArgs("err.unknown.option", name).showUsage(true);
     }
@@ -581,8 +553,6 @@
         SourceWriter sourceWriter = SourceWriter.instance(context);
         sourceWriter.setFileManager(fileManager);
 
-        attributeFactory.setCompat(options.compat);
-
         int result = EXIT_OK;
 
         for (String className: classes) {
@@ -878,27 +848,33 @@
     }
 
     private void showHelp() {
-        log.println(getMessage("main.usage", progname));
+        printLines(getMessage("main.usage", progname));
         for (Option o: recognizedOptions) {
             String name = o.aliases[0].substring(1); // there must always be at least one name
             if (name.startsWith("X") || name.equals("fullversion") || name.equals("h") || name.equals("verify"))
                 continue;
-            log.println(getMessage("main.opt." + name));
+            printLines(getMessage("main.opt." + name));
         }
         String[] fmOptions = { "-classpath", "-cp", "-bootclasspath" };
         for (String o: fmOptions) {
             if (fileManager.isSupportedOption(o) == -1)
                 continue;
             String name = o.substring(1);
-            log.println(getMessage("main.opt." + name));
+            printLines(getMessage("main.opt." + name));
         }
 
     }
 
     private void showVersion(boolean full) {
-        log.println(version(full ? "full" : "release"));
+        printLines(version(full ? "full" : "release"));
     }
 
+    private void printLines(String msg) {
+        log.println(msg.replace("\n", nl));
+    }
+
+    private static final String nl = System.getProperty("line.separator");
+
     private static final String versionRBName = "com.sun.tools.javap.resources.version";
     private static ResourceBundle versionRB;
 
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Options.java b/langtools/src/share/classes/com/sun/tools/javap/Options.java
index 97e02d1..76edd81 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/Options.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/Options.java
@@ -86,8 +86,6 @@
     public boolean showConstants;
     public boolean sysInfo;
     public boolean showInnerClasses;
-    public int indentWidth = 2;   // #spaces per indentWidth level
-    public int tabColumn = 40;    // column number for comments
-
-    public boolean compat;             // bug-for-bug compatibility mode with old javap
+    public int indentWidth = 2;   // #spaces per indentWidth level; must be > 0
+    public int tabColumn = 40;    // column number for comments; must be > 0
 }
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties b/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
index c77024f..861a676 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
+++ b/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
@@ -6,7 +6,6 @@
 err.crash=A serious internal error has occurred: {0}\nPlease file a bug report, and include the following information:\n{1}
 err.end.of.file=unexpected end of file while reading {0}
 err.file.not.found=file not found: {0}
-err.h.not.supported=-h is no longer available - use the 'javah' program
 err.incompatible.options=bad combination of options: {0}
 err.internal.error=internal error: {0} {1} {2}
 err.invalid.arg.for.option=invalid argument for option: {0}
@@ -14,12 +13,11 @@
 err.missing.arg=no value given for {0}
 err.no.classes.specified=no classes specified
 err.not.standard.file.manager=can only specify class files when using a standard file manager
+err.invalid.use.of.option=invalid use of option: {0}
 err.unknown.option=unknown option: {0}
-err.verify.not.supported=-verify not supported
 err.no.SourceFile.attribute=no SourceFile attribute
 err.source.file.not.found=source file not found
 err.bad.innerclasses.attribute=bad InnerClasses attribute for {0}
-warn.Xold.not.supported=-Xold is no longer available
 
 main.usage.summary=\
 Usage: {0} <options> <classes>\n\
@@ -80,7 +78,7 @@
 \  -bootclasspath <path>    Override location of bootstrap class files
 
 main.opt.constants=\
-\  -constants               Show static final constants
+\  -constants               Show final constants
 
 
 main.opt.sysinfo=\
diff --git a/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.java b/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.java
new file mode 100644
index 0000000..f873f2d
--- /dev/null
+++ b/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.java
@@ -0,0 +1,22 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8030816
+ * @summary javac can't compile program with lambda expression
+ * @compile/fail/ref=CrashLambdaExpressionWithNonAccessibleIdTest.out -XDrawDiagnostics CrashLambdaExpressionWithNonAccessibleIdTest.java
+ */
+
+/* This test must make sure that javac won't crash when compiling lambda
+ * containing an anonymous innerclass based on an unresolvable type.
+ */
+public class CrashLambdaExpressionWithNonAccessibleIdTest {
+    void m() {
+        m1(()-> {
+            new A(){
+                public void m11() {}
+            };
+        });
+
+    }
+
+    void m1(Runnable r) {}
+}
diff --git a/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.out b/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.out
new file mode 100644
index 0000000..d253b9c
--- /dev/null
+++ b/langtools/test/tools/javac/T8030816/CrashLambdaExpressionWithNonAccessibleIdTest.out
@@ -0,0 +1,3 @@
+CrashLambdaExpressionWithNonAccessibleIdTest.java:15:35: compiler.err.missing.ret.stmt
+CrashLambdaExpressionWithNonAccessibleIdTest.java:14:17: compiler.err.cant.resolve.location: kindname.class, A, , , (compiler.misc.location: kindname.class, CrashLambdaExpressionWithNonAccessibleIdTest, null)
+2 errors
diff --git a/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTarget.java b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTarget.java
new file mode 100644
index 0000000..5af979d
--- /dev/null
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTarget.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2014, 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 8029017
+ * @summary sanity testing of ElementType validation for repeating annotations
+ * @compile TypeUseTarget.java
+ */
+
+import java.lang.annotation.*;
+
+public class TypeUseTarget {}
+
+
+// Case 1:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case1Container.class)
+@interface Case1 {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+    ElementType.TYPE_USE,
+    ElementType.TYPE_PARAMETER,
+})
+@interface Case1Container {
+  Case1[] value();
+}
+
+
+// Case 2:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case2Container.class)
+@interface Case2 {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+    ElementType.TYPE_USE,
+})
+@interface Case2Container {
+  Case2[] value();
+}
+
+
+// Case 3:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case3Container.class)
+@interface Case3 {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+})
+@interface Case3Container {
+  Case3[] value();
+}
+
+
+// Case 4:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case4Container.class)
+@interface Case4 {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+})
+@interface Case4Container {
+  Case4[] value();
+}
+
+
+// Case 5:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case5Container.class)
+@interface Case5 {}
+
+@Target({
+    ElementType.TYPE,
+})
+@interface Case5Container {
+  Case5[] value();
+}
+
+
+// Case 6:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(Case6Container.class)
+@interface Case6 {}
+
+@Target({
+    ElementType.TYPE_PARAMETER,
+})
+@interface Case6Container {
+  Case6[] value();
+}
diff --git a/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.java b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.java
new file mode 100644
index 0000000..02b57d0
--- /dev/null
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.java
@@ -0,0 +1,100 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 8029017
+ * @summary sanity testing of ElementType validation for repeating annotations
+ * @compile/fail/ref=TypeUseTargetNeg.out -XDrawDiagnostics TypeUseTargetNeg.java
+ */
+
+import java.lang.annotation.*;
+
+public class TypeUseTargetNeg {}
+
+// Case 1:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(FooContainer.class)
+@interface Foo {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+    ElementType.TYPE_USE,
+    ElementType.TYPE_PARAMETER,
+    ElementType.FIELD,
+
+})
+@interface FooContainer {
+  Foo[] value();
+}
+
+
+// Case 2:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(BarContainer.class)
+@interface Bar {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+    ElementType.TYPE_USE,
+    ElementType.METHOD,
+})
+@interface BarContainer {
+  Bar[] value();
+}
+
+
+// Case 3:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(BazContainer.class)
+@interface Baz {}
+
+@Target({
+    ElementType.ANNOTATION_TYPE,
+    ElementType.TYPE,
+    ElementType.PARAMETER,
+})
+@interface BazContainer {
+  Baz[] value();
+}
+
+
+// Case 4:
+@Target({
+    ElementType.TYPE_USE,
+})
+@Repeatable(QuxContainer.class)
+@interface Qux {}
+
+@interface QuxContainer {
+  Qux[] value();
+}
+
+
+// Case 5:
+@Target({})
+@Repeatable(QuuxContainer.class)
+@interface Quux {}
+
+@Target({
+    ElementType.TYPE_PARAMETER,
+})
+@interface QuuxContainer {
+  Quux[] value();
+}
+
+// Case 6:
+@Repeatable(QuuuxContainer.class)
+@interface Quuux {}
+
+@Target({
+    ElementType.TYPE_USE,
+})
+@interface QuuuxContainer {
+  Quuux[] value();
+}
diff --git a/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.out b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.out
new file mode 100644
index 0000000..8bf4170
--- /dev/null
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/8029017/TypeUseTargetNeg.out
@@ -0,0 +1,7 @@
+TypeUseTargetNeg.java:16:1: compiler.err.invalid.repeatable.annotation.incompatible.target: FooContainer, Foo
+TypeUseTargetNeg.java:36:1: compiler.err.invalid.repeatable.annotation.incompatible.target: BarContainer, Bar
+TypeUseTargetNeg.java:54:1: compiler.err.invalid.repeatable.annotation.incompatible.target: BazContainer, Baz
+TypeUseTargetNeg.java:71:1: compiler.err.invalid.repeatable.annotation.incompatible.target: QuxContainer, Qux
+TypeUseTargetNeg.java:81:1: compiler.err.invalid.repeatable.annotation.incompatible.target: QuuxContainer, Quux
+TypeUseTargetNeg.java:92:1: compiler.err.invalid.repeatable.annotation.incompatible.target: QuuuxContainer, Quuux
+6 errors
diff --git a/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java b/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java
index f0dbe37..d881245 100644
--- a/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug      8001457
+ * @bug      8001457 8027477
  * @author   sogoel
  * @summary  Reflection api tests
  * @build    Helper
@@ -159,7 +159,12 @@
                             "SingleOnSuperContainerAndSingleOnSub_Inherited_Legacy",
                             "ContainerAndSingleOnSuperSingleOnSub_Inherited_Legacy",
                             "SingleAnnoWithContainer",
-                            "SingleOnSuperContainerAndSingleOnSub_Inherited");
+                            "SingleOnSuperContainerAndSingleOnSub_Inherited",
+                            "RepeatableOnSuperSingleOnSub_Inherited",
+                            "SingleOnSuperRepeatableOnSub_Inherited",
+                            "ContainerOnSuperSingleOnSub_Inherited",
+                            "SingleOnSuperContainerOnSub_Inherited",
+                            "ContainerAndSingleOnSuperSingleOnSub_Inherited");
                     if (orderingTestFailures.contains(testCase.toString())) {
                         CHECKORDERING = false;
                     } else
@@ -1612,323 +1617,323 @@
                 return files;
             }
         },
-//         // Testcase not working as expected, JDK-8004912
-//         RepeatableOnSuperSingleOnSub_Inherited(
-//         "@ExpectedBase(value=Foo.class, "
-//                 + "getAnnotationVal = \"Foo\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + //override every annotation on superClass
-//                 "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"}, "
-//                 + // ignores inherited annotations
-//                 "getDeclAnnoVal = \"Foo\", " // ignores inherited
-//                 + "getAnnosArgs = {\"Foo\"}, "
-//                 + "getDeclAnnosArgs = { \"Foo\" })", // ignores inherited
-//         "@ExpectedContainer(value=FooContainer.class, "
-//                 + "getAnnotationVal = \"FooContainer\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"}, "
-//                 + // ignores inherited annotations
-//                 "getDeclAnnoVal = \"NULL\", "
-//                 + "getAnnosArgs = {\"FooContainer\"}, "
-//                 + "getDeclAnnosArgs = {}) // ignores inherited ") {
+        // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
+        // fail with ordering issues
+        RepeatableOnSuperSingleOnSub_Inherited(
+        "@ExpectedBase(value=Foo.class, "
+                + "getAnnotationVal = \"@Foo(value=3)\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + //override every annotation on superClass
+                "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\"}, "
+                + // ignores inherited annotations
+                "getDeclAnnoVal = \"@Foo(value=3)\", " // ignores inherited
+                + "getAnnosArgs = {\"@Foo(value=3)\"}, "
+                + "getDeclAnnosArgs = { \"@Foo(value=3)\" })", // ignores inherited
+        "@ExpectedContainer(value=FooContainer.class, "
+                + "getAnnotationVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=3)\"}, "
+                + // ignores inherited annotations
+                "getDeclAnnoVal = \"NULL\", "
+                + "getAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosArgs = {}) // ignores inherited ") {
 
-//             @Override
-//             public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
-//                     String className) {
-//                 String anno = "";
-//                 String replaceVal = "";
-//                 String contents = "";
-//                 JavaFileObject srcFileObj = null;
-//                 Iterable<? extends JavaFileObject> files = null;
+            @Override
+            public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
+                    String className) {
+                String anno = "";
+                String replaceVal = "";
+                String contents = "";
+                JavaFileObject srcFileObj = null;
+                Iterable<? extends JavaFileObject> files = null;
 
-//                 String expectedVals = "\n" + getExpectedBase() + "\n"
-//                         + getExpectedContainer() + "\n";
-//                 StringBuilder commonStmts = getCommonStmts(true);
+                String expectedVals = "\n" + getExpectedBase() + "\n"
+                        + getExpectedContainer() + "\n";
+                StringBuilder commonStmts = getCommonStmts(true);
 
-//                 /*
-//                 Sample testSrc:
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @Repeatable(FooContainer.class)
-//                 @interface Foo {int value() default Integer.MAX_VALUE;}
+                /*
+                 Sample testSrc:
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @Repeatable(FooContainer.class)
+                 @interface Foo {int value() default Integer.MAX_VALUE;}
 
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @interface FooContainer {
-//                 Foo[] value();
-//                 }
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @interface FooContainer {
+                 Foo[] value();
+                 }
 
-//                 @Foo() @Foo
-//                 class SuperClass { }
+                 @Foo(1) @Foo(2)
+                 class SuperClass { }
 
-//                 @ExpectedBase
-//                 @ExpectedContainer
-//                 @Foo
-//                 class SubClass extends SuperClass { }
-//                  */
-//                 //@Inherited only works for classes, no switch cases for method, field, package
+                 @ExpectedBase
+                 @ExpectedContainer
+                 @Foo(3)
+                 class SubClass extends SuperClass { }
+                 */
+                //@Inherited only works for classes, no switch cases for method, field, package
+                if (srcType == SrcType.CLASS) {
+                    //Contents for SuperClass
+                    anno = Helper.ContentVars.REPEATABLEANNO.getVal();
+                    replaceVal = commonStmts + "\n" + anno;
+                    String superClassContents = srcType.getTemplate()
+                            .replace("#CN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 if (srcType == SrcType.CLASS) {
-//                     //Contents for SuperClass
-//                     anno = Helper.ContentVars.REPEATABLEANNO.getVal();
-//                     replaceVal = commonStmts + "\n" + anno;
-//                     String superClassContents = srcType.getTemplate()
-//                             .replace("#CN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
+                    //Contents for SubClass that extends SuperClass
+                    anno = "@Foo(3)";
+                    replaceVal = expectedVals + "\n" + anno;
+                    String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
+                            .replace("#CN", className)
+                            .replace("#SN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
+                    contents = superClassContents + subClassContents;
+                    srcFileObj = Helper.getFile(className, contents);
+                    files = Arrays.asList(srcFileObj);
+                }
+                return files;
+            }
+        },
+        // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
+        // fail with ordering issues
+        SingleOnSuperRepeatableOnSub_Inherited(
+        "@ExpectedBase(value=Foo.class, "
+                + "getAnnotationVal = \"@Foo(value=0)\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + //override every annotation on superClass
+                "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + // ignores inherited annotations
+                "getDeclAnnoVal = \"NULL\","// ignores inherited
+                + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"}, "
+                + "getDeclAnnosArgs = { \"@Foo(value=1)\", \"@Foo(value=2)\"})",
+        "@ExpectedContainer(value=FooContainer.class, "
+                + "getAnnotationVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + // ignores inherited annotations
+                "getDeclAnnoVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "// ignores inherited
+                + "getAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"})") {
 
-//                     //Contents for SubClass that extends SuperClass
-//                     anno = "@Foo(0)";
-//                     replaceVal = expectedVals + "\n" + anno;
-//                     String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
-//                             .replace("#CN", className)
-//                             .replace("#SN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
-//                     contents = superClassContents + subClassContents;
-//                     srcFileObj = Helper.getFile(className, contents);
-//                     files = Arrays.asList(srcFileObj);
-//                 }
-//                 return files;
-//             }
-//         },
-//         //Testcase not working as expected, JDK-8004912
-//         SingleOnSuperRepeatableOnSub_Inherited(
-//         "@ExpectedBase(value=Foo.class, "
-//                 + "getAnnotationVal = \"Foo\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + //override every annotation on superClass
-//                 "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"FooContainer\"}, "
-//                 + // ignores inherited annotations
-//                 "getDeclAnnoVal = \"NULL\","// ignores inherited
-//                 + "getAnnosArgs = {\"Foo\", \"Foo\"}, "
-//                 + "getDeclAnnosArgs = { \"Foo\", \"Foo\"})",
-//         "@ExpectedContainer(value=FooContainer.class, "
-//                 + "getAnnotationVal = \"FooContainer\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"FooContainer\"}, "
-//                 + // ignores inherited annotations
-//                 "getDeclAnnoVal = \"FooContainer\", "// ignores inherited
-//                 + "getAnnosArgs = {\"FooContainer\"}, "
-//                 + "getDeclAnnosArgs = {\"FooContainer\"})") {
+            @Override
+            public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
+                    String className) {
+                String anno = "";
+                String replaceVal = "";
+                String contents = "";
+                JavaFileObject srcFileObj = null;
+                Iterable<? extends JavaFileObject> files = null;
 
-//             @Override
-//             public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
-//                     String className) {
-//                 String anno = "";
-//                 String replaceVal = "";
-//                 String contents = "";
-//                 JavaFileObject srcFileObj = null;
-//                 Iterable<? extends JavaFileObject> files = null;
+                String expectedVals = "\n" + getExpectedBase() + "\n"
+                        + getExpectedContainer() + "\n";
+                StringBuilder commonStmts = getCommonStmts(true);
 
-//                 String expectedVals = "\n" + getExpectedBase() + "\n"
-//                         + getExpectedContainer() + "\n";
-//                 StringBuilder commonStmts = getCommonStmts(true);
+                /*
+                 Sample testSrc:
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @Repeatable(FooContainer.class)
+                 @interface Foo {int value() default Integer.MAX_VALUE;}
 
-//                 /*
-//                 Sample testSrc:
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @Repeatable(FooContainer.class)
-//                 @interface Foo {int value() default Integer.MAX_VALUE;}
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @interface FooContainer {
+                 Foo[] value();
+                 }
 
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @interface FooContainer {
-//                 Foo[] value();
-//                 }
+                 @Foo(0)
+                 class SuperClass { }
 
-//                 @Foo()
-//                 class SuperClass { }
+                 @ExpectedBase
+                 @ExpectedContainer
+                 @Foo(1) @Foo(2)
+                 class SubClass extends SuperClass { }
+                 */
+                //@Inherited only works for classes, no switch cases for method, field, package
+                if (srcType == SrcType.CLASS) {
+                    //Contents for SuperClass
+                    anno = Helper.ContentVars.BASEANNO.getVal();
+                    replaceVal = commonStmts + "\n" + anno;
+                    String superClassContents = srcType.getTemplate()
+                            .replace("#CN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 @ExpectedBase
-//                 @ExpectedContainer
-//                 @Foo @Foo
-//                 class SubClass extends SuperClass { }
-//                  */
+                    //Contents for SubClass that extends SuperClass
+                    anno = Helper.ContentVars.REPEATABLEANNO.getVal();
+                    replaceVal = expectedVals + "\n" + anno;
+                    String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
+                            .replace("#CN", className)
+                            .replace("#SN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 //@Inherited only works for classes, no switch cases for method, field, package
-//                 if (srcType == SrcType.CLASS) {
-//                     //Contents for SuperClass
-//                     anno = "@Foo(0)";
-//                     replaceVal = commonStmts + "\n" + anno;
-//                     String superClassContents = srcType.getTemplate()
-//                             .replace("#CN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
+                    contents = superClassContents + subClassContents;
+                    srcFileObj = Helper.getFile(className, contents);
+                    files = Arrays.asList(srcFileObj);
+                }
+                return files;
+            }
+        },
+        // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
+        // fail with ordering issues
+        ContainerOnSuperSingleOnSub_Inherited(
+        "@ExpectedBase(value=Foo.class, "
+                + "getAnnotationVal = \"@Foo(value=0)\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+                + "getDeclAnnoVal = \"@Foo(value=0)\","
+                + "getAnnosArgs = {\"@Foo(value=0)\"},"
+                + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+        "@ExpectedContainer(value=FooContainer.class, "
+                + "getAnnotationVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+                + "getDeclAnnoVal = \"NULL\","
+                + "getAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"},"
+                + "getDeclAnnosArgs = {})") {
 
-//                     //Contents for SubClass that extends SuperClass
-//                     anno = Helper.ContentVars.REPEATABLEANNO.getVal();
-//                     replaceVal = expectedVals + "\n" + anno;
-//                     String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
-//                             .replace("#CN", className)
-//                             .replace("#SN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
+            @Override
+            public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
+                    String className) {
+                String anno = "";
+                String replaceVal = "";
+                String contents = "";
+                JavaFileObject srcFileObj = null;
+                Iterable<? extends JavaFileObject> files = null;
 
-//                     contents = superClassContents + subClassContents;
-//                     srcFileObj = Helper.getFile(className, contents);
-//                     files = Arrays.asList(srcFileObj);
-//                 }
-//                 return files;
-//             }
-//         },
-//         //Testcase not working as expected, JDK-8004912
-//         ContainerOnSuperSingleOnSub_Inherited(
-//         "@ExpectedBase(value=Foo.class, "
-//                 + "getAnnotationVal = \"Foo\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"},"
-//                 + "getDeclAnnoVal = \"Foo\","
-//                 + "getAnnosArgs = {\"Foo\"},"
-//                 + "getDeclAnnosArgs = {\"Foo\"})",
-//         "@ExpectedContainer(value=FooContainer.class, "
-//                 + "getAnnotationVal = \"FooContainer\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"},"
-//                 + "getDeclAnnoVal = \"NULL\","
-//                 + "getAnnosArgs = {\"FooContainer\"},"
-//                 + "getDeclAnnosArgs = {})") {
+                String expectedVals = "\n" + getExpectedBase() + "\n"
+                        + getExpectedContainer() + "\n";
+                StringBuilder commonStmts = getCommonStmts(true);
 
-//             @Override
-//             public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
-//                     String className) {
-//                 String anno = "";
-//                 String replaceVal = "";
-//                 String contents = "";
-//                 JavaFileObject srcFileObj = null;
-//                 Iterable<? extends JavaFileObject> files = null;
+                /*
+                 Sample testSrc:
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @Repeatable(FooContainer.class)
+                 @interface Foo {int value() default Integer.MAX_VALUE;}
 
-//                 String expectedVals = "\n" + getExpectedBase() + "\n"
-//                         + getExpectedContainer() + "\n";
-//                 StringBuilder commonStmts = getCommonStmts(true);
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @interface FooContainer {
+                 Foo[] value();
+                 }
 
-//                 /*
-//                 Sample testSrc:
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @Repeatable(FooContainer.class)
-//                 @interface Foo {int value() default Integer.MAX_VALUE;}
+                 @FooContainer(value = {@Foo(1), @Foo(2)})
+                 class SuperClass { }
 
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @interface FooContainer {
-//                 Foo[] value();
-//                 }
+                 @ExpectedBase
+                 @ExpectedContainer
+                 @Foo(0)
+                 class SubClass extends SuperClass { }
+                 */
+                //@Inherited only works for classes, no switch cases for method, field, package
+                if (srcType == SrcType.CLASS) {
+                    //Contents for SuperClass
+                    anno = Helper.ContentVars.LEGACYCONTAINER.getVal();
+                    replaceVal = commonStmts + "\n" + anno;
+                    String superClassContents = srcType.getTemplate()
+                            .replace("#CN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 @FooContainer(value = {@Foo, @Foo})
-//                 class SuperClass { }
+                    //Contents for SubClass that extends SuperClass
+                    anno = Helper.ContentVars.BASEANNO.getVal();
+                    replaceVal = expectedVals + "\n" + anno;
+                    String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
+                            .replace("#CN", className)
+                            .replace("#SN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 @ExpectedBase
-//                 @ExpectedContainer
-//                 @Foo
-//                 class SubClass extends SuperClass { }
-//                  */
+                    contents = superClassContents + subClassContents;
+                    srcFileObj = Helper.getFile(className, contents);
+                    files = Arrays.asList(srcFileObj);
+                }
+                return files;
+            }
+        },
+        // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
+        // fail with ordering issues
+        SingleOnSuperContainerOnSub_Inherited(
+        "@ExpectedBase(value=Foo.class, "
+                + "getAnnotationVal = \"@Foo(value=0)\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"},"
+                + "getDeclAnnoVal = \"NULL\","
+                + "getAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"},"
+                + "getDeclAnnosArgs = {\"@Foo(value=1)\", \"@Foo(value=2)\"})",
+        "@ExpectedContainer(value=FooContainer.class, "
+                + "getAnnotationVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"},"
+                + "getDeclAnnoVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\","
+                + "getAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"},"
+                + "getDeclAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"})") {
 
-//                 //@Inherited only works for classes, no switch cases for method, field, package
-//                 if (srcType == SrcType.CLASS) {
-//                     //Contents for SuperClass
-//                     anno = Helper.ContentVars.LEGACYCONTAINER.getVal();
-//                     replaceVal = commonStmts + "\n" + anno;
-//                     String superClassContents = srcType.getTemplate()
-//                             .replace("#CN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
+            @Override
+            public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
+                     String className) {
+                String anno = "";
+                String replaceVal = "";
+                String contents = "";
+                JavaFileObject srcFileObj = null;
+                Iterable<? extends JavaFileObject> files = null;
 
-//                     //Contents for SubClass that extends SuperClass
-//                     anno = "@Foo(0)";
-//                     replaceVal = expectedVals + "\n" + anno;
-//                     String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
-//                             .replace("#CN", className)
-//                             .replace("#SN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
+                String expectedVals = "\n" + getExpectedBase() + "\n"
+                        + getExpectedContainer() + "\n";
+                StringBuilder commonStmts = getCommonStmts(true);
 
-//                     contents = superClassContents + subClassContents;
-//                     srcFileObj = Helper.getFile(className, contents);
-//                     files = Arrays.asList(srcFileObj);
-//                 }
-//                 return files;
-//             }
-//         },
-//         // TestCase not working as expected, JDK-8004912
-//         SingleOnSuperContainerOnSub_Inherited(
-//         "@ExpectedBase(value=Foo.class, "
-//                 + "getAnnotationVal = \"Foo\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"FooContainer\"},"
-//                 + "getDeclAnnoVal = \"NULL\","
-//                 + "getAnnosArgs = {\"Foo\", \"Foo\"},"
-//                 + "getDeclAnnosArgs = {\"Foo\", \"Foo\"})",
-//         "@ExpectedContainer(value=FooContainer.class, "
-//                 + "getAnnotationVal = \"FooContainer\", "
-//                 + "getAnnotationsVals = {"
-//                 +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                 + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"FooContainer\"},"
-//                 + "getDeclAnnoVal = \"FooContainer\","
-//                 + "getAnnosArgs = {\"FooContainer\"},"
-//                 + "getDeclAnnosArgs = {\"FooContainer\"})") {
+                /*
+                 Sample testSrc:
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @Repeatable(FooContainer.class)
+                 @interface Foo {int value() default Integer.MAX_VALUE;}
 
-//             @Override
-//             public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
-//                     String className) {
-//                 String anno = "";
-//                 String replaceVal = "";
-//                 String contents = "";
-//                 JavaFileObject srcFileObj = null;
-//                 Iterable<? extends JavaFileObject> files = null;
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @interface FooContainer {
+                 Foo[] value();
+                 }
 
-//                 String expectedVals = "\n" + getExpectedBase() + "\n"
-//                         + getExpectedContainer() + "\n";
-//                 StringBuilder commonStmts = getCommonStmts(true);
+                 @Foo(0)
+                 class SuperClass { }
 
-//                 /*
-//                 Sample testSrc:
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @Repeatable(FooContainer.class)
-//                 @interface Foo {int value() default Integer.MAX_VALUE;}
+                 @ExpectedBase
+                 @ExpectedContainer
+                 @FooContainer(value = {@Foo(1), @Foo(2)})
+                 class SubClass extends SuperClass { }
+                 */
+                //@Inherited only works for classes, no switch cases for method, field, package
+                if (srcType == SrcType.CLASS) {
+                    //Contents for SuperClass
+                    anno = Helper.ContentVars.BASEANNO.getVal();
+                    replaceVal = commonStmts + "\n" + anno;
+                    String superClassContents = srcType.getTemplate()
+                            .replace("#CN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 @Retention(RetentionPolicy.RUNTIME)
-//                 @Inherited
-//                 @interface FooContainer {
-//                 Foo[] value();
-//                 }
+                    //Contents for SubClass that extends SuperClass
+                    anno = Helper.ContentVars.LEGACYCONTAINER.getVal();
+                    replaceVal = expectedVals + "\n" + anno;
+                    String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
+                            .replace("#CN", className)
+                            .replace("#SN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                 @Foo
-//                 class SuperClass { }
-
-//                 @ExpectedBase
-//                 @ExpectedContainer
-//                 @FooContainer(value = {@Foo, @Foo})
-//                 class SubClass extends SuperClass { }
-//                  */
-
-//                 //@Inherited only works for classes, no switch cases for method, field, package
-//                 if (srcType == SrcType.CLASS) {
-//                     //Contents for SuperClass
-//                     anno = "@Foo(0)";
-//                     replaceVal = commonStmts + "\n" + anno;
-//                     String superClassContents = srcType.getTemplate()
-//                             .replace("#CN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
-
-//                     //Contents for SubClass that extends SuperClass
-//                     anno = Helper.ContentVars.LEGACYCONTAINER.getVal();
-//                     replaceVal = expectedVals + "\n" + anno;
-//                     String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
-//                             .replace("#CN", className)
-//                             .replace("#SN", SUPERCLASS)
-//                             .replace("#REPLACE", replaceVal);
-
-//                     contents = superClassContents + subClassContents;
-//                     srcFileObj = Helper.getFile(className, contents);
-//                     files = Arrays.asList(srcFileObj);
-//                 }
-//                 return files;
-//             }
-//         },
+                    contents = superClassContents + subClassContents;
+                    srcFileObj = Helper.getFile(className, contents);
+                    files = Arrays.asList(srcFileObj);
+                }
+                return files;
+            }
+        },
         // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
         // fail with ordering issues
         SingleOnSuperContainerAndSingleOnSub_Inherited(
@@ -2009,87 +2014,88 @@
                 return files;
             }
         },
-//          // TestCase not working as expected, JDK-8004912
-//          ContainerAndSingleOnSuperSingleOnSub_Inherited(
-//          "@ExpectedBase(value=Foo.class, "
-//                  + "getAnnotationVal = \"Foo\", "
-//                  + "getAnnotationsVals = {"
-//                  +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                  + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"},"
-//                  + "getDeclAnnoVal = \"Foo\","
-//                  + "getAnnosArgs = {\"Foo\"},"
-//                  + "getDeclAnnosArgs = {\"Foo\"})",
-//          "@ExpectedContainer(value=FooContainer.class, "
-//                  + "getAnnotationVal = \"FooContainer\", "
-//                  + "getAnnotationsVals = {"
-//                  +       "\"ExpectedBase\", \"ExpectedContainer\", \"Foo\", \"FooContainer\"}, "
-//                  + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"Foo\"},"
-//                  + "getDeclAnnoVal = \"NULL\","
-//                  + "getAnnosArgs = {\"FooContainer\"},"
-//                  + "getDeclAnnosArgs = {})") {
+        // @ignore 8025924: Several test cases in repeatingAnnotations/combo/ReflectionTest
+        // fail with ordering issues
+        ContainerAndSingleOnSuperSingleOnSub_Inherited(
+        "@ExpectedBase(value=Foo.class, "
+                + "getAnnotationVal = \"@Foo(value=0)\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+                + "getDeclAnnoVal = \"@Foo(value=0)\","
+                + "getAnnosArgs = {\"@Foo(value=0)\"},"
+                + "getDeclAnnosArgs = {\"@Foo(value=0)\"})",
+        "@ExpectedContainer(value=FooContainer.class, "
+                + "getAnnotationVal = \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\", "
+                + "getAnnotationsVals = {"
+                + "\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\", \"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"}, "
+                + "getDeclAnnosVals = {\"ExpectedBase\", \"ExpectedContainer\", \"@Foo(value=0)\"},"
+                + "getDeclAnnoVal = \"NULL\","
+                + "getAnnosArgs = {\"@FooContainer(value=[@Foo(value=1), @Foo(value=2)])\"},"
+                + "getDeclAnnosArgs = {})") {
 
-//              @Override
-//              public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
-//                      String className) {
-//                  String anno = "";
-//                  String replaceVal = "";
-//                  String contents = "";
-//                  JavaFileObject srcFileObj = null;
-//                  Iterable<? extends JavaFileObject> files = null;
+            @Override
+            public Iterable<? extends JavaFileObject> getTestFiles(SrcType srcType,
+                    String className) {
+                String anno = "";
+                String replaceVal = "";
+                String contents = "";
+                JavaFileObject srcFileObj = null;
+                Iterable<? extends JavaFileObject> files = null;
 
-//                  String expectedVals = "\n" + getExpectedBase() + "\n"
-//                          + getExpectedContainer() + "\n";
-//                  StringBuilder commonStmts = getCommonStmts(true);
+                String expectedVals = "\n" + getExpectedBase() + "\n"
+                        + getExpectedContainer() + "\n";
+                StringBuilder commonStmts = getCommonStmts(true);
 
-//                  /*
-//                  Sample testSrc:
-//                  @Retention(RetentionPolicy.RUNTIME)
-//                  @Inherited
-//                  @Repeatable(FooContainer.class)
-//                  @interface Foo {int value() default Integer.MAX_VALUE;}
+                /*
+                 Sample testSrc:
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @Repeatable(FooContainer.class)
+                 @interface Foo {int value() default Integer.MAX_VALUE;}
 
-//                  @Retention(RetentionPolicy.RUNTIME)
-//                  @Inherited
-//                  @interface FooContainer {
-//                  Foo[] value();
-//                  }
+                 @Retention(RetentionPolicy.RUNTIME)
+                 @Inherited
+                 @interface FooContainer {
+                 Foo[] value();
+                 }
 
-//                  @FooContainer(value = {@Foo, @Foo})
-//                  @Foo
-//                  class SuperClass { }
+                 @FooContainer(value = {@Foo(1), @Foo(2)})
+                 @Foo(3)
+                 class SuperClass { }
 
-//                  @ExpectedBase
-//                  @ExpectedContainer
-//                  @Foo
-//                  class SubClass extends SuperClass { }
-//                   */
+                 @ExpectedBase
+                 @ExpectedContainer
+                 @Foo(0)
+                 class SubClass extends SuperClass { }
+                 */
 
-//                  //@Inherited only works for classes, no switch cases for method, field, package
-//                  if (srcType == SrcType.CLASS) {
-//                      //Contents for SuperClass
-//                      anno = Helper.ContentVars.LEGACYCONTAINER.getVal()
-//                              + Helper.ContentVars.BASEANNO.getVal();
-//                      replaceVal = commonStmts + "\n" + anno;
-//                      String superClassContents = srcType.getTemplate()
-//                              .replace("#CN", SUPERCLASS)
-//                              .replace("#REPLACE", replaceVal);
+                //@Inherited only works for classes, no switch cases for method, field, package
+                if (srcType == SrcType.CLASS) {
+                    //Contents for SuperClass
+                    anno = Helper.ContentVars.LEGACYCONTAINER.getVal()
+                            + "@Foo(3)" ;
+                    replaceVal = commonStmts + "\n" + anno;
+                    String superClassContents = srcType.getTemplate()
+                            .replace("#CN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                      //Contents for SubClass that extends SuperClass
-//                      anno = "@Foo(0)";
-//                      replaceVal = expectedVals + "\n" + anno;
-//                      String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
-//                              .replace("#CN", className)
-//                              .replace("#SN", SUPERCLASS)
-//                              .replace("#REPLACE", replaceVal);
+                    //Contents for SubClass that extends SuperClass
+                    anno = Helper.ContentVars.BASEANNO.getVal();
+                    replaceVal = expectedVals + "\n" + anno;
+                    String subClassContents = SrcType.CLASSEXTENDS.getTemplate()
+                            .replace("#CN", className)
+                            .replace("#SN", SUPERCLASS)
+                            .replace("#REPLACE", replaceVal);
 
-//                      contents = superClassContents + subClassContents;
-//                      srcFileObj = Helper.getFile(className, contents);
-//                      files = Arrays.asList(srcFileObj);
-//                  }
-//                  return files;
-//              }
-//         }
-            ;
+                    contents = superClassContents + subClassContents;
+                    srcFileObj = Helper.getFile(className, contents);
+                    files = Arrays.asList(srcFileObj);
+                }
+                return files;
+            }
+        };
+
          private String expectedBase, expectedContainer;
 
          private TestCase(String expectedBase, String expectedContainer) {
@@ -2942,7 +2948,7 @@
         System.out.print("Actual Arr Values: ");
         for (Annotation a : actualAnnos) {
             if (a != null && a.annotationType() != null) {
-                System.out.print("[" + a.annotationType().getSimpleName() + "]");
+                System.out.print("[" + a.toString() + "]");
             } else {
                 System.out.println("[null]");
             }
diff --git a/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java b/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java
index 058b489..66e1c14 100644
--- a/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java
+++ b/langtools/test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      7151010 8006547 8007766
+ * @bug      7151010 8006547 8007766 8029017
  * @summary  Default test cases for running combinations for Target values
  * @build    Helper
  * @run main TargetAnnoCombo
@@ -145,11 +145,19 @@
 
             Set<ElementType> tempBaseSet = EnumSet.noneOf(ElementType.class);
             tempBaseSet.addAll(baseAnnotations);
+
             // If BaseAnno has TYPE, then ANNOTATION_TYPE is allowed by default.
             if (baseAnnotations.contains(TYPE)) {
                 tempBaseSet.add(ANNOTATION_TYPE);
             }
 
+            // If BaseAnno has TYPE_USE, then add the extra allowed types
+            if (baseAnnotations.contains(TYPE_USE)) {
+                tempBaseSet.add(ANNOTATION_TYPE);
+                tempBaseSet.add(TYPE);
+                tempBaseSet.add(TYPE_PARAMETER);
+            }
+
             // If containerAnno has no @Target, only valid case if baseAnnoTarget has
             // all targets defined else invalid set.
             if (containerAnnotations == null) {
diff --git a/langtools/test/tools/javac/api/TestJavacTaskScanner.java b/langtools/test/tools/javac/api/TestJavacTaskScanner.java
index 7103ba7..a02ca67 100644
--- a/langtools/test/tools/javac/api/TestJavacTaskScanner.java
+++ b/langtools/test/tools/javac/api/TestJavacTaskScanner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug     4813736
+ * @bug     4813736 8013256
  * @summary Additional functionality test of task and JSR 269
  * @author  Peter von der Ah\u00e9
  * @library ./lib
diff --git a/langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java b/langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java
new file mode 100644
index 0000000..ea12893
--- /dev/null
+++ b/langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2014, 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 8029240 8030855
+ * @summary Default methods not always visible under -source 7
+ * Default methods should be visible under source previous to 8
+ * @library /tools/javac/lib
+ * @build ToolBox
+ * @run main DefaultMethodsNotVisibleForSourceLessThan8Test
+ */
+
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+public class DefaultMethodsNotVisibleForSourceLessThan8Test {
+    // common definitions
+
+    // this one should be compiled with source 8, the rest with source < 8
+    static final String ISrc =
+        "interface I {\n" +
+        "    default void m() {}\n" +
+        "}";
+
+    static final String JSrc =
+        "interface J extends I {}";
+
+    static final String ASrc =
+        "abstract class A implements I {}";
+
+    static final String BSrc =
+        "class B implements I {}";
+
+    // test legacy implementations
+    static final String C1Src =
+        "class C1 implements I {\n" +
+        "    public void m() {}\n" +
+        "}";
+
+    static final String C2Src =
+        "class C2 implements J {\n" +
+        "    public void m() {}\n" +
+        "}";
+
+    static final String C3Src =
+        "class C3 extends A {\n" +
+        "    public void m() {}\n" +
+        "}";
+
+    static final String C4Src =
+        "class C4 extends B {\n" +
+        "    public void m() {}\n" +
+        "}";
+
+    //test legacy invocations
+    static final String LegacyInvocationSrc =
+        "class LegacyInvocation {\n" +
+        "    public static void test(I i, J j, A a, B b) {\n" +
+        "        i.m();\n" +
+        "        j.m();\n" +
+        "        a.m();\n" +
+        "        b.m();\n" +
+        "    }\n" +
+        "}";
+
+    //test case super invocations
+    static final String SubASrc =
+        "class SubA extends A {\n" +
+        "    public void test() {\n" +
+        "        super.m();\n" +
+        "    }\n" +
+        "}";
+
+    static final String SubBSrc =
+        "class SubB extends B {\n" +
+        "    public void test() {\n" +
+        "        super.m();\n" +
+        "    }\n" +
+        "}";
+
+    public static void main(String[] args) throws Exception {
+        String[] sources = new String[] {
+            "1.2",
+            "1.3",
+            "1.4",
+            "1.5",
+            "1.6",
+            "1.7",
+        };
+        for (String source : sources) {
+            new DefaultMethodsNotVisibleForSourceLessThan8Test().run(source);
+        }
+    }
+
+    String outDir;
+    String source;
+
+    void run(String source) throws Exception {
+        this.source = source;
+        outDir = "out" + source.replace('.', '_');
+        testsPreparation();
+        testLegacyImplementations();
+        testLegacyInvocations();
+        testSuperInvocations();
+    }
+
+    void testsPreparation() throws Exception {
+        Files.createDirectory(Paths.get(outDir));
+
+        /* as an extra check let's make sure that interface 'I' can't be compiled
+         * with source < 8
+         */
+        ToolBox.JavaToolArgs javacArgs =
+                new ToolBox.JavaToolArgs(ToolBox.Expect.FAIL)
+                .setOptions("-d", outDir, "-source", source)
+                .setSources(ISrc);
+        ToolBox.javac(javacArgs);
+
+        //but it should compile with source >= 8
+        javacArgs =
+                new ToolBox.JavaToolArgs()
+                .setOptions("-d", outDir)
+                .setSources(ISrc);
+        ToolBox.javac(javacArgs);
+
+        javacArgs =
+                new ToolBox.JavaToolArgs()
+                .setOptions("-cp", outDir, "-d", outDir, "-source", source)
+                .setSources(JSrc, ASrc, BSrc);
+        ToolBox.javac(javacArgs);
+    }
+
+    void testLegacyImplementations() throws Exception {
+        //compile C1-4
+        ToolBox.JavaToolArgs javacArgs =
+                new ToolBox.JavaToolArgs()
+                .setOptions("-cp", outDir, "-d", outDir, "-source", source)
+                .setSources(C1Src, C2Src, C3Src, C4Src);
+        ToolBox.javac(javacArgs);
+    }
+
+    void testLegacyInvocations() throws Exception {
+        //compile LegacyInvocation
+        ToolBox.JavaToolArgs javacArgs =
+                new ToolBox.JavaToolArgs()
+                .setOptions("-cp", outDir, "-d", outDir, "-source", source)
+                .setSources(LegacyInvocationSrc);
+        ToolBox.javac(javacArgs);
+    }
+
+    void testSuperInvocations() throws Exception {
+        //compile SubA, SubB
+        ToolBox.JavaToolArgs javacArgs =
+                new ToolBox.JavaToolArgs()
+                .setOptions("-cp", outDir, "-d", outDir, "-source", source)
+                .setSources(SubASrc, SubBSrc);
+        ToolBox.javac(javacArgs);
+    }
+}
diff --git a/langtools/test/tools/javac/doctree/SeeTest.java b/langtools/test/tools/javac/doctree/SeeTest.java
index bb27348..6927788 100644
--- a/langtools/test/tools/javac/doctree/SeeTest.java
+++ b/langtools/test/tools/javac/doctree/SeeTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 7021614
+ * @bug 7021614 8031212
  * @summary extend com.sun.source API to support parsing javadoc comments
  * @build DocCommentTester
  * @run main DocCommentTester SeeTest.java
@@ -41,9 +41,9 @@
     Text[TEXT, pos:1, abc.]
   body: empty
   block tags: 1
-    Erroneous[ERRONEOUS, pos:7
-      code: compiler.err.dc.unexpected.content
-      body: @see_"String"
+    See[SEE, pos:7
+      reference: 1
+        Text[TEXT, pos:12, "String"]
     ]
 ]
 */
diff --git a/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.java b/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.java
new file mode 100644
index 0000000..e139fb7
--- /dev/null
+++ b/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.java
@@ -0,0 +1,29 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8030218
+ * @summary javac, compile time error isn't shown when final static field is not assigned, follow-up
+ * @compile/fail/ref=CompileTimeErrorForNonAssignedStaticFieldTest.out -XDrawDiagnostics CompileTimeErrorForNonAssignedStaticFieldTest.java
+ */
+
+public class CompileTimeErrorForNonAssignedStaticFieldTest {
+    private final static int i;
+
+    public CompileTimeErrorForNonAssignedStaticFieldTest()
+            throws InstantiationException {
+        throw new InstantiationException("Can't instantiate");
+    }
+
+    static class Inner {
+        private final int j;
+        public Inner(int x)
+                throws InstantiationException {
+            if (x == 0) {
+                throw new InstantiationException("Can't instantiate");
+            } else {
+                j = 1;
+            }
+            System.out.println(j);
+        }
+    }
+
+}
diff --git a/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.out b/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.out
new file mode 100644
index 0000000..7821299
--- /dev/null
+++ b/langtools/test/tools/javac/flow/T8030218/CompileTimeErrorForNonAssignedStaticFieldTest.out
@@ -0,0 +1,2 @@
+CompileTimeErrorForNonAssignedStaticFieldTest.java:14:5: compiler.err.var.might.not.have.been.initialized: i
+1 error
diff --git a/langtools/test/tools/javac/lambda/InnerConstructor.java b/langtools/test/tools/javac/lambda/InnerConstructor.java
index 3675020..28a3390 100644
--- a/langtools/test/tools/javac/lambda/InnerConstructor.java
+++ b/langtools/test/tools/javac/lambda/InnerConstructor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8003280
+ * @bug 8003280 8003306
  * @summary Add lambda tests
  *  Regression test JDK-8003306 inner class constructor in lambda
  * @author  Robert Field
diff --git a/langtools/test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java b/langtools/test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java
index 36e1861..4b8ec20 100644
--- a/langtools/test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java
+++ b/langtools/test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8002099
+ * @bug 8002099 8010822
  * @summary Add support for intersection types in cast expression
  */
 
diff --git a/langtools/test/tools/javac/lambda/separate/Test.java b/langtools/test/tools/javac/lambda/separate/Test.java
index 7aa6b2c..14bfd49 100644
--- a/langtools/test/tools/javac/lambda/separate/Test.java
+++ b/langtools/test/tools/javac/lambda/separate/Test.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -23,6 +23,7 @@
 
 /*
  * @test
+ * @bug 8008708
  * @compile Foo.java
  * @compile Test.java
  */
diff --git a/langtools/test/tools/javac/processing/environment/round/BuriedAnnotations.java b/langtools/test/tools/javac/processing/environment/round/BuriedAnnotations.java
index fe52282..f122d92 100644
--- a/langtools/test/tools/javac/processing/environment/round/BuriedAnnotations.java
+++ b/langtools/test/tools/javac/processing/environment/round/BuriedAnnotations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -22,7 +22,7 @@
  */
 
 /**
- * Class to hold annotations for ElementsAnnotatedWithTest.
+ * Class to hold annotations for TestElementsAnnotatedWith.
  */
 
 @AnnotatedElementInfo(annotationName="java.lang.SuppressWarnings",
diff --git a/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.java b/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.java
new file mode 100644
index 0000000..156b88d
--- /dev/null
+++ b/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.java
@@ -0,0 +1,12 @@
+/** /nodynamiccopyright/
+ * Class to hold annotations for TestElementsAnnotatedWith.
+ */
+
+@AnnotatedElementInfo(annotationName="java.lang.SuppressWarnings",
+                      expectedSize=0,
+                      names={})
+@Undefined
+public class ErroneousAnnotations {
+    @Undefined
+    private void foo() {return;}
+}
diff --git a/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.out b/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.out
new file mode 100644
index 0000000..923c4ef
--- /dev/null
+++ b/langtools/test/tools/javac/processing/environment/round/ErroneousAnnotations.out
@@ -0,0 +1,4 @@
+ErroneousAnnotations.java:8:2: compiler.err.cant.resolve: kindname.class, Undefined, , 
+ErroneousAnnotations.java:10:6: compiler.err.cant.resolve.location: kindname.class, Undefined, , , (compiler.misc.location: kindname.class, ErroneousAnnotations, null)
+2 errors
+Results: []
diff --git a/langtools/test/tools/javac/processing/environment/round/Part1.java b/langtools/test/tools/javac/processing/environment/round/Part1.java
index ffb9d20..5d050e9 100644
--- a/langtools/test/tools/javac/processing/environment/round/Part1.java
+++ b/langtools/test/tools/javac/processing/environment/round/Part1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -22,7 +22,7 @@
  */
 
 /**
- * Class to hold annotations for ElementsAnnotatedWithTest.
+ * Class to hold annotations for TestElementsAnnotatedWith.
  */
 
 @AnnotatedElementInfo(annotationName="java.lang.SuppressWarnings",
diff --git a/langtools/test/tools/javac/processing/environment/round/Part2.java b/langtools/test/tools/javac/processing/environment/round/Part2.java
index 2047b87..db9f44d 100644
--- a/langtools/test/tools/javac/processing/environment/round/Part2.java
+++ b/langtools/test/tools/javac/processing/environment/round/Part2.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -22,7 +22,7 @@
  */
 
 /**
- * Class to hold annotations for ElementsAnnotatedWithTest.
+ * Class to hold annotations for TestElementsAnnotatedWith.
  */
 @SuppressWarnings("")
 public class Part2 {
diff --git a/langtools/test/tools/javac/processing/environment/round/SurfaceAnnotations.java b/langtools/test/tools/javac/processing/environment/round/SurfaceAnnotations.java
index ce351a2..a7c6058 100644
--- a/langtools/test/tools/javac/processing/environment/round/SurfaceAnnotations.java
+++ b/langtools/test/tools/javac/processing/environment/round/SurfaceAnnotations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -22,7 +22,7 @@
  */
 
 /**
- * Class to hold annotations for ElementsAnnotatedWithTest.
+ * Class to hold annotations for TestElementsAnnotatedWith.
  */
 
 @AnnotatedElementInfo(annotationName="java.lang.SuppressWarnings",
diff --git a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java
index e658e2a..3a02006 100644
--- a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java
+++ b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854
+ * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854 8030049
  * @summary Tests that getElementsAnnotatedWith works properly.
  * @author  Joseph D. Darcy
  * @library /tools/javac/lib
@@ -37,23 +37,18 @@
  * @compile -processor TestElementsAnnotatedWith -proc:only C2.java
  * @compile -processor TestElementsAnnotatedWith -proc:only Foo.java
  * @compile -processor TestElementsAnnotatedWith -proc:only TypeParameterAnnotations.java
+ * @compile/fail/ref=ErroneousAnnotations.out -processor TestElementsAnnotatedWith -proc:only -XDrawDiagnostics ErroneousAnnotations.java
  * @compile Foo.java
  * @compile/process -processor TestElementsAnnotatedWith -proc:only Foo
  */
 
 import java.lang.annotation.Annotation;
-import java.io.*;
 import java.util.Collections;
 import java.util.Set;
 import java.util.HashSet;
-import java.util.List;
-import java.util.ArrayList;
 import java.util.Arrays;
 import javax.annotation.processing.*;
-import javax.tools.*;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.element.*;
-import javax.lang.model.util.*;
 import static javax.lang.model.util.ElementFilter.*;
 
 /**
diff --git a/langtools/test/tools/javac/processing/environment/round/TypeParameterAnnotations.java b/langtools/test/tools/javac/processing/environment/round/TypeParameterAnnotations.java
index 0b3ef05..ecefb3b 100644
--- a/langtools/test/tools/javac/processing/environment/round/TypeParameterAnnotations.java
+++ b/langtools/test/tools/javac/processing/environment/round/TypeParameterAnnotations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -22,7 +22,7 @@
  */
 
 /**
- * Class to hold annotations for ElementsAnnotatedWithTest.
+ * Class to hold annotations for TestElementsAnnotatedWith.
  */
 
 @AnnotatedElementInfo(annotationName="TpAnno",
diff --git a/langtools/test/tools/javac/resolve/ResolveHarness.java b/langtools/test/tools/javac/resolve/ResolveHarness.java
index 2512f54..7d79f1c 100644
--- a/langtools/test/tools/javac/resolve/ResolveHarness.java
+++ b/langtools/test/tools/javac/resolve/ResolveHarness.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 7098660
+ * @bug 7098660 8014649
  * @summary Write better overload resolution/inference tests
  * @library /tools/javac/lib
  * @build JavacTestingAbstractProcessor ResolveHarness
diff --git a/langtools/test/tools/javac/scope/7046348/EagerInterfaceCompletionTest.java b/langtools/test/tools/javac/scope/7046348/EagerInterfaceCompletionTest.java
index 304f858..44eb4dd 100644
--- a/langtools/test/tools/javac/scope/7046348/EagerInterfaceCompletionTest.java
+++ b/langtools/test/tools/javac/scope/7046348/EagerInterfaceCompletionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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
@@ -181,7 +181,7 @@
                 case FIELD:
                 case SUPER: return true;
                 case METHOD: return hk != HierarchyKind.INTERFACE || ak == ActionKind.REMOVE_B ||
-                        (hk == HierarchyKind.INTERFACE && ak == ActionKind.REMOVE_A && vk == VersionKind.LAMBDA);
+                        (hk == HierarchyKind.INTERFACE && ak == ActionKind.REMOVE_A);
                 default: throw new AssertionError("Unexpected test kind " + this);
             }
         }
diff --git a/langtools/test/tools/javadoc/parser/7091528/T7091528.java b/langtools/test/tools/javadoc/parser/7091528/T7091528.java
index 4e06a3b..b491073 100644
--- a/langtools/test/tools/javadoc/parser/7091528/T7091528.java
+++ b/langtools/test/tools/javadoc/parser/7091528/T7091528.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, 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
@@ -23,8 +23,8 @@
 
 /**
  * @test
- * @bug     7091528
- * @summary javadoc attempts to parse .class files
+ * @bug     7091528 8029145
+ * @summary ensures javadoc parses unique source files and ignores all class files
  * @compile p/C1.java p/q/C2.java
  * @run main T7091528
  */
@@ -37,17 +37,22 @@
     public static void main(String... args) {
         new T7091528().run();
     }
-
     void run() {
         File testSrc = new File(System.getProperty("test.src"));
         File testClasses = new File(System.getProperty("test.classes"));
-        String[] args = {
-            "-d", ".",
+        // 7091528, tests if class files are being ignored
+        runTest("-d", ".",
             "-sourcepath", testClasses + File.pathSeparator + testSrc,
             "-subpackages",
-            "p"
-        };
+            "p");
+        // 8029145, tests if unique source files are parsed
+        runTest("-d", ".",
+            "-sourcepath", testSrc.getAbsolutePath(),
+            "-subpackages",
+            "p:p.q");
 
+    }
+    void runTest(String... args) {
         StringWriter sw = new StringWriter();
         PrintWriter pw = new PrintWriter(sw);
         String doclet = com.sun.tools.doclets.standard.Standard.class.getName();
diff --git a/langtools/test/tools/javap/InvalidOptions.java b/langtools/test/tools/javap/InvalidOptions.java
index d92f644..95d299d 100644
--- a/langtools/test/tools/javap/InvalidOptions.java
+++ b/langtools/test/tools/javap/InvalidOptions.java
@@ -24,7 +24,7 @@
 /*
  * @test
  * @bug 8027411
- * @summary test invalid options -h and -b
+ * @summary test an invalid option
  */
 
 import java.io.*;
@@ -39,7 +39,6 @@
     }
 
     void run() throws Exception {
-        test(2, "-h", "Error: -h is no longer available - use the javah program");
         test(2, "-b", "Error: unknown option: -b",
                       "Usage: javap <options> <classes>",
                       "use -help for a list of possible options");
diff --git a/langtools/test/tools/javap/MethodParameters.java b/langtools/test/tools/javap/MethodParameters.java
index 940724b..d9c4278 100644
--- a/langtools/test/tools/javap/MethodParameters.java
+++ b/langtools/test/tools/javap/MethodParameters.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -44,24 +44,24 @@
     static final String Init0_expected =
         ("  Foo();\n" +
          "    descriptor: ()V\n" +
-         "    flags: \n" +
+         "    flags:\n" +
          "    Code:\n" +
          "      stack=1, locals=1, args_size=1\n" +
-         "         0: aload_0       \n" +
+         "         0: aload_0\n" +
          "         1: invokespecial #1                  // Method java/lang/Object.\"<init>\":()V\n" +
-         "         4: return        \n" +
+         "         4: return\n" +
          "      LineNumberTable:\n" +
          "        line 2: 0").replaceAll(" +", " ");
 
     static final String Init1_expected =
         ("  Foo(int);\n" +
          "    descriptor: (I)V\n" +
-         "    flags: \n" +
+         "    flags:\n" +
          "    Code:\n" +
          "      stack=1, locals=2, args_size=2\n" +
-         "         0: aload_0       \n" +
+         "         0: aload_0\n" +
          "         1: invokespecial #1                  // Method java/lang/Object.\"<init>\":()V\n" +
-         "         4: return        \n" +
+         "         4: return\n" +
          "      LineNumberTable:\n" +
          "        line 3: 0\n" +
          "    MethodParameters:\n" +
@@ -71,25 +71,25 @@
     static final String foo0_expected =
         ("  void foo0();\n" +
          "    descriptor: ()V\n" +
-         "    flags: \n" +
+         "    flags:\n" +
          "    Code:\n" +
          "      stack=0, locals=1, args_size=1\n" +
-         "         0: return        \n" +
+         "         0: return\n" +
          "      LineNumberTable:\n" +
          "        line 4: 0").replaceAll(" +", " ");
 
     static final String foo2_expected =
         ("  void foo2(int, int);\n" +
          "    descriptor: (II)V\n" +
-         "    flags: \n" +
+         "    flags:\n" +
          "    Code:\n" +
          "      stack=0, locals=3, args_size=3\n" +
-         "         0: return        \n" +
+         "         0: return\n" +
          "      LineNumberTable:\n" +
          "        line 5: 0\n" +
          "    MethodParameters:\n" +
          "      Name                                Flags\n" +
-         "      j                              \n" +
+         "      j\n" +
          "      k").replaceAll(" +", " ");
 
     static final File classesdir = new File("methodparameters");
diff --git a/langtools/test/tools/javap/StackMapTableTest.java b/langtools/test/tools/javap/StackMapTableTest.java
new file mode 100644
index 0000000..97e19ac
--- /dev/null
+++ b/langtools/test/tools/javap/StackMapTableTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2014, 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 8033930 8033913
+ * @summary bad formatting of StackMapTable entries
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class StackMapTableTest {
+    public static void main(String... args) throws Exception {
+        new StackMapTableTest().run();
+    }
+
+    void run() throws Exception {
+        String testClasses = System.getProperty("test.classes");
+        String out = javap("-v", "-classpath", testClasses, A.class.getName());
+
+        String nl = System.getProperty("line.separator");
+        out = out.replaceAll(nl, "\n");
+
+        if (out.contains("\n\n\n"))
+            error("double blank line found");
+
+        String expect =
+            "      StackMapTable: number_of_entries = 2\n" +
+            "        frame_type = 252 /* append */\n" +
+            "          offset_delta = 2\n" +
+            "          locals = [ int ]\n" +
+            "        frame_type = 250 /* chop */\n" +
+            "          offset_delta = 18\n";
+        if (!out.contains(expect))
+            error("expected text not found");
+
+        if (errors > 0)
+            throw new Exception(errors + " errors found");
+    }
+
+    String javap(String... args) throws Exception {
+        StringWriter sw = new StringWriter();
+        PrintWriter out = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args, out);
+        out.close();
+        System.out.println(sw.toString());
+        if (rc < 0)
+            throw new Exception("javap exited, rc=" + rc);
+        return sw.toString();
+    }
+
+    void error(String msg) {
+        System.out.println("Error: " + msg);
+        errors++;
+    }
+
+    int errors;
+
+    /** Simple test class to run through javap. */
+    public class A {
+        public void a() {
+            for (int i = 0; i < 10; i++) {
+                System.out.println(i);
+            }
+        }
+        public void b() {
+        }
+        public void c() {
+        }
+    }
+}
diff --git a/langtools/test/tools/javap/T6868539.java b/langtools/test/tools/javap/T6868539.java
index 3971ea0..7040d53 100644
--- a/langtools/test/tools/javap/T6868539.java
+++ b/langtools/test/tools/javap/T6868539.java
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 6868539 6868548
+ * @bug 6868539 6868548 8035364
  * @summary javap should use current names for constant pool entries,
  *              remove spurious ';' from constant pool entries
  */
@@ -41,17 +41,17 @@
     void run() {
         String output = javap("T6868539");
         verify(output, "Utf8 +java/lang/String");                                   // 1: Utf8
-                                                                                        // 2: currently unused
+                                                                                    // 2: currently unused
         verify(output, "Integer +123456");                                          // 3: Integer
         verify(output, "Float +123456.0f");                                         // 4: Float
         verify(output, "Long +123456l");                                            // 5: Long
         verify(output, "Double +123456.0d");                                        // 6: Double
-        verify(output, "Class +#[0-9]+ +// + T6868539");                            // 7: Class
-        verify(output, "String +#[0-9]+ +// + not found");                          // 8: String
+        verify(output, "Class +#[0-9]+ +// +T6868539");                             // 7: Class
+        verify(output, "String +#[0-9]+ +// +not found");                           // 8: String
         verify(output, "Fieldref +#[0-9]+\\.#[0-9]+ +// +T6868539.errors:I");       // 9: Fieldref
         verify(output, "Methodref +#[0-9]+\\.#[0-9]+ +// +T6868539.run:\\(\\)V");   // 10: Methodref
         verify(output, "InterfaceMethodref +#[0-9]+\\.#[0-9]+ +// +java/lang/Runnable\\.run:\\(\\)V");
-                                                                                        // 11: InterfaceMethodref
+                                                                                    // 11: InterfaceMethodref
         verify(output, "NameAndType +#[0-9]+:#[0-9]+ +// +run:\\(\\)V");            // 12: NameAndType
         if (errors > 0)
             throw new Error(errors + " found.");
diff --git a/langtools/test/tools/javap/T8032814.java b/langtools/test/tools/javap/T8032814.java
new file mode 100644
index 0000000..d9ee2d1
--- /dev/null
+++ b/langtools/test/tools/javap/T8032814.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2014, 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 8032814
+ * @summary LineNumberTable/LocalVariableTable tables duplication for the
+ *          "-v -l" combination of options
+ * @compile -g T8032814.java
+ * @run main T8032814
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class T8032814 {
+    public static void main(String... args) throws Exception {
+        new T8032814().run();
+    }
+
+    void run() throws Exception {
+        Class<?> clazz = T8032814.class;
+        int count = clazz.getDeclaredConstructors().length
+                + clazz.getDeclaredMethods().length;
+        test(clazz, 0);
+        test(clazz, count, "-v");
+        test(clazz, count, "-l");
+        test(clazz, count, "-v", "-l");
+
+        if (errors > 0)
+            throw new Exception(errors + " errors occurred");
+    }
+
+    void test(Class<?> clazz, int expectedCount, String... opts) throws Exception {
+        System.err.println("test class " + clazz.getName() + " " + Arrays.asList(opts) + ": expect: " + expectedCount);
+        List<String> args = new ArrayList<String>();
+        args.addAll(Arrays.asList(opts));
+        args.addAll(Arrays.asList("-classpath", System.getProperty("test.classes")));
+        args.add(clazz.getName());
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args.toArray(new String[args.size()]), pw);
+        pw.close();
+        String out = sw.toString();
+        if (rc != 0)
+            throw new Exception("javap failed unexpectedly: rc=" + rc);
+
+        int lntCount = 0, lvtCount = 0;
+        for (String line: out.split("[\r\n]+")) {
+            if (line.matches("^ *LineNumberTable:$"))
+                lntCount++;
+            if (line.matches("^ *LocalVariableTable:$"))
+                lvtCount++;
+        }
+        checkEqual("LineNumberTable", lntCount, expectedCount);
+        checkEqual("LocalVariableTable", lvtCount, expectedCount);
+    }
+
+    void checkEqual(String attr, int found, int expect) {
+        if (found != expect) {
+            error("Unexpected number of occurrences of " + attr + "\n" +
+                "found: " + found + ", expected: " + expect);
+        }
+    }
+
+    void error(String msg) {
+        System.err.println("Error: " + msg);
+        errors++;
+    }
+
+    int errors = 0;
+}
+
diff --git a/langtools/test/tools/javap/T8032819.java b/langtools/test/tools/javap/T8032819.java
new file mode 100644
index 0000000..9c5eeb4
--- /dev/null
+++ b/langtools/test/tools/javap/T8032819.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2014, 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 8032819
+ * @summary Extra empty line between field declarations for the "-v -c" and "-v -l" combination of options
+ * @compile -g T8032819.java
+ * @run main T8032819
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class T8032819 {
+    static class Fields {
+        int f1;
+        int f2;
+    }
+
+    public static void main(String... args) throws Exception {
+        new T8032819().run();
+    }
+
+    void run() throws Exception {
+        Class<?> clazz = Fields.class;
+        test(clazz);
+        test(clazz, "-c");
+        test(clazz, "-l");
+        test(clazz, "-l", "-c");
+        test(clazz, "-v");
+        test(clazz, "-v", "-c");
+        test(clazz, "-v", "-l");
+        test(clazz, "-v", "-l", "-c");
+
+        if (errors > 0)
+            throw new Exception(errors + " errors occurred");
+    }
+
+    static final String sep = System.getProperty("line.separator");
+    static final String doubleBlankLine = sep + sep + sep;
+
+    void test(Class<?> clazz, String... opts) throws Exception {
+        System.err.println("test " + Arrays.asList(opts));
+        List<String> args = new ArrayList<String>();
+        args.addAll(Arrays.asList(opts));
+        args.addAll(Arrays.asList("-classpath", System.getProperty("test.classes")));
+        args.add(clazz.getName());
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args.toArray(new String[args.size()]), pw);
+        pw.close();
+        String out = sw.toString();
+        if (rc != 0)
+            throw new Exception("javap failed unexpectedly: rc=" + rc);
+
+        int count = 0;
+        int i = out.indexOf(doubleBlankLine, 0);
+        while (i != -1) {
+            count++;
+            i = out.indexOf(doubleBlankLine, i + doubleBlankLine.length());
+        }
+
+        if (count > 0)
+            error(count + " double blank lines found");
+    }
+
+    void error(String msg) {
+        System.err.println("Error: " + msg);
+        errors++;
+    }
+
+    int errors = 0;
+}
+
diff --git a/langtools/test/tools/javap/T8033180.java b/langtools/test/tools/javap/T8033180.java
new file mode 100644
index 0000000..e7840ea
--- /dev/null
+++ b/langtools/test/tools/javap/T8033180.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2014, 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 8033180
+ * @summary Bad newline characters
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class T8033180 {
+
+    public static void main(String... args) throws Exception {
+        new T8033180().run();
+    }
+
+    void run() throws Exception {
+        // fast-track this case, because test cannot fail in this case
+        if (lineSep.equals(nl))
+            return;
+
+        test("-help");
+        test("-version");
+
+        if (errors > 0)
+            throw new Exception(errors + " errors occurred");
+    }
+
+    static final String lineSep = System.getProperty("line.separator");
+    static final String nl = "\n";
+
+    void test(String... opts) throws Exception {
+        System.err.println("test " + Arrays.asList(opts));
+        List<String> args = new ArrayList<String>();
+        args.addAll(Arrays.asList(opts));
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args.toArray(new String[args.size()]), pw);
+        pw.close();
+        String out = sw.toString();
+        if (rc != 0)
+            throw new Exception("javap failed unexpectedly: rc=" + rc);
+
+        // remove all valid platform newline sequences
+        String out2 = out.replace(lineSep, "");
+
+        // count the remaining simple newline characters
+        int count = 0;
+        int i = out2.indexOf(nl, 0);
+        while (i != -1) {
+            count++;
+            i = out2.indexOf(nl, i + nl.length());
+        }
+
+        if (count > 0)
+            error(count + " newline characters found");
+    }
+
+    void error(String msg) {
+        System.err.println("Error: " + msg);
+        errors++;
+    }
+
+    int errors = 0;
+}
+
diff --git a/langtools/test/tools/javap/T8033711.java b/langtools/test/tools/javap/T8033711.java
new file mode 100644
index 0000000..e819146
--- /dev/null
+++ b/langtools/test/tools/javap/T8033711.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2014, 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 8033711
+ * @summary An exception is thrown if using the "-classpath" option with no arguments
+ */
+
+
+import java.io.*;
+
+public class T8033711 {
+    public static void main(String[] args) throws Exception {
+        new T8033711().run();
+    }
+
+    public void run() throws Exception {
+        String out = javap("-classpath");
+        if (out.contains("IllegalArgumentException"))
+            throw new Exception("exception found in javap output");
+        if (!out.contains("Error: invalid use of option"))
+            throw new Exception("expected error message not found in javap output");
+    }
+
+    String javap(String... args) {
+        StringWriter sw = new StringWriter();
+        PrintWriter out = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args, out);
+        out.close();
+        System.out.println(sw.toString());
+        System.out.println("javap exited, rc=" + rc);
+        return sw.toString();
+    }
+}
diff --git a/langtools/test/tools/javap/WhitespaceTest.java b/langtools/test/tools/javap/WhitespaceTest.java
new file mode 100644
index 0000000..83f93cc
--- /dev/null
+++ b/langtools/test/tools/javap/WhitespaceTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2014, 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 8033581 8033798 8033726
+ * @summary Check whitespace in generated output
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class WhitespaceTest {
+    public static void main(String... args) throws Exception {
+        new WhitespaceTest().run();
+    }
+
+    void run() throws Exception {
+        test("-v", "java.lang.String");
+        test("-XDtab:1", "-v", "java.lang.String");
+
+        String testClasses = System.getProperty("test.classes");
+        for (int i = 10; i < 40; i++)
+            test("-XDtab:" + i, "-v", "-classpath", testClasses, "WhitespaceTest$HelloWorld");
+
+        if (errors > 0)
+            throw new Exception(errors + " errors found");
+    }
+
+    void test(String... args) throws Exception {
+        // need to avoid "//" appearing as a constant in the constant pool
+        String slash = "/";
+        String doubleSlash = slash + slash;
+        System.out.println("test: " + Arrays.asList(args));
+        String out = javap(args);
+        for (String line: out.split("[\r\n]+")) {
+            if (line.endsWith(" "))
+                error("line has trailing whitespace: " + line);
+            int comment = line.indexOf(doubleSlash);
+            if (comment > 0 && line.charAt(comment - 1) != ' ')
+                error("no space before comment: " + line);
+            if (line.matches(" +}"))
+                error("bad indentation: " + line);
+        }
+    }
+
+    String javap(String... args) throws Exception {
+        StringWriter sw = new StringWriter();
+        PrintWriter out = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(args, out);
+        out.close();
+        System.out.println(sw.toString());
+        if (rc < 0)
+            throw new Exception("javap exited, rc=" + rc);
+        return sw.toString();
+    }
+
+    void error(String msg) {
+        System.out.println("Error: " + msg);
+        errors++;
+    }
+
+    int errors;
+
+    // small class to test repeatedly with different tab values
+    static class HelloWorld {
+        public static void main(String... args) {
+            System.out.println("Hello World!");
+        }
+    }
+}
diff --git a/make/common/JavaCompilation.gmk b/make/common/JavaCompilation.gmk
index 6180327..9415c10 100644
--- a/make/common/JavaCompilation.gmk
+++ b/make/common/JavaCompilation.gmk
@@ -527,16 +527,16 @@
     # When building in batch, put headers in a temp dir to filter out those that actually
     # changed before copying them to the real header dir.
     ifneq (,$$($1_HEADERS))
-      $1_HEADERS_ARG := -h $$($1_HEADERS).tmp
+      $1_HEADERS_ARG := -h $$($1_HEADERS).$1.tmp
 
       $$($1_HEADERS)/_the.$1_headers: $$($1_BIN)/_the.$1_batch
 		$(MKDIR) -p $$(@D)
-		for f in `ls $$($1_HEADERS).tmp`; do \
-		  if [ ! -f "$$($1_HEADERS)/$$$$f" ] || [ "`$(DIFF) $$($1_HEADERS)/$$$$f $$($1_HEADERS).tmp/$$$$f`" != "" ]; then \
-		    $(CP) -f $$($1_HEADERS).tmp/$$$$f $$($1_HEADERS)/$$$$f; \
+		for f in `ls $$($1_HEADERS).$1.tmp`; do \
+		  if [ ! -f "$$($1_HEADERS)/$$$$f" ] || [ "`$(DIFF) $$($1_HEADERS)/$$$$f $$($1_HEADERS).$1.tmp/$$$$f`" != "" ]; then \
+		    $(CP) -f $$($1_HEADERS).$1.tmp/$$$$f $$($1_HEADERS)/$$$$f; \
 		  fi; \
 		done
-		$(RM) -r $$($1_HEADERS).tmp
+		$(RM) -r $$($1_HEADERS).$1.tmp
 		$(TOUCH) $$@
 
       $1 += $$($1_HEADERS)/_the.$1_headers
diff --git a/nashorn/.hgtags b/nashorn/.hgtags
index a00ea12..8bf7895 100644
--- a/nashorn/.hgtags
+++ b/nashorn/.hgtags
@@ -233,9 +233,14 @@
 32631eed0fad2b31346eb41b29a50227bd29e2ec jdk8-b121
 9d112a0e7df737f3b1fa2a021d5bb350ed56c1b7 jdk8-b122
 688f4167f92188482b0d80e315c72f726c6d5ff6 jdk8-b123
+0b4301c792254c890811e5b8e32c23338d715928 jdk8u20-b00
 7346abe2ea03134e1aee3b3d0fccb047235bd221 jdk8-b124
+d39eb6ab87581becb8efbb5e3a95c99d5e228328 jdk8u20-b01
 7346abe2ea03134e1aee3b3d0fccb047235bd221 jdk8-b125
 095263db862da23fa04d57c7e93e553831132449 jdk8-b126
 fdfbb745caf0e54775a44e66e39d3025785e0528 jdk8-b127
 73cbad0c5d28b8f6e12f634aceeb2b3b4ad09553 jdk8-b128
 9cc3fd32fbabdd8b06771d11a319c9802e118612 jdk8-b129
+43a1183d2ab0ee3dbffd8bc47606e88dbe0c6116 jdk8u20-b02
+9d69311869d513deecfebe767cc5f01502c9c01e jdk8u20-b03
+e70dd55986e085185d976f2a78843a7d7eb87afd jdk8u20-b04
diff --git a/nashorn/.jcheck/conf b/nashorn/.jcheck/conf
index 6d0dbe4..5bd24b1 100644
--- a/nashorn/.jcheck/conf
+++ b/nashorn/.jcheck/conf
@@ -1 +1,2 @@
 project=jdk8
+bugids=dup