Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Oct 2012 21:20:28 +0000 (UTC)
From:      Greg Lewis <glewis@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r306572 - in head/java/openjdk7: . files
Message-ID:  <201210282120.q9SLKS5x001729@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glewis
Date: Sun Oct 28 21:20:28 2012
New Revision: 306572
URL: http://svn.freebsd.org/changeset/ports/306572

Log:
  . Update to 7u9.
  
  Feature safe:	yes

Added:
  head/java/openjdk7/files/patch-7u9   (contents, props changed)
Deleted:
  head/java/openjdk7/files/patch-CVE-2012-4681
Modified:
  head/java/openjdk7/Makefile
  head/java/openjdk7/files/patch-set

Modified: head/java/openjdk7/Makefile
==============================================================================
--- head/java/openjdk7/Makefile	Sun Oct 28 20:46:06 2012	(r306571)
+++ head/java/openjdk7/Makefile	Sun Oct 28 21:20:28 2012	(r306572)
@@ -7,7 +7,6 @@
 
 PORTNAME=	openjdk
 PORTVERSION=	${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER}
-PORTREVISION=	2
 CATEGORIES=	java devel
 MASTER_SITES=	http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}u${JDK_MINOR_VERSION}/promoted/b${JDK_BUILD_NUMBER}/ \
 		http://download.java.net/jaxp/1.4.5/:jaxp \
@@ -40,8 +39,8 @@ OPTIONS_DEFAULT=	POLICY TZUPDATE
 POLICY_DESC=		Install the Unlimited Strength Policy Files
 TZUPDATE_DESC=		Update the time zone data
 
-PORT_MINOR_VERSION=	${JDK_MINOR_VERSION}
-PORT_BUILD_NUMBER=	${JDK_BUILD_NUMBER}
+PORT_MINOR_VERSION=	9
+PORT_BUILD_NUMBER=	05
 JDK_MAJOR_VERSION=	7
 JDK_MINOR_VERSION=	6
 JDK_BUILD_NUMBER=	24

Added: head/java/openjdk7/files/patch-7u9
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/openjdk7/files/patch-7u9	Sun Oct 28 21:20:28 2012	(r306572)
@@ -0,0 +1,40207 @@
+diff -r e4def733cc8c -r d9c8fa0606fd .hgtags
+--- .hgtags	Tue Aug 07 12:09:29 2012 -0700
++++ .hgtags	Thu Sep 20 14:22:08 2012 -0700
+@@ -197,3 +197,17 @@
+ 29f6fb1833eb2a696b95e8985126f2d70f511a82 jdk7u6-b21
+ 31cdab09d719fe60876c7f3a472386c1455d93e2 jdk7u6-b22
+ d1c709f1196a73d1df10d04a221b10e30fd2eb48 jdk7u6-b23
++e4def733cc8c58e83b7cefa7edd89a3e2b793520 jdk7u6-b24
++f5f546dba006778854e7a81141fc1b44acd257a4 jdk7u6-b30
++43775eae8df6c874fb3631c86009505cf3821b1f jdk7u7-b10
++a380c75873bfb578e605d4362edb18c08698cc3e jdk7u7-b30
++d7f2b3949f9c9ff1115ea61c496d3cd4c62e2759 jdk7u7-b11
++82c51e6a3bea0dd8feb1bd3033e847dbdc5d9f99 jdk7u7-b31
++5ca487420f9c2cf6d39acf1e842d13bf8ef0ca07 jdk7u7-b01
++dbfa9c57853c2dd9cd4e4a139d83b519573d8031 jdk7u7-b02
++bae912f95f2aa1d22dbc0ff62816b71861965cd6 jdk7u9-b03
++0000000000000000000000000000000000000000 jdk7u7-b01
++5ca487420f9c2cf6d39acf1e842d13bf8ef0ca07 jdk7u9-b01
++0000000000000000000000000000000000000000 jdk7u7-b02
++dbfa9c57853c2dd9cd4e4a139d83b519573d8031 jdk7u9-b02
++3159fbe20e2d9501007aae8ca3db58978d754561 jdk7u9-b04
+diff -r 02512f61591f -r a5dced409c4b .hgtags
+--- corba/.hgtags	Tue Aug 07 12:09:37 2012 -0700
++++ corba/.hgtags	Thu Sep 20 14:22:12 2012 -0700
+@@ -197,3 +197,17 @@
+ 353c15c4bc371f2f8258344c988d1403477cc140 jdk7u6-b21
+ 793b80c0316fcafa18668bced26acb41af3be07d jdk7u6-b22
+ 2a8376123fbb81bc4b2f643ff7cfaf7f87b21c35 jdk7u6-b23
++02512f61591f55d84458d1ea4ce84eecb7324f89 jdk7u6-b24
++8b20875b3faa01ef56331045de88747df278eaeb jdk7u6-b30
++d7fe6c13adf9e06d98c061449d171bc06c2ba0a3 jdk7u7-b10
++496baf62d0550c704505b0ff6f390279f6a569e0 jdk7u7-b30
++e57e4274a3575f278115cc8ef03c5bdf3c43a7ed jdk7u7-b11
++06cbc4af754ea8f2e3b7d0b1701d1a69ce9d5075 jdk7u7-b31
++8737f43e092ea52dd85dcf164736eea3b9b364e6 jdk7u7-b01
++ec602836c4e173927911673d253bb8baa1e3d170 jdk7u7-b02
++a163e56c6679d10dc64ec48f35e67c3a5942afba jdk7u9-b03
++0000000000000000000000000000000000000000 jdk7u7-b01
++8737f43e092ea52dd85dcf164736eea3b9b364e6 jdk7u9-b01
++0000000000000000000000000000000000000000 jdk7u7-b02
++ec602836c4e173927911673d253bb8baa1e3d170 jdk7u9-b02
++268470f3f0d0d7e9b04c579c551571097f0b0305 jdk7u9-b04
+diff -r b03c2687fb16 -r da4aa289ac10 .hgtags
+--- hotspot/.hgtags	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/.hgtags	Mon Sep 24 12:07:44 2012 -0700
+@@ -318,3 +318,17 @@
+ 02a6c89432d724119565f9ba25672829b136fc5f jdk7u6-b21
+ a79d86eef6ac995a1fc35554f082f3a61abe9ae0 jdk7u6-b22
+ df57f6208cb76b4e8d1a0bd0eea3d2ad577cb79b jdk7u6-b23
++b03c2687fb16514652e79261ad68d2c601dcee62 jdk7u6-b24
++cffde29ea7cc8647f17002a4d0e94065dcd82839 jdk7u6-b30
++f7933fecea9aa494e4032e17ff07e5fcec4b5961 jdk7u7-b10
++eeef33dc4b40f9ba50c4c9b1ac61b30f0f2523bf jdk7u7-b30
++f1551c70c7f598b7049bcc33e530fc738a81c7a4 jdk7u7-b11
++6b9db7216dd4b7846faf372f19566a418c8e391f jdk7u7-b31
++b66bb0e3224ff15259361a5b501bf8fa6b346113 jdk7u7-b01
++ca6943c94e6075fc28353d52ac6ea52c80aef9bb jdk7u7-b02
++e043d96d767d8ba4d74d53c477af8e07b78b6128 jdk7u9-b03
++0000000000000000000000000000000000000000 jdk7u7-b01
++b66bb0e3224ff15259361a5b501bf8fa6b346113 jdk7u9-b01
++0000000000000000000000000000000000000000 jdk7u7-b02
++ca6943c94e6075fc28353d52ac6ea52c80aef9bb jdk7u9-b02
++ed42837374ac730ddaf2fd28814017c665634a8b jdk7u9-b04
+diff -r b03c2687fb16 -r da4aa289ac10 make/hotspot_version
+--- hotspot/make/hotspot_version	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/make/hotspot_version	Mon Sep 24 12:07:44 2012 -0700
+@@ -34,8 +34,8 @@
+ HOTSPOT_VM_COPYRIGHT=Copyright 2012
+ 
+ HS_MAJOR_VER=23
+-HS_MINOR_VER=2
+-HS_BUILD_NUMBER=09
++HS_MINOR_VER=5
++HS_BUILD_NUMBER=02
+ 
+ JDK_MAJOR_VER=1
+ JDK_MINOR_VER=7
+diff -r b03c2687fb16 -r da4aa289ac10 src/cpu/sparc/vm/methodHandles_sparc.cpp
+--- hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp	Mon Sep 24 12:07:44 2012 -0700
+@@ -698,6 +698,17 @@
+   if (arg_slots.is_constant() && arg_slots.as_constant() == 0)
+     return;
+ 
++  // We have to insert at least one word, so bang the stack.
++  if (UseStackBanging) {
++    // Save G3_method_handle since bang_stack_with_offset uses it as a temp register
++    __ mov(G3_method_handle, temp_reg);
++    int frame_size = (arg_slots.is_constant() ? -1 * arg_slots.as_constant() * wordSize : 0);
++    if (frame_size <= 0)
++      frame_size = 256 * Interpreter::stackElementSize;  // conservative
++    __ generate_stack_overflow_check(frame_size);
++    __ mov(temp_reg, G3_method_handle);
++  }
++
+   assert_different_registers(argslot_reg, temp_reg, temp2_reg, temp3_reg,
+                              (!arg_slots.is_register() ? Gargs : arg_slots.as_register()));
+ 
+@@ -1702,6 +1713,14 @@
+                         "copied argument(s) must fall within current frame");
+       }
+ 
++      if (UseStackBanging) {
++        // Save G3_method_handle since bang_stack_with_offset uses it as a temp register
++        __ mov(G3_method_handle, O3_scratch);
++         // Bang the stack before pushing args.
++        int frame_size = 256 * Interpreter::stackElementSize;  // conservative
++        __ generate_stack_overflow_check(frame_size + sizeof(RicochetFrame));
++        __ mov(O3_scratch, G3_method_handle);
++      }
+       // insert location is always the bottom of the argument list:
+       __ neg(O1_stack_move);
+       push_arg_slots(_masm, O0_argslot, O1_stack_move, O2_scratch, O3_scratch);
+@@ -2118,6 +2137,18 @@
+       // The return handler will further cut back the stack when it takes
+       // down the RF.  Perhaps there is a way to streamline this further.
+ 
++      if (UseStackBanging) {
++        // Save G3_method_handle since bang_stack_with_offset uses it as a temp register
++        __ mov(G3_method_handle, O4_scratch);
++        // Bang the stack before recursive call.
++        // Even if slots == 0, we are inside a RicochetFrame.
++        int frame_size = collect_count.is_constant() ? collect_count.as_constant() * wordSize : -1;
++        if (frame_size < 0) {
++          frame_size = 256 * Interpreter::stackElementSize;  // conservative
++        }
++        __ generate_stack_overflow_check(frame_size + sizeof(RicochetFrame));
++        __ mov(O4_scratch, G3_method_handle);
++      }
+       // State during recursive call:
+       // ... keep1 | dest | dest=42 | keep3 | RF... | collect | bounce_pc |
+       __ jump_to_method_handle_entry(G3_method_handle, O1_scratch);
+diff -r b03c2687fb16 -r da4aa289ac10 src/cpu/x86/vm/methodHandles_x86.cpp
+--- hotspot/src/cpu/x86/vm/methodHandles_x86.cpp	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/src/cpu/x86/vm/methodHandles_x86.cpp	Mon Sep 24 12:07:44 2012 -0700
+@@ -691,6 +691,14 @@
+   if (VerifyMethodHandles)
+     verify_stack_move(_masm, arg_slots, -1);
+ 
++  // We have to insert at least one word, so bang the stack.
++  if (UseStackBanging) {
++    int frame_size = (arg_slots.is_constant() ? -1 * arg_slots.as_constant() * wordSize : 0);
++    if (frame_size <= 0)
++      frame_size = 256 * Interpreter::stackElementSize;  // conservative
++    __ generate_stack_overflow_check(frame_size);
++  }
++
+   // Make space on the stack for the inserted argument(s).
+   // Then pull down everything shallower than rax_argslot.
+   // The stacked return address gets pulled down with everything else.
+@@ -1769,6 +1777,11 @@
+                         "copied argument(s) must fall within current frame");
+       }
+ 
++      if (UseStackBanging) {
++        // Bang the stack before pushing args.
++        int frame_size = 256 * Interpreter::stackElementSize;  // conservative
++        __ generate_stack_overflow_check(frame_size + sizeof(RicochetFrame));
++      }
+       // insert location is always the bottom of the argument list:
+       Address insert_location = __ argument_address(constant(0));
+       int pre_arg_words = insert_location.disp() / wordSize;   // return PC is pushed
+@@ -2206,6 +2219,15 @@
+       // The return handler will further cut back the stack when it takes
+       // down the RF.  Perhaps there is a way to streamline this further.
+ 
++      if (UseStackBanging) {
++        // Bang the stack before recursive call.
++        // Even if slots == 0, we are inside a RicochetFrame.
++        int frame_size = collect_count.is_constant() ? collect_count.as_constant() * wordSize : -1;
++        if (frame_size < 0) {
++          frame_size = 256 * Interpreter::stackElementSize;  // conservative
++        }
++        __ generate_stack_overflow_check(frame_size + sizeof(RicochetFrame));
++      }
+       // State during recursive call:
+       // ... keep1 | dest | dest=42 | keep3 | RF... | collect | bounce_pc |
+       __ jump_to_method_handle_entry(rcx_recv, rdx_temp);
+@@ -2366,10 +2388,15 @@
+         // case in a 32-bit version of the VM) we have to save 'rsi'
+         // on the stack because later on (at 'L_array_is_empty') 'rsi'
+         // will be overwritten.
+-        { if (rsi_temp == saved_last_sp)  __ push(saved_last_sp); }
++        if (rsi_temp == saved_last_sp) {
++          __ push(saved_last_sp);
++          // Need to re-push return PC to keep it on stack top.
++          __ lea(saved_last_sp, ExternalAddress(SharedRuntime::ricochet_blob()->bounce_addr()).addr());
++          __ push(saved_last_sp);
++        }
+         // Also prepare a handy macro which restores 'rsi' if required.
+ #define UNPUSH_RSI                                                      \
+-        { if (rsi_temp == saved_last_sp)  __ pop(saved_last_sp); }
++        { if (rsi_temp == saved_last_sp) { __ pop(saved_last_sp); __ pop(saved_last_sp); } }
+ 
+         __ jmp(L_array_is_empty);
+         __ bind(L_skip);
+@@ -2382,7 +2409,12 @@
+       // called in the case of a null pointer exception will not be
+       // confused by the extra value on the stack (it expects the
+       // return pointer on top of the stack)
+-      { if (rsi_temp == saved_last_sp)  __ push(saved_last_sp); }
++      if (rsi_temp == saved_last_sp) {
++        __ push(saved_last_sp);
++        // Need to re-push return PC to keep it on stack top.
++        __ lea(saved_last_sp, ExternalAddress(SharedRuntime::ricochet_blob()->bounce_addr()).addr());
++        __ push(saved_last_sp);
++      }
+ 
+       // Check the array type.
+       Register rbx_klass = rbx_temp;
+diff -r b03c2687fb16 -r da4aa289ac10 src/share/vm/compiler/compilerOracle.cpp
+--- hotspot/src/share/vm/compiler/compilerOracle.cpp	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/src/share/vm/compiler/compilerOracle.cpp	Mon Sep 24 12:07:44 2012 -0700
+@@ -575,7 +575,7 @@
+   char token[1024];
+   int  pos = 0;
+   int  c = getc(stream);
+-  while(c != EOF) {
++  while(c != EOF && pos < (int)(sizeof(token)-1)) {
+     if (c == '\n') {
+       token[pos++] = '\0';
+       parse_from_line(token);
+@@ -596,7 +596,7 @@
+   int  pos = 0;
+   const char* sp = str;
+   int  c = *sp++;
+-  while (c != '\0') {
++  while (c != '\0' && pos < (int)(sizeof(token)-1)) {
+     if (c == '\n') {
+       token[pos++] = '\0';
+       parse_line(token);
+diff -r b03c2687fb16 -r da4aa289ac10 src/share/vm/opto/loopTransform.cpp
+--- hotspot/src/share/vm/opto/loopTransform.cpp	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/src/share/vm/opto/loopTransform.cpp	Mon Sep 24 12:07:44 2012 -0700
+@@ -2733,6 +2733,8 @@
+   result_mem = new (C, 1) ProjNode(call,TypeFunc::Memory);
+   _igvn.register_new_node_with_optimizer(result_mem);
+ 
++/* Disable following optimization until proper fix (add missing checks).
++
+   // If this fill is tightly coupled to an allocation and overwrites
+   // the whole body, allow it to take over the zeroing.
+   AllocateNode* alloc = AllocateNode::Ideal_allocation(base, this);
+@@ -2756,6 +2758,7 @@
+ #endif
+     }
+   }
++*/
+ 
+   // Redirect the old control and memory edges that are outside the loop.
+   Node* exit = head->loopexit()->proj_out(0);
+diff -r b03c2687fb16 -r da4aa289ac10 src/share/vm/runtime/arguments.cpp
+--- hotspot/src/share/vm/runtime/arguments.cpp	Tue Aug 07 12:09:51 2012 -0700
++++ hotspot/src/share/vm/runtime/arguments.cpp	Mon Sep 24 12:07:44 2012 -0700
+@@ -857,7 +857,7 @@
+   bool result         = true;
+ 
+   int c = getc(stream);
+-  while(c != EOF) {
++  while(c != EOF && pos < (int)(sizeof(token)-1)) {
+     if (in_white_space) {
+       if (in_comment) {
+         if (c == '\n') in_comment = false;
+diff -r b03c2687fb16 -r da4aa289ac10 test/compiler/7158807/Test7158807.java
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ hotspot/test/compiler/7158807/Test7158807.java	Mon Sep 24 12:07:44 2012 -0700
+@@ -0,0 +1,66 @@
++/*
++ * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ *
++ */
++
++/**
++ * @test
++ * @bug 7158807
++ * @summary Revise stack management with volatile call sites
++ * @author Marc Schonefeld
++ *
++ * @run main/othervm -XX:CompileThreshold=100 -Xbatch -Xss248k Test7158807
++ */
++
++import java.lang.invoke.MethodHandle;
++import java.lang.invoke.MethodType;
++import java.lang.invoke.VolatileCallSite;
++
++public class Test7158807 {
++    /**
++     * @param args the command line arguments
++     */
++    public static void main(String[] args) throws Throwable {
++        for (int i = 0; i < 25600; i++) {
++            MethodType mt = MethodType.methodType(java.lang.String.class);
++            System.out.println(mt);
++            MethodType mt3 = null;
++            try {
++              mt3 = MethodType.genericMethodType(i);
++            } catch (IllegalArgumentException e) {
++              System.out.println("Passed");
++              System.exit(95);
++            }
++            System.out.println(i+":");
++            try {
++                VolatileCallSite vcs = new VolatileCallSite(mt3);
++                System.out.println(vcs);
++                MethodHandle mh = vcs.dynamicInvoker();
++                vcs.setTarget(mh);
++                // System.out.println(mh);
++                mh.invoke(mt, mh);
++            } catch (Throwable e) {
++            }
++        }
++    }
++}
++
+diff -r b03c2687fb16 -r da4aa289ac10 test/runtime/7158800/BadUtf8.java
+--- hotspot/test/runtime/7158800/BadUtf8.java	Tue Aug 07 12:09:51 2012 -0700
++++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+@@ -1,1254 +0,0 @@
+-/*
+- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+- *
+- * This code is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 2 only, as
+- * published by the Free Software Foundation.
+- *
+- * This code is distributed in the hope that it will be useful, but WITHOUT
+- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+- * version 2 for more details (a copy is included in the LICENSE file that
+- * accompanied this code).
+- *
+- * You should have received a copy of the GNU General Public License version
+- * 2 along with this work; if not, write to the Free Software Foundation,
+- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+- * or visit www.oracle.com if you need additional information or have any
+- * questions.
+- */
+-
+-/*
+- * @test
+- * @bug 7158800
+- * @summary Test that 1200 symbols that hash to the same value triggers
+- * the symbol table alternate hashing mechanism.  There isn't actually a
+- * way to verify this.
+- */
+-//
+-// Generate large number of strings that hash to the same value
+-// to slow down symbol table lookup.
+-
+-import java.io.BufferedOutputStream;
+-import java.io.FileOutputStream;
+-
+-public class BadUtf8 {
+-static String[] strings = {
+-    "EOcLKvbddZyPxYpb",
+-    "DncLKvbdPxmAGrqj",
+-    "DoCjjvbdpxoIHQdY",
+-    "EPCkKvbdqYoHfqEY",
+-    "DnbkKvbdezvYdiUX",
+-    "DnbjjvbdeEoRbXCj",
+-    "EObkKvbdbsCkUEKB",
+-    "EOcLKvbdnUtyjiqf",
+-    "DncLKvbdRWnDcMHc",
+-    "DoCkKvbdrSUkOLAm",
+-    "DncLKvbdfNFwGmJk",
+-    "EPDLKvbdvAdYroFI",
+-    "DoDLKvbdiGibyViu",
+-    "DncLKvbdYqNEhmFR",
+-    "DoCkKvbdEARhlzXX",
+-    "DncLKvbdSZjHsCvA",
+-    "DncKjvbdqTsgRqkU",
+-    "DnbjjvbdqAiFAXHd",
+-    "EPDKjvbdGcjvJaij",
+-    "DnbkKvbdwtldpxkn",
+-    "DoDKjvbdYkrETnMN",
+-    "EPCjjvbdbBWEfQQX",
+-    "EPCjjvbduMXwAtBX",
+-    "DncLKvbdbsCkTcia",
+-    "DoCjjvbdczYpYZRC",
+-    "EOcKjvbdFeiqmhsq",
+-    "DoCkKvbdKCicQibx",
+-    "EOcKjvbdZLrEUOLm",
+-    "DoCjjvbdaNKbStmH",
+-    "DoDKjvbdJbjDQjDY",
+-    "EPCkKvbdemFwGmKL",
+-    "EPDKjvbdZQleImEq",
+-    "DncKjvbdZjShPfbG",
+-    "DnbjjvbdqYnhHREY",
+-    "DoCkKvbdaRfDIUGL",
+-    "DoDKjvbdLrWlyuQz",
+-    "DnbjjvbdZisHofaf",
+-    "EObjjvbdhtydvrUb",
+-    "DnbjjvbdRotHKGEX",
+-    "EObjjvbdNeEThhkE",
+-    "EPCjjvbdZtJJZESn",
+-    "DoDKjvbdnPyxvLYb",
+-    "EPDKjvbdeEoRbWbj",
+-    "EOcLKvbdFxttaEXb",
+-    "EObjjvbddwystRez",
+-    "EPCjjvbdJpzEnenF",
+-    "DnbkKvbdTppntuIN",
+-    "EPCkKvbdTukpKUBR",
+-    "DnbkKvbdhlFEOUcZ",
+-    "EObkKvbdlhdUQuRa",
+-    "DnbjjvbdkClKqHUg",
+-    "EOcKjvbdqTtGqqkU",
+-    "DncKjvbdtkwvaUBX",
+-    "DoDKjvbdsQWOjCuf",
+-    "DncLKvbdEKIJuwjA",
+-    "DncKjvbdGLErcIMu",
+-    "EOcLKvbdNPwpumfs",
+-    "EObkKvbdnVUzLJrG",
+-    "DoCkKvbdcTDKsdKB",
+-    "DncKjvbdKRZdoFme",
+-    "EOcLKvbdemFvgNKL",
+-    "EPCkKvbdznopdblY",
+-    "EPDLKvbdOYPVzdOU",
+-    "DnbjjvbdsZlPsAhO",
+-    "DoDLKvbdKCjDRKDY",
+-    "DoCkKvbdhuZeXSVC",
+-    "EPDKjvbdOStVgEtp",
+-    "DncLKvbdvwMAvBWV",
+-    "EPDKjvbdBcoaWJlf",
+-    "EOcKjvbdZxdKODMS",
+-    "DoCjjvbdbsCkTcjB",
+-    "EOcLKvbdwWlAuaWV",
+-    "DnbjjvbdFejRnJUR",
+-    "DnbjjvbdmIdTqVSB",
+-    "DnbkKvbdqBIeAWhE",
+-    "DncKjvbdrMzJyMIJ",
+-    "DoCkKvbdZGvdAOsJ",
+-    "DncLKvbdjggLfFnL",
+-    "DoCjjvbdYqNFJMdq",
+-    "DoCkKvbdqZPHfqDx",
+-    "DncLKvbdOEdThiLE",
+-    "DoCkKvbdZirgpGaf",
+-    "EPDLKvbdziuQPdSt",
+-    "EObkKvbdKQyeOenF",
+-    "DoDLKvbduaDySndh",
+-    "DoCjjvbdVUNUGLvK",
+-    "DncKjvbdAMhYrvzY",
+-    "DnbkKvbdnQZxvKxb",
+-    "EPCjjvbdBhjakJFj",
+-    "DncLKvbdmfeYNNfy",
+-    "DoDLKvbdjlbLydfo",
+-    "DoDLKvbdpyPIGpcx",
+-    "EOcLKvbdnVUzLJqf",
+-    "DoCjjvbdmJETqVSB",
+-    "DoDLKvbdJTZAsMxM",
+-    "DoCkKvbdnQZxvLZC",
+-    "DoDKjvbdACqwizJQ",
+-    "DncKjvbdvBEZSoFI",
+-    "DncKjvbdGckVjCJj",
+-    "DncLKvbdiMFENtcZ",
+-    "Dnbjjvbdjuvmcaww",
+-    "DnbkKvbdZyEKNblS",
+-    "DoCjjvbduMYXBUBX",
+-    "DnbjjvbdFWYopNJe",
+-    "DoDKjvbdelfXGljL",
+-    "DnbjjvbdakLenmcA",
+-    "EPDKjvbdfILWRmpg",
+-    "EObjjvbdSLYeuHLT",
+-    "DoCjjvbdMfbolotk",
+-    "EPDLKvbdrRuKnKaN",
+-    "EOcKjvbdyzdnRhIh",
+-    "DoDLKvbdGAoRZJzm",
+-    "DoCjjvbdhlFDnUcZ",
+-    "EPDLKvbdmpZyVkYb",
+-    "DncKjvbdTpqPUuIN",
+-    "DncLKvbdHDjvJaij",
+-    "EPDLKvbdYlRcsmkm",
+-    "EPDLKvbdvlvAMdFN",
+-    "DncKjvbdIsZArmYM",
+-    "EOcLKvbdegjuqnQg",
+-    "EOcLKvbdZQmFJNFR",
+-    "DoCjjvbdZxdJmcMS",
+-    "EPCkKvbdlZTSTYgU",
+-    "DoDKjvbdqceJPnWB",
+-    "DncLKvbdVgwuxGxz",
+-    "DncKjvbdDnbkLXDE",
+-    "EPDLKvbdatbHYKsh",
+-    "DncKjvbdEzsqFLbi",
+-    "EPDLKvbdnVVZkKRf",
+-    "EOcKjvbdKeegbBQu",
+-    "EPCkKvbdKfGHaaRV",
+-    "EPDKjvbdmIctRVRa",
+-    "EPCjjvbdRMxBxnUz",
+-    "DnbjjvbdJYTbILpp",
+-    "EPCkKvbdTAEiHbPE",
+-    "EOcLKvbdfelZnGgA",
+-    "DoCjjvbdOStWGeUp",
+-    "EOcLKvbdemGXHNJk",
+-    "DoDKjvbdYTMAmUOx",
+-    "EPCkKvbdpyOhGpcx",
+-    "EPCkKvbdAMgxsWzY",
+-    "DnbjjvbdYkrETnMN",
+-    "EPDLKvbdUQqPUtgm",
+-    "DncKjvbdehKurNqH",
+-    "DoCjjvbdZMSETnLm",
+-    "DoDKjvbdIHGyyXwg",
+-    "EObjjvbdXGYzUAPT",
+-    "DoCjjvbdhbPCeWqR",
+-    "DoCkKvbdKNADzGuB",
+-    "DnbjjvbdFeirOJTq",
+-    "DncLKvbdaRecHtFk",
+-    "DnbkKvbdzoPpeClY",
+-    "EObkKvbdZRMeJMeR",
+-    "DnbjjvbdYfvdAPSi",
+-    "DncLKvbdJcKCqJcY",
+-    "EOcLKvbdqvokbhyR",
+-    "DoDLKvbdrRuLNjaN",
+-    "DoCjjvbdTlWPBWOi",
+-    "DoCkKvbdjvWnEBxX",
+-    "DoDLKvbdTkunaVoJ",
+-    "DoCkKvbdQZNAHTSK",
+-    "EObjjvbdqwPkbhyR",
+-    "EOcLKvbdNHDPlpUk",
+-    "DncLKvbdIHHZxxYH",
+-    "DncLKvbdtkxXAtAw",
+-    "DncLKvbdSCEFMJZL",
+-    "DnbjjvbdZQmEhldq",
+-    "DoCjjvbdNGbolotk",
+-    "DnbjjvbdnCKWwnmu",
+-    "DncLKvbdzHZMANEw",
+-    "DoDKjvbdmttykJrG",
+-    "DnbkKvbdlrZUzSci",
+-    "EPDKjvbdSKyGVHKs",
+-    "DoCjjvbdKVuGEFGi",
+-    "EPCjjvbdCIkBkIej",
+-    "DncLKvbdzHZMAMeX",
+-    "DnbkKvbdaSFbgsek",
+-    "DncLKvbdHDjujBij",
+-    "DoDKjvbdGZVUaDwb",
+-    "DnbjjvbdZnnJFEzK",
+-    "DoCkKvbdtcDUwWOo",
+-    "DoCkKvbdlBMoNALA",
+-    "EOcKjvbdNsUWHFUp",
+-    "DoDLKvbdVUNUFlVj",
+-    "DnbkKvbdhkdcnUcZ",
+-    "DncLKvbdLiBkqYAS",
+-    "EOcKjvbdzoPpdcLx",
+-    "EPDKjvbdijGIJmXr",
+-    "EOcKjvbdZisHofaf",
+-    "DoDLKvbdeOdrkUUS",
+-    "DoDLKvbdnPyxvKxb",
+-    "EPDKjvbdIxUBhMRQ",
+-    "DncLKvbdlhctRUqa",
+-    "DoDLKvbdmgFXlnGy",
+-    "DncKjvbdCJKbKiGK",
+-    "EOcLKvbddndrjtUS",
+-    "DnbjjvbdkDLjqGuH",
+-    "DncKjvbdmIcsptqa",
+-    "DoCkKvbdvvlAvBWV",
+-    "EObjjvbdjblLQftg",
+-    "DnbjjvbdCEQBWKMf",
+-    "DnbjjvbdBdPaVilf",
+-    "DoCkKvbdZxcjODLr",
+-    "DoCkKvbdEObjjwCd",
+-    "EPDKjvbdyTNhlqbH",
+-    "EPCkKvbdUMVoAvPJ",
+-    "DncKjvbdUxhUZjoO",
+-    "DncKjvbdqqtjmkAm",
+-    "DncKjvbdKfGICBRV",
+-    "EPCjjvbdVrOXaeLc",
+-    "EPDLKvbdwXLaWBWV",
+-    "EPCkKvbdjblKqHUg",
+-    "DnbjjvbduDCuWuoP",
+-    "EPDKjvbdNGbpMouL",
+-    "EObjjvbdBcoaVjNG",
+-    "DncLKvbdrWpMDIxq",
+-    "DncLKvbdhaoCdwRR",
+-    "DnbkKvbdFxtuBDwb",
+-    "DncKjvbdIjEAKPgE",
+-    "EOcLKvbduCbuXVoP",
+-    "DoDKjvbdZtIiZDsO",
+-    "DnbjjvbdEztRElCi",
+-    "DncLKvbdxmsHwsJD",
+-    "DnbjjvbdRbEElIxk",
+-    "DoDKjvbdWHwvXgYz",
+-    "EOcKjvbdQlwbYnUz",
+-    "EOcLKvbdVTltFkuj",
+-    "DncKjvbdliETptqa",
+-    "DnbkKvbddoErjtTr",
+-    "DoCkKvbdgPazvdXh",
+-    "DncKjvbdySmhlqag",
+-    "DoCjjvbdbPgHDkzd",
+-    "DoCkKvbdFWZPomKF",
+-    "EObjjvbdssSSxydc",
+-    "EObjjvbdzQnliJwA",
+-    "EObkKvbdKCjCpibx",
+-    "EPCjjvbdpyOhHREY",
+-    "DncLKvbddjJqutzn",
+-    "EObkKvbdBdQAujMf",
+-    "EPCkKvbdLAjflbXq",
+-    "DncLKvbdLBLGlaxR",
+-    "DoDLKvbdrpWPJbuf",
+-    "DoCjjvbdEKHiuxKA",
+-    "DoCjjvbdXsMAlsnx",
+-    "EObkKvbdptTgSSLU",
+-    "DoDKjvbdnHFXmNfy",
+-    "DncKjvbdCJKbKhej",
+-    "EPCjjvbdhlEdOUby",
+-    "EOcKjvbdKWUfEFGi",
+-    "DoDKjvbdZQmFJMdq",
+-    "EPCjjvbdiGjDZWKV",
+-    "EObkKvbdVAbQrprZ",
+-    "DoDKjvbdfekzNgHA",
+-    "DoDLKvbdnHEwlmgZ",
+-    "DncKjvbdwzHeexEr",
+-    "DoCjjvbdmpZxujyC",
+-    "EPDKjvbdwMvAMcdm",
+-    "DoCjjvbdfHkVrNqH",
+-    "EPCkKvbdYzbfRiuy",
+-    "EPCkKvbdZtIiZDrn",
+-    "DnbjjvbdjvWnDbYX",
+-    "DoCjjvbdOStVgEtp",
+-    "EPDLKvbdZMSETmlN",
+-    "EPDKjvbdBhjajhej",
+-    "EPCjjvbddoFTLUUS",
+-    "DnbkKvbdsQVoJcWG",
+-    "EPCjjvbdrEFJQNvB",
+-    "DoCjjvbdMpYRWOGs",
+-    "EOcLKvbdZirgpHBf",
+-    "EPDLKvbdyOTIXsJD",
+-    "DoCkKvbdKRZdnfNe",
+-    "DnbjjvbdbBWFFoow",
+-    "EPCjjvbdgFlZnHHA",
+-    "DnbkKvbdGGJrOIsq",
+-    "DoDLKvbduDCtwWPP",
+-    "EObjjvbdNddUIhjd",
+-    "DnbjjvbdxsNiMqag",
+-    "EObjjvbddeOrCWbj",
+-    "EObjjvbdPxmAGsRj",
+-    "EOcLKvbddeOrCXDK",
+-    "DoDLKvbddeOrBwCj",
+-    "DoCjjvbdVqnYCElD",
+-    "DnbkKvbdUyIUZjoO",
+-    "EObjjvbdeFOrCXDK",
+-    "EObkKvbdVrNxCFLc",
+-    "EObjjvbdTfzmkwWF",
+-    "EOcKjvbdIHGzZYYH",
+-    "EPDKjvbdtbbuXWPP",
+-    "DoCjjvbdZisIQHBf",
+-    "EObjjvbdbsCkUDjB",
+-    "EPCkKvbdVwJXudFH",
+-    "EPDKjvbdrouoKDVf",
+-    "EPCkKvbdFyVVBEYC",
+-    "DncLKvbdZnnIeEzK",
+-    "EPDLKvbdxVNFQxkn",
+-    "DoDKjvbdpxnggRDx",
+-    "DoDLKvbdqZOgfpcx",
+-    "DncKjvbdCIjakJGK",
+-    "EPCkKvbdCJLBjhej",
+-    "DoDLKvbdnPzYvKxb",
+-    "EOcKjvbdqTsgSRkU",
+-    "EOcLKvbdLBLGlaxR",
+-    "DoDLKvbdcbTMrAUN",
+-    "DncLKvbdzitoodSt",
+-    "DoDKjvbdJvUfDdfi",
+-    "EOcLKvbdHDjvKCJj",
+-    "EPCkKvbdeOeTKssr",
+-    "DnbkKvbdlYrqsYft",
+-    "DncLKvbdiiehKMxS",
+-    "DncKjvbdURQoVUhN",
+-    "DnbkKvbduMYXBUAw",
+-    "DoDLKvbdSPtHJfEX",
+-    "EObkKvbdqBJFAWgd",
+-    "EOcKjvbdFpATWgFy",
+-    "DoDLKvbdBsBDTfXS",
+-    "DncKjvbdjhHLfFmk",
+-    "DoCjjvbdCJKakIfK",
+-    "DnbkKvbddoFSjtTr",
+-    "EObkKvbdANIYsWzY",
+-    "EObjjvbdCTAbtFvr",
+-    "EObjjvbdrRtkOLAm",
+-    "DnbkKvbdkxsSTYgU",
+-    "DoCjjvbdnBiwXnmu",
+-    "EObjjvbdwtmEqYlO",
+-    "EPDKjvbdrylQTAhO",
+-    "DoDLKvbdtbbtvvOo",
+-    "EPCjjvbdZLrETmlN",
+-    "EPDLKvbdWXJYWDdg",
+-    "DoCkKvbdKQzFOfOF",
+-    "EPCjjvbdwzIFfXeS",
+-    "DncKjvbdRjyFuHLT",
+-    "EPDLKvbdULunaWPJ",
+-    "DncKjvbdUxhTykOn",
+-    "DnbkKvbdJcKCqKDY",
+-    "EPDLKvbdcbSmSATm",
+-    "DnbkKvbdegjurNqH",
+-    "EPDKjvbdZjTIQGbG",
+-    "EPCjjvbdiLddNuCy",
+-    "DoCjjvbdZQldiNEq",
+-    "EOcLKvbdakMGPODA",
+-    "EObjjvbdnHEwlmgZ",
+-    "EOcLKvbdBsAcUGXS",
+-    "EPCkKvbdiVZdwSUb",
+-    "EOcLKvbddCTNSAUN",
+-    "DnbkKvbdEXxMUUUM",
+-    "DncKjvbdYpldiMeR",
+-    "DoDKjvbdNddTiIjd",
+-    "DoDLKvbdZLqdUNlN",
+-    "EPCkKvbdiBncFWpq",
+-    "DncLKvbdiCPDEvqR",
+-    "EOcKjvbdUyHszKoO",
+-    "DncKjvbdhtydvqtb",
+-    "EPCjjvbdpxoHgQcx",
+-    "EObkKvbdkWWnDaxX",
+-    "DnbjjvbdBhkBkJFj",
+-    "DoCkKvbdRacdkhyL",
+-    "EOcLKvbdZjTHpHCG",
+-    "EPCkKvbdMowqWOGs",
+-    "DncLKvbdegjurNpg",
+-    "EObjjvbdfMfWfmKL",
+-    "EPDLKvbdZirgpGaf",
+-    "DoDLKvbdiZuFlQnG",
+-    "DncLKvbdFxuVAcxC",
+-    "EObkKvbdZisHofaf",
+-    "EOcKjvbdJSyBSmYM",
+-    "EPDLKvbdVYgtZkPO",
+-    "EOcKjvbdRbEFMJYk",
+-    "DncLKvbdrEFIonWB",
+-    "DncKjvbdKDJbqJcY",
+-    "EOcLKvbdhfjCxuiu",
+-    "EObjjvbdLLAhWAKZ",
+-    "DoCkKvbdRXNcblID",
+-    "DoDLKvbdcbSmSATm",
+-    "EOcLKvbdwWlAvAuu",
+-    "EObkKvbdiBnbdvpq",
+-    "DoCkKvbdNQXpumgT",
+-    "DncLKvbdkVwOECYX",
+-    "DnbkKvbdfoazwDxI",
+-    "DoDLKvbdbBWFFpPw",
+-    "DoDLKvbdvBDxsPEh",
+-    "EPDKjvbdJqZdoFme",
+-    "DoDLKvbdIryArmXl",
+-    "EPCjjvbdANIZSwZx",
+-    "EPCkKvbdVhYVxGxz",
+-    "DncKjvbdLAjgNCYR",
+-    "DncKjvbdxxIjCQZk",
+-    "DncKjvbdbiNKKewY",
+-    "EPCjjvbdlrZVZsEJ",
+-    "EPDKjvbdIryAsMwl",
+-    "DoCkKvbdtAHRIAAr",
+-    "EPDKjvbdJmAEZfuB",
+-    "EPCkKvbdZjSgogBf",
+-    "DoDLKvbdOXnuzcnU",
+-    "DnbkKvbdehKvRnQg",
+-    "EObjjvbdZyDimbkr",
+-    "DoDKjvbdmajWwoOV",
+-    "EOcKjvbdkMalZeHP",
+-    "EOcKjvbdIjEAJpHE",
+-    "EPCkKvbdDihKVxKA",
+-    "DncKjvbdNddUIiKd",
+-    "EObjjvbdqdFIpOWB",
+-    "DoCkKvbdxnShXsJD",
+-    "DoDLKvbdjmBkzEfo",
+-    "EOcLKvbdatagYLTh",
+-    "DoCjjvbdVhYVxHYz",
+-    "DnbjjvbdJbjDRKDY",
+-    "EPCjjvbdLBLHNCYR",
+-    "DnbjjvbdnGeYNOGy",
+-    "EOcLKvbdUsmTekvK",
+-    "EPCjjvbdtkxXBTaX",
+-    "EPCjjvbdzoPqFCkx",
+-    "DncKjvbdCIjbKhej",
+-    "DncKjvbdZLqdTmkm",
+-    "DoDKjvbdsPunicVf",
+-    "EOcKjvbdmgFXmNgZ",
+-    "EObkKvbdiMFENuCy",
+-    "DoDKjvbdhanbeXRR",
+-    "EObkKvbdACqwiyhp",
+-    "DncKjvbdZisIQHBf",
+-    "EPCjjvbdgQBzwDwh",
+-    "DnbjjvbdyYJJaoyk",
+-    "DoDKjvbdxUldqZMO",
+-    "EObkKvbdkClLQgVH",
+-    "EPCjjvbdZQldiMeR",
+-    "EPDLKvbdZyEKOClS",
+-    "EPDLKvbdcIlikFvx",
+-    "DoDKjvbdrzMQTBHn",
+-    "DnbjjvbdVYgtZkPO",
+-    "DoDLKvbdHEKuiajK",
+-    "EPCkKvbdczZQXxqC",
+-    "DoDKjvbdrDdiQNua",
+-    "DncLKvbdcImKLGWx",
+-    "DoCjjvbdVYgtZkPO",
+-    "EPDLKvbdZnnIeFZj",
+-    "EPDKjvbdMIakqYAS",
+-    "DoCkKvbdSLYfUgLT",
+-    "EPDLKvbdiCObdvpq",
+-    "DnbjjvbdRpUHKFcw",
+-    "DoDLKvbdIHHZyYXg",
+-    "EPCjjvbdypoMhiwA",
+-    "DnbkKvbdCEPaVjMf",
+-    "DnbkKvbderAvzlDP",
+-    "DnbkKvbdZQleImFR",
+-    "EOcKjvbdKRZdneme",
+-    "DoDLKvbdiBnbeXQq",
+-    "DncLKvbdEPDKjvcE",
+-    "EOcLKvbdauCGwkTh",
+-    "DncLKvbdEvZQPmJe",
+-    "EPCkKvbdURQnuVIN",
+-    "DncLKvbdegjvSOQg",
+-    "EPCjjvbdKaKgMawq",
+-    "DnbkKvbdRzKISbvA",
+-    "DncLKvbdiLdcnUcZ",
+-    "EPDLKvbdkDMKpfuH",
+-    "DoDLKvbdRbDdkhyL",
+-    "DnbjjvbdDwxMUUTl",
+-    "DnbkKvbdrpWPKCuf",
+-    "DnbkKvbdNVSqjmAX",
+-    "DoDKjvbdRbDeMIxk",
+-    "EOcLKvbdcyxpXyRC",
+-    "DncLKvbdRMwbYnUz",
+-    "EObjjvbdqlzJxlHi",
+-    "DoCkKvbdJYUCIMQp",
+-    "DncLKvbdLZQjSzuG",
+-    "EOcKjvbdxVNEqYkn",
+-    "DnbkKvbdZoOIeFZj",
+-    "DoCjjvbdBraCtFwS",
+-    "EOcLKvbdliDsqVSB",
+-    "EPCkKvbdeATqNXif",
+-    "DncLKvbdkMbLydgP",
+-    "EObjjvbdZxdJmbkr",
+-    "DoCjjvbdraellHLZ",
+-    "EObkKvbduDCuWvPP",
+-    "DoCkKvbdpstGrSLU",
+-    "DoCjjvbdLGFgbBQu",
+-    "DnbkKvbdhtzFWquC",
+-    "EObjjvbdoAKztHdO",
+-    "EPDLKvbdatafxKtI",
+-    "EPDKjvbdkWXNcaww",
+-    "DoCkKvbdwkXEHzzG",
+-    "EObkKvbdmgEwmNgZ",
+-    "DncKjvbdBiLCLJFj",
+-    "DoCjjvbdeOdsKssr",
+-    "EOcLKvbdfILWSORH",
+-    "EObkKvbdCDpAujMf",
+-    "EPDKjvbdKDKDQibx",
+-    "DoDKjvbdVUMtGLuj",
+-    "EObkKvbdrXQMCiYq",
+-    "DncKjvbdePEsLTtS",
+-    "DncLKvbdDxYLtUTl",
+-    "EPCkKvbdGYuVBEYC",
+-    "DncLKvbdNeEUIiKd",
+-    "EPCkKvbdpxoIHRDx",
+-    "EObjjvbdFkEsDHlu",
+-    "EObjjvbdssSSxzFD",
+-    "DoCkKvbdUtNTfMVj",
+-    "DnbjjvbdJcKDRKDY",
+-    "DncKjvbdqiAKEmOe",
+-    "DoDKjvbdtlXwAtBX",
+-    "DnbkKvbdxmsIYTIc",
+-    "EObkKvbdLrXMzUpz",
+-    "DoCjjvbdkxsSSxft",
+-    "DncKjvbdQlwaxnUz",
+-    "EObkKvbdjhGlFfNk",
+-    "EPCkKvbdxsNhmRag",
+-    "DoDLKvbdMfcPmQUk",
+-    "DoDKjvbdQvnEDLhD",
+-    "EObjjvbdVgxVxHYz",
+-    "DoDLKvbdlrYtyrdJ",
+-    "DoCjjvbdezvYeIsw",
+-    "DncLKvbdNddTiIjd",
+-    "EPDLKvbdGGJrNiUR",
+-    "EPDLKvbdRzJhTDWA",
+-    "EPCjjvbdvvkaWBVu",
+-    "EOcKjvbdRXNdCkgc",
+-    "EOcKjvbdQZNAHTSK",
+-    "EPCkKvbdsCGNLfkZ",
+-    "EOcLKvbdDwwktTsl",
+-    "EOcLKvbdqlzJyLgi",
+-    "EOcLKvbdxsNiMqag",
+-    "EOcLKvbdhzVFlROG",
+-    "EOcKjvbdEztRFMCi",
+-    "DnbkKvbdqiAJdmPF",
+-    "EPDLKvbdjcMKqGtg",
+-    "EObkKvbdTlWOaWOi",
+-    "EPDLKvbdURRPUuHm",
+-    "DoDKjvbdelfWgNKL",
+-    "EOcLKvbdGAnqZJzm",
+-    "EObjjvbdGZUuAdXb",
+-    "DoDLKvbduLwwAtAw",
+-    "DoCjjvbdZjTIQGbG",
+-    "EPCjjvbdRNXbYnUz",
+-    "EPDLKvbdiLeENtby",
+-    "EObjjvbdMowpunGs",
+-    "EOcKjvbdbiNJjevx",
+-    "DoDKjvbdEYYLstTl",
+-    "DoDLKvbdqUTfrRjt",
+-    "DoDKjvbdbsCkUEJa",
+-    "DoDKjvbdXsMBNUPY",
+-    "EPCjjvbdRNXaxnUz",
+-    "DoDLKvbdNGcQNQUk",
+-    "DnbjjvbdEARiMywX",
+-    "EPDKjvbdSKxfUfkT",
+-    "DncKjvbdhtyeXRtb",
+-    "DncKjvbdZLqcsnLm",
+-    "EObkKvbdZnmheEzK",
+-    "EObjjvbdtbcUvuno",
+-    "DnbjjvbdrzMQTBHn",
+-    "DnbjjvbdDwwktTsl",
+-    "EPDKjvbdkxsSTYgU",
+-    "DoDKjvbdIryArlxM",
+-    "DoDKjvbdnBivxOnV",
+-    "DoDKjvbdeATplwif",
+-    "EOcLKvbdKeegbApu",
+-    "EPCjjvbdMgDQMotk",
+-    "DoCjjvbduCbtwWOo",
+-    "DnbkKvbdyNsHwrhc",
+-    "DnbkKvbdtvNxJpsA",
+-    "EOcLKvbdqAheAWgd",
+-    "DoCkKvbdURQoUtgm",
+-    "EOcKjvbdqceIpOWB",
+-    "DoCkKvbdVwIwudFH",
+-    "DnbkKvbdbLMFnmcA",
+-    "EOcLKvbdZjTHpHBf",
+-    "EOcKjvbdRXNdCkhD",
+-    "EPDLKvbdiHJcZViu",
+-    "DoCjjvbdxxIjCPzL",
+-    "DnbkKvbdBcpBWJmG",
+-    "EPCkKvbdZyEKOCkr",
+-    "EPDKjvbdOTUWHFVQ",
+-    "DoCjjvbdIGgZxwwg",
+-    "EPDLKvbdFjeSbhMu",
+-    "EPDLKvbdhgKCxvJu",
+-    "EOcLKvbdNsUWGdtp",
+-    "EPDKjvbduVnXipsA",
+-    "DncLKvbdGYuVBEXb",
+-    "EPDLKvbdZtIhyESn",
+-    "DoDKjvbdZxdJmcLr",
+-    "DoCjjvbdUsltGLuj",
+-    "DoDKjvbdDoDLKvbd",
+-    "DncLKvbdrDdhpNvB",
+-    "EPDLKvbdKCjDRJbx",
+-    "DoDLKvbdxLWdHzyf",
+-    "EObkKvbdrzMQTAhO",
+-    "EOcLKvbdOFDtJJKd",
+-    "EPCkKvbdrSVKmjaN",
+-    "EOcKjvbdWWiYVdEg",
+-    "EOcKjvbdWWhwvDdg",
+-    "DncKjvbdpstHRqjt",
+-    "EPCkKvbdKWVFceGi",
+-    "DoCkKvbdZjShPfbG",
+-    "DoCkKvbdSxKlNzkY",
+-    "EPDLKvbdIwtCHkqQ",
+-    "EOcKjvbdsCGNLgLZ",
+-    "DncKjvbdzaAOfgCM",
+-    "DoDLKvbdxmrhYSiD",
+-    "DncLKvbdfMfWgMjL",
+-    "EPDKjvbdqFdEsuaI",
+-    "EOcLKvbdiLeDnUcZ",
+-    "DoCjjvbdKVuFceHJ",

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210282120.q9SLKS5x001729>